All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:38,1
    - Dst: PythonInputStream*::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:40,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:41,1
    - Dst: std::string*::append
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:42,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:42,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:42,1
    - Dst: PythonInputStream*::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:43,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input_stream
    - contents
    argTypes:
    - PythonInputStream*
    - std::string*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: crypto::tink::ReadTillEnd
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    - auto::status
    - auto::ok
    - auto::value
    - PythonInputStream*::Next
    - static_cast<const char*>
    - std::string*::clear
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadTillEnd(PythonInputStream* input_stream,\n                         std::string*
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:50,1
    - Dst: absl::make_unique<test::TestReadableObject>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:52,1
    - Dst: std::string::size
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:52,1
    - Dst: absl::make_unique<PythonInputStream>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:53,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:53,1
    - Dst: crypto::tink::ReadTillEnd
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:55,1
    - Dst: auto::get
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:56,1
    - Dst: auto::code
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:57,1
    - Dst: auto::message
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ReadTillEnd
    - EXPECT_EQ
    - auto::message
    - std::move
    - absl::make_unique<PythonInputStream>
    - absl::make_unique<test::TestReadableObject>
    - auto::get
    - std::string::size
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(PythonInputStreamTest, testReadingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:65,1
    - Dst: absl::make_unique<test::TestReadableObject>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:67,1
    - Dst: std::string::size
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:67,1
    - Dst: absl::make_unique<PythonInputStream>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:69,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:69,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:72,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:72,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:73,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:74,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:74,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:75,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::string::substr
    - std::move
    - static_cast<const char*>
    - absl::make_unique<PythonInputStream>
    - auto::value
    - absl::make_unique<test::TestReadableObject>
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(PythonInputStreamTest, testCustomBufferSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:83,1
    - Dst: absl::make_unique<test::TestReadableObject>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:85,1
    - Dst: std::string::size
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:85,1
    - Dst: absl::make_unique<PythonInputStream>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:89,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:90,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:90,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:92,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:92,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:93,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:94,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:95,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:95,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:96,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:96,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:101,1
    - Dst: std::max
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:103,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:103,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:107,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:109,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:110,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:110,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:111,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:111,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:116,1
    - Dst: std::max
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:118,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:118,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:123,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:123,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:125,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:126,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:126,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:127,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:127,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:131,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:131,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:133,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:134,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:134,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:135,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:135,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:141,1
    - Dst: std::min
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:142,1
    - Dst: std::max
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:144,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:144,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:150,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:151,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:152,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:152,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:153,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/python_input_stream_test.cc:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::string::substr
    - std::move
    - static_cast<const char*>
    - absl::make_unique<PythonInputStream>
    - std::max
    - auto::value
    - absl::make_unique<test::TestReadableObject>
    - auto::Position
    - auto::BackUp
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST(PythonInputStreamTest, testBackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PythonOutputStream*::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:49,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:49,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:50,1
    - Dst: std::min
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:51,1
    - Dst: memcpy
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:52,1
    - Dst: absl::string_view::data
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:52,1
    - Dst: PythonOutputStream*::BackUp
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:57,1
    - Dst: PythonOutputStream*::Close
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - output_stream
    - contents
    argTypes:
    - PythonOutputStream*
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 60
    functionName: crypto::tink::WriteToStream
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - PythonOutputStream*::BackUp
    - PythonOutputStream*::Next
    - auto::value
    - PythonOutputStream*::Close
    - memcpy
    - absl::string_view::data
    - std::min
    linkageType: ''
    returnType: util::Status
    signature: "util::Status WriteToStream(PythonOutputStream* output_stream,\n                           absl::string_view
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:64,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:64,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:65,1
    - Dst: absl::make_unique<test::TestWritableObject>
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:66,1
    - Dst: auto::GetBuffer
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:67,1
    - Dst: absl::make_unique<PythonOutputStream>
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:69,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:69,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:70,1
    - Dst: auto::get
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:70,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:71,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:72,1
    - Dst: std::string*::size
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - absl::make_unique<test::TestWritableObject>
    - EXPECT_EQ
    - std::move
    - auto::GetBuffer
    - std::string*::size
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::WriteToStream
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<PythonOutputStream>
    linkageType: ''
    returnType: void
    signature: void TEST(PythonOutputStreamTest, WritingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:79,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:81,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:81,1
    - Dst: absl::make_unique<test::TestWritableObject>
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:82,1
    - Dst: auto::GetBuffer
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:83,1
    - Dst: absl::make_unique<PythonOutputStream>
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:85,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:85,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:88,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:89,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:89,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:90,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:91,1
    - Dst: auto::get
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:92,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:93,1
    - Dst: std::string*::size
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - absl::make_unique<test::TestWritableObject>
    - EXPECT_EQ
    - std::move
    - auto::GetBuffer
    - auto::value
    - std::string*::size
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - auto::BackUp
    - crypto::tink::WriteToStream
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    - absl::make_unique<PythonOutputStream>
    linkageType: ''
    returnType: void
    signature: void TEST(PythonOutputStreamTest, CustomBufferSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:102,1
    - Dst: absl::make_unique<test::TestWritableObject>
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:103,1
    - Dst: auto::GetBuffer
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:104,1
    - Dst: absl::make_unique<PythonOutputStream>
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:108,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:109,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:109,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:111,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:112,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:113,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:113,1
    - Dst: std::memcpy
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:114,1
    - Dst: std::string::data
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:114,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:119,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:119,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:120,1
    - Dst: std::max
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:122,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:122,1
    - Dst: EXPECT_LT
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:124,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:128,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:128,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:133,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:133,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:134,1
    - Dst: std::max
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:136,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:136,1
    - Dst: EXPECT_LT
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:138,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:138,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:141,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:142,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:142,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:142,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:145,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:147,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:147,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:148,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:149,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:149,1
    - Dst: std::memcpy
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:150,1
    - Dst: std::string::data
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:150,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:156,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:156,1
    - Dst: auto::BackUp
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:157,1
    - Dst: std::min
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:158,1
    - Dst: std::max
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:160,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:164,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:164,1
    - Dst: auto::Next
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:168,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:168,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:169,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:170,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:170,1
    - Dst: std::memcpy
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:171,1
    - Dst: std::string::data
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:171,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:174,1
    - Dst: auto::get
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:175,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:175,1
    - Dst: auto::Position
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:175,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:176,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:177,1
    - Dst: std::string*::size
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/python_output_stream_test.cc:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::GetBuffer
    - auto::Position
    - absl::StrCat
    - crypto::tink::WriteToStream
    - absl::make_unique<test::TestWritableObject>
    - auto::Next
    - absl::make_unique<PythonOutputStream>
    - std::min
    - auto::status
    - std::string::substr
    - auto::BackUp
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_LT
    - EXPECT_EQ
    - std::max
    - std::string*::size
    - std::string::data
    - auto::value
    - auto::get
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(PythonOutputStreamTest, BackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyStreamingAead
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:31,1
    - Dst: absl::make_unique<test::TestWritableObject>
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:33,1
    - Dst: crypto::tink::NewCcEncryptingStream
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:36,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:38,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewCcEncryptingStream
    - auto::status
    - EXPECT_TRUE
    - std::move
    - DummyStreamingAead
    - absl::make_unique<test::TestWritableObject>
    linkageType: ''
    returnType: void
    signature: void TEST(CcStreamingAeadWrappersTest, BasicNewCcEncryptingStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyStreamingAead
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:42,1
    - Dst: absl::make_unique<test::TestReadableObject>
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:44,1
    - Dst: crypto::tink::NewCcDecryptingStream
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:47,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:49,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::NewCcDecryptingStream
    - std::move
    - absl::make_unique<test::TestReadableObject>
    - DummyStreamingAead
    linkageType: ''
    returnType: void
    signature: void TEST(CcStreamingAeadWrappersTest, BasicNewCcDecryptingStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:36,1
    - Dst: auto::write
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:37,1
    - Dst: data
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:37,1
    - Dst: crypto::tink::size
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:37,1
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:38,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:39,1
    - Dst: absl::make_unique<InputStreamAdapter>
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:40,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer_size
    - ' data'
    argTypes:
    - int
    - std::string
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: crypto::tink::GetInputStreamAdapter
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - absl::make_unique<InputStreamAdapter>
    - absl::make_unique<util::IstreamInputStream>
    - std::move
    - auto::write
    - crypto::tink::size
    - data
    linkageType: ''
    returnType: std::unique_ptr<InputStreamAdapter>
    signature: "std::unique_ptr<InputStreamAdapter> GetInputStreamAdapter(\n    int
      buffer_size, const std::string& data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:44,1
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:45,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:46,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:47,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:47,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:48,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - EXPECT_EQ
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, BasicRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:52,1
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:53,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:54,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:55,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:55,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:56,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:56,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:58,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - EXPECT_EQ
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, ReadEOFError)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:62,1
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:63,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:65,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:65,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:66,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:66,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:66,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:67,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:68,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:68,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:69,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:69,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:69,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:70,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:71,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:71,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:72,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:72,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - EXPECT_EQ
    - std::string::substr
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, MultipleRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:79,1
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:80,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:81,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:82,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:82,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:83,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:83,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - EXPECT_EQ
    - std::string::substr
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, OnlyOneNext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:87,1
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:88,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:89,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:90,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:90,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:91,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:91,1
    - Dst: std::string::substr
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - EXPECT_EQ
    - std::string::substr
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, ReadLessThanAvailable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:95,1
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:96,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:98,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:98,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:99,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - EXPECT_EQ
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, ReadMoreThanAvailable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetInputStreamAdapter
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:103,1
    - Dst: auto::Read
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:105,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::GetInputStreamAdapter
    - auto::Read
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(InputStreamAdapterTest, ReadFromEmptyStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/python/tink/cc/test_util.h:39,1
    - Dst: absl::string_view::size
      Src: /src/tink/python/tink/cc/test_util.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: crypto::tink::test::TestWritableObject::Write
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - std::string
    - absl::string_view::size
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> Write(absl::string_view data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/test_util.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: crypto::tink::test::TestWritableObject::Close
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Close() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: crypto::tink::test::TestWritableObject::Read
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> Read(int size) 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: crypto::tink::test::TestWritableObject::GetBuffer
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string * GetBuffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: crypto::tink::test::TestReadableObject::TestReadableObject
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestReadableObject(const std::string& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: crypto::tink::test::TestReadableObject::Write
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> Write(absl::string_view data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/test_util.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: crypto::tink::test::TestReadableObject::Close
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Close() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:71,1
    - Dst: substr
      Src: /src/tink/python/tink/cc/test_util.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: crypto::tink::test::TestReadableObject::Read
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - substr
    - size
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> Read(int size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - streaming_aead_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: crypto::tink::test::DummyStreamingAead::DummyStreamingAead
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyStreamingAead(absl::string_view streaming_aead_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyEncryptingStream>
      Src: /src/tink/python/tink/cc/test_util.h:98,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:99,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/test_util.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_destination
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::OutputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: crypto::tink::test::DummyStreamingAead::NewEncryptingStream
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - absl::StrCat
    - absl::make_unique<DummyEncryptingStream>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::OutputStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::OutputStream>>
      NewEncryptingStream(\n      std::unique_ptr<crypto::tink::OutputStream> ciphertext_destination,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyDecryptingStream>
      Src: /src/tink/python/tink/cc/test_util.h:107,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:108,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/test_util.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: crypto::tink::test::DummyStreamingAead::NewDecryptingStream
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<DummyDecryptingStream>
    - absl::StrCat
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>
      NewDecryptingStream(\n      std::unique_ptr<crypto::tink::InputStream> ciphertext_source,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyDecryptingRandomAccessStream>
      Src: /src/tink/python/tink/cc/test_util.h:117,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:118,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/test_util.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: crypto::tink::test::DummyStreamingAead::NewDecryptingRandomAccessStream
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyDecryptingRandomAccessStream>
    - std::move
    - absl::StrCat
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>"
    signature: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>
      NewDecryptingRandomAccessStream(\n      std::unique_ptr<crypto::tink::RandomAccessStream>
      ciphertext_source,\n      absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:129,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/test_util.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ct_dest
    - header
    argTypes:
    - std::unique_ptr<crypto::tink::OutputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::DummyEncryptingStream
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: "void DummyEncryptingStream(std::unique_ptr<crypto::tink::OutputStream>
      ct_dest,\n                          absl::string_view header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
      Src: /src/tink/python/tink/cc/test_util.h:135,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/test_util.h:136,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/test_util.h:137,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/test_util.h:140,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:142,1
    - Dst: memcpy
      Src: /src/tink/python/tink/cc/test_util.h:144,1
    - Dst: data
      Src: /src/tink/python/tink/cc/test_util.h:144,1
    - Dst: static_cast<int>
      Src: /src/tink/python/tink/cc/test_util.h:144,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:144,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
      Src: /src/tink/python/tink/cc/test_util.h:145,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/test_util.h:145,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:145,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:148,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
      Src: /src/tink/python/tink/cc/test_util.h:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - ok
    - auto::value
    - static_cast<int>
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    - data
    - memcpy
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(void** data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:153,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
      Src: /src/tink/python/tink/cc/test_util.h:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 2
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:159,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
      Src: /src/tink/python/tink/cc/test_util.h:160,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 1
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
      Src: /src/tink/python/tink/cc/test_util.h:168,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/test_util.h:169,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
      Src: /src/tink/python/tink/cc/test_util.h:170,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/test_util.h:170,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/test_util.h:172,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
      Src: /src/tink/python/tink/cc/test_util.h:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 177
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
    - auto::value
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    linkageType: ''
    returnType: util::Status
    signature: util::Status Close() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:194,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/test_util.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ct_source
    - expected_header
    argTypes:
    - std::unique_ptr<crypto::tink::InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::DummyDecryptingStream
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: "void DummyDecryptingStream(std::unique_ptr<crypto::tink::InputStream>
      ct_source,\n                          absl::string_view expected_header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
      Src: /src/tink/python/tink/cc/test_util.h:200,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/test_util.h:201,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/test_util.h:202,1
    - Dst: code
      Src: /src/tink/python/tink/cc/test_util.h:203,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:204,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/test_util.h:209,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:209,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:211,1
    - Dst: memcmp
      Src: /src/tink/python/tink/cc/test_util.h:212,1
    - Dst: data
      Src: /src/tink/python/tink/cc/test_util.h:212,1
    - Dst: static_cast<int>
      Src: /src/tink/python/tink/cc/test_util.h:213,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:213,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:214,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:217,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
      Src: /src/tink/python/tink/cc/test_util.h:218,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/test_util.h:218,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:218,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:221,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
      Src: /src/tink/python/tink/cc/test_util.h:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 223
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 223
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
    - ok
    - auto::value
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
    - static_cast<int>
    - data
    - memcmp
    - code
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(const void** data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:226,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
      Src: /src/tink/python/tink/cc/test_util.h:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 2
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:232,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
      Src: /src/tink/python/tink/cc/test_util.h:233,1
    - Dst: size
      Src: /src/tink/python/tink/cc/test_util.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 1
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:256,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ct_source
    - expected_header
    argTypes:
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::DummyDecryptingRandomAccessStream
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DummyDecryptingRandomAccessStream(\n        std::unique_ptr<crypto::tink::RandomAccessStream>
      ct_source,\n        absl::string_view expected_header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/tink/python/tink/cc/test_util.h:265,1
    - Dst: Initialize
      Src: /src/tink/python/tink/cc/test_util.h:265,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:266,1
    - Dst: crypto::tink::util::Buffer*::set_size
      Src: /src/tink/python/tink/cc/test_util.h:268,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/test_util.h:269,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
      Src: /src/tink/python/tink/cc/test_util.h:270,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - crypto::tink::util::Buffer*
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 1
    functionsReached:
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
    - auto::ok
    - ok
    - crypto::tink::util::Buffer*::set_size
    - Initialize
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    - code
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status PRead(\n        int64_t position, int count,\n
      \       crypto::tink::util::Buffer* dest_buffer) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/tink/python/tink/cc/test_util.h:277,1
    - Dst: Initialize
      Src: /src/tink/python/tink/cc/test_util.h:277,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:278,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:280,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/test_util.h:281,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/test_util.h:281,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/test_util.h:282,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:282,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 2
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - ok
    - auto::value
    - Initialize
    - code
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: util::StatusOr<int64_t> size() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/python/tink/cc/test_util.h:289,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/python/tink/cc/test_util.h:289,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:289,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
      Src: /src/tink/python/tink/cc/test_util.h:290,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:290,1
    - Dst: auto::get
      Src: /src/tink/python/tink/cc/test_util.h:290,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/test_util.h:291,1
    - Dst: code
      Src: /src/tink/python/tink/cc/test_util.h:292,1
    - Dst: auto::size
      Src: /src/tink/python/tink/cc/test_util.h:293,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:293,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:294,1
    - Dst: memcmp
      Src: /src/tink/python/tink/cc/test_util.h:296,1
    - Dst: auto::get_mem_block
      Src: /src/tink/python/tink/cc/test_util.h:296,1
    - Dst: data
      Src: /src/tink/python/tink/cc/test_util.h:296,1
    - Dst: static_cast<int>
      Src: /src/tink/python/tink/cc/test_util.h:297,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/python/tink/cc/test_util.h:297,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/test_util.h:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tink/python/tink/cc/test_util.h
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
    - static_cast<int>
    - auto::size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::util::Buffer::New
    - ok
    - auto::get
    - memcmp
    - data
    - code
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(status_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: ~PythonFileObjectAdapter()
    functionSourceFile: /src/tink/python/tink/cc/python_file_object_adapter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PythonFileObjectAdapter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Registry::get_key_manager<P>
      Src: /src/tink/python/tink/cc/cc_key_manager.h:50,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/cc_key_manager.h:51,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/cc_key_manager.h:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/cc_key_manager.h:53,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/cc_key_manager.h:54,1
    - Dst: absl::make_unique<CcKeyManager<P>>
      Src: /src/tink/python/tink/cc/cc_key_manager.h:57,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/cc_key_manager.h:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' type_url'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: crypto::tink::CcKeyManager::GetFromCcRegistry
    functionSourceFile: /src/tink/python/tink/cc/cc_key_manager.h
    functionUses: 0
    functionsReached:
    - Registry::get_key_manager<P>
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - absl::make_unique<CcKeyManager<P>>
    - TinkException
    - auto::value
    - absl::StrCat
    linkageType: ''
    returnType: std::unique_ptr<CcKeyManager<P>>
    signature: "std::unique_ptr<CcKeyManager<P>> GetFromCcRegistry(\n      const std::string&
      type_url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_manager
    argTypes:
    - KeyManager<P>*
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: crypto::tink::CcKeyManager::CcKeyManager
    functionSourceFile: /src/tink/python/tink/cc/cc_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CcKeyManager(const KeyManager<P>* key_manager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyData::ParseFromString
      Src: /src/tink/python/tink/cc/cc_key_manager.h:67,1
    - Dst: crypto::tink::CcKeyManager::GetPrimitive
      Src: /src/tink/python/tink/cc/cc_key_manager.h:69,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/cc_key_manager.h:70,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/cc_key_manager.h:71,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/cc_key_manager.h:71,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_key_manager.h:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' serialized_key_data'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: crypto::tink::CcKeyManager::GetPrimitive
    functionSourceFile: /src/tink/python/tink/cc/cc_key_manager.h
    functionUses: 1
    functionsReached:
    - crypto::tink::CcKeyManager::GetPrimitive
    - util::StatusOr::status
    - std::move
    - util::StatusOr::ok
    - TinkException
    - google::crypto::tink::KeyData::ParseFromString
    linkageType: ''
    returnType: std::unique_ptr<P>
    signature: "std::unique_ptr<P> GetPrimitive(\n      const std::string& serialized_key_data)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyTemplate::ParseFromString
      Src: /src/tink/python/tink/cc/cc_key_manager.h:79,1
    - Dst: get_key_type
      Src: /src/tink/python/tink/cc/cc_key_manager.h:80,1
    - Dst: google::crypto::tink::KeyTemplate::type_url
      Src: /src/tink/python/tink/cc/cc_key_manager.h:80,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/cc_key_manager.h:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/cc_key_manager.h:82,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/cc_key_manager.h:83,1
    - Dst: google::crypto::tink::KeyTemplate::type_url
      Src: /src/tink/python/tink/cc/cc_key_manager.h:83,1
    - Dst: get_key_factory
      Src: /src/tink/python/tink/cc/cc_key_manager.h:88,1
    - Dst: google::crypto::tink::KeyTemplate::value
      Src: /src/tink/python/tink/cc/cc_key_manager.h:88,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/cc_key_manager.h:89,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/cc_key_manager.h:90,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/cc_key_manager.h:90,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
      Src: /src/tink/python/tink/cc/cc_key_manager.h:92,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/cc_key_manager.h:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' serialized_key_template'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: crypto::tink::CcKeyManager::NewKeyData
    functionSourceFile: /src/tink/python/tink/cc/cc_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
    - auto::ok
    - google::crypto::tink::KeyTemplate::type_url
    - crypto::tink::internal::ExtractStatus
    - TinkException
    - get_key_factory
    - auto::value
    - absl::StrCat
    - google::crypto::tink::KeyTemplate::ParseFromString
    - get_key_type
    - google::crypto::tink::KeyTemplate::value
    linkageType: ''
    returnType: pybind11::bytes
    signature: pybind11::bytes NewKeyData(const std::string& serialized_key_template)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const PrivateKeyFactory*>
      Src: /src/tink/python/tink/cc/cc_key_manager.h:98,1
    - Dst: get_key_factory
      Src: /src/tink/python/tink/cc/cc_key_manager.h:99,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/cc_key_manager.h:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/cc_key_manager.h:101,1
    - Dst: absl::StrCat
      Src: /src/tink/python/tink/cc/cc_key_manager.h:103,1
    - Dst: get_key_type
      Src: /src/tink/python/tink/cc/cc_key_manager.h:103,1
    - Dst: google::crypto::tink::KeyData::ParseFromString
      Src: /src/tink/python/tink/cc/cc_key_manager.h:109,1
    - Dst: PrivateKeyFactory*::GetPublicKeyData
      Src: /src/tink/python/tink/cc/cc_key_manager.h:110,1
    - Dst: google::crypto::tink::KeyData::value
      Src: /src/tink/python/tink/cc/cc_key_manager.h:110,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/cc_key_manager.h:111,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/cc_key_manager.h:112,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/cc_key_manager.h:112,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
      Src: /src/tink/python/tink/cc/cc_key_manager.h:114,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/cc_key_manager.h:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ' serialized_private_key_data'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: crypto::tink::CcKeyManager::GetPublicKeyData
    functionSourceFile: /src/tink/python/tink/cc/cc_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::KeyData::value
    - dynamic_cast<const PrivateKeyFactory*>
    - get_key_factory
    - TinkException
    - auto::value
    - absl::StrCat
    - PrivateKeyFactory*::GetPublicKeyData
    - get_key_type
    - google::crypto::tink::KeyData::ParseFromString
    linkageType: ''
    returnType: pybind11::bytes
    signature: "pybind11::bytes GetPublicKeyData(\n      const std::string& serialized_private_key_data)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/python/tink/cc/cc_key_manager.h: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: crypto::tink::CcKeyManager::KeyType
    functionSourceFile: /src/tink/python/tink/cc/cc_key_manager.h
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string KeyType() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::TinkConfig::Register
      Src: /src/tink/python/tink/cc/cc_tink_config.cc:29,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/cc_tink_config.cc:30,1
    - Dst: pybind11::google_tink::TinkException::TinkException
      Src: /src/tink/python/tink/cc/cc_tink_config.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: crypto::tink::CcTinkConfigRegister
    functionSourceFile: /src/tink/python/tink/cc/cc_tink_config.cc
    functionUses: 0
    functionsReached:
    - pybind11::google_tink::TinkException::TinkException
    - crypto::tink::TinkConfig::Register
    - util::Status::ok
    linkageType: ''
    returnType: void
    signature: void CcTinkConfigRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PythonOutputStream>
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:33,1
    - Dst: StreamingAead*::NewEncryptingStream
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:37,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:37,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:38,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:39,1
    - Dst: absl::make_unique<OutputStreamAdapter>
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:43,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:43,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - streaming_aead
    - aad
    - ciphertext_destination
    argTypes:
    - StreamingAead*
    - absl::string_view
    - std::shared_ptr<PythonFileObjectAdapter>
    constantsTouched: []
    func_position:
      end: 44
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 44
    functionName: crypto::tink::NewCcEncryptingStream
    functionSourceFile: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - absl::make_unique<OutputStreamAdapter>
    - std::move
    - auto::value
    - absl::make_unique<PythonOutputStream>
    - StreamingAead*::NewEncryptingStream
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<OutputStreamAdapter>>
    signature: "util::StatusOr<std::unique_ptr<OutputStreamAdapter>> NewCcEncryptingStream(\n
      \   StreamingAead* streaming_aead, absl::string_view aad,\n    std::shared_ptr<PythonFileObjectAdapter>
      ciphertext_destination)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PythonInputStream>
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:51,1
    - Dst: StreamingAead*::NewDecryptingStream
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:54,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:54,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:55,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:56,1
    - Dst: absl::make_unique<InputStreamAdapter>
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:60,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:60,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - streaming_aead
    - aad
    - ciphertext_source
    argTypes:
    - StreamingAead*
    - absl::string_view
    - std::shared_ptr<PythonFileObjectAdapter>
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: crypto::tink::NewCcDecryptingStream
    functionSourceFile: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - absl::make_unique<InputStreamAdapter>
    - auto::ok
    - std::move
    - absl::make_unique<PythonInputStream>
    - auto::value
    - StreamingAead*::NewDecryptingStream
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<InputStreamAdapter>>
    signature: "util::StatusOr<std::unique_ptr<InputStreamAdapter>> NewCcDecryptingStream(\n
      \   StreamingAead* streaming_aead, absl::string_view aad,\n    std::shared_ptr<PythonFileObjectAdapter>
      ciphertext_source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:31,1
    - Dst: Next
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:32,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:33,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:33,1
    - Dst: memcpy
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:37,1
    - Dst: absl::string_view::data
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:37,1
    - Dst: BackUp
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: crypto::tink::OutputStreamAdapter::Write
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - absl::string_view::size
    - auto::ok
    - Next
    - absl::string_view::data
    - BackUp
    - memcpy
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: util::StatusOr<int64_t> OutputStreamAdapter::Write(absl::string_view
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::OutputStreamAdapter::Close
      Src: /src/tink/python/tink/cc/output_stream_adapter.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::OutputStreamAdapter::Close
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::OutputStreamAdapter::Close
    linkageType: ''
    returnType: util::Status
    signature: util::Status OutputStreamAdapter::Close()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/python/tink/cc/python_output_stream.cc:37,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/python_output_stream.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - adapter
    - buffer_size
    argTypes:
    - std::shared_ptr<PythonFileObjectAdapter>
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: crypto::tink::PythonOutputStream::PythonOutputStream
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - crypto::tink::subtle::ResizeStringUninitialized
    linkageType: ''
    returnType: void
    signature: "void PythonOutputStream::PythonOutputStream(\n    std::shared_ptr<PythonFileObjectAdapter>
      adapter, int buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/python_output_stream.cc:46,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:51,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:52,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:54,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:58,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:62,1
    - Dst: Write
      Src: /src/tink/python/tink/cc/python_output_stream.cc:71,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream.cc:72,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream.cc:72,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:77,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:78,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_output_stream.cc:79,1
    - Dst: std::memmove
      Src: /src/tink/python/tink/cc/python_output_stream.cc:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 86
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 86
    functionName: crypto::tink::PythonOutputStream::Next
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::memmove
    - auto::ok
    - size
    - ok
    - Write
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> PythonOutputStream::Next(void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/python_output_stream.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: crypto::tink::PythonOutputStream::BackUp
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void PythonOutputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/tink/python/tink/cc/python_output_stream.cc: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: PythonOutputStream::~PythonOutputStream()
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void PythonOutputStream::~PythonOutputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/python_output_stream.cc:98,1
    - Dst: Write
      Src: /src/tink/python/tink/cc/python_output_stream.cc:103,1
    - Dst: absl::string_view
      Src: /src/tink/python/tink/cc/python_output_stream.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_output_stream.cc:105,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_output_stream.cc:105,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_output_stream.cc:106,1
    - Dst: crypto::tink::PythonOutputStream::Close
      Src: /src/tink/python/tink/cc/python_output_stream.cc:109,1
    - Dst: ok
      Src: /src/tink/python/tink/cc/python_output_stream.cc:110,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/python_output_stream.cc:112,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/python_output_stream.cc:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: crypto::tink::PythonOutputStream::Close
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream.cc
    functionUses: 1
    functionsReached:
    - absl::string_view
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - ok
    - auto::value
    - Write
    - crypto::tink::util::OkStatus
    - crypto::tink::PythonOutputStream::Close
    linkageType: ''
    returnType: util::Status
    signature: util::Status PythonOutputStream::Close()
  - 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: crypto::tink::PythonOutputStream::Position
    functionSourceFile: /src/tink/python/tink/cc/python_output_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t PythonOutputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:38,1
    - Dst: auto::rdbuf
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:40,1
    - Dst: absl::make_unique<util::OstreamOutputStream>
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:41,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:42,1
    - Dst: absl::make_unique<OutputStreamAdapter>
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:43,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer_size
    - buffer_ref
    argTypes:
    - int
    - std::stringbuf**
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: crypto::tink::GetOutputStreamAdapter
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::rdbuf
    - absl::make_unique<std::stringstream>
    - absl::make_unique<OutputStreamAdapter>
    - absl::make_unique<util::OstreamOutputStream>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<OutputStreamAdapter>
    signature: "std::unique_ptr<OutputStreamAdapter> GetOutputStreamAdapter(\n    int
      buffer_size, std::stringbuf** buffer_ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetOutputStreamAdapter
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:48,1
    - Dst: auto::Write
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:49,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:50,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:51,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:52,1
    - Dst: auto::Close
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:53,1
    - Dst: std::stringbuf*::str
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::stringbuf*::str
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - auto::Close
    - crypto::tink::GetOutputStreamAdapter
    linkageType: ''
    returnType: void
    signature: void TEST(OutputStreamAdapterTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetOutputStreamAdapter
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:58,1
    - Dst: auto::Write
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:60,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:61,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:61,1
    - Dst: auto::Write
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:62,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:63,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:64,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:64,1
    - Dst: auto::Write
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:65,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:66,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:67,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:68,1
    - Dst: auto::Close
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:69,1
    - Dst: std::stringbuf*::str
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::stringbuf*::str
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - auto::Close
    - crypto::tink::GetOutputStreamAdapter
    linkageType: ''
    returnType: void
    signature: void TEST(OutputStreamAdapterTest, MultipleWrite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetOutputStreamAdapter
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:74,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:75,1
    - Dst: auto::Close
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:75,1
    - Dst: auto::Write
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:77,1
    - Dst: auto::code
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:78,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:78,1
    - Dst: auto::message
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:78,1
    - Dst: testing::HasSubstr
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_EQ
    - testing::HasSubstr
    - auto::Write
    - EXPECT_THAT
    - ASSERT_TRUE
    - auto::code
    - auto::message
    - auto::Close
    - crypto::tink::GetOutputStreamAdapter
    linkageType: ''
    returnType: void
    signature: void TEST(OutputStreamAdapterTest, WriteAfterClose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetOutputStreamAdapter
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:86,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:87,1
    - Dst: auto::Write
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:89,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:90,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:91,1
    - Dst: auto::Close
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:92,1
    - Dst: std::stringbuf*::str
      Src: /src/tink/python/tink/cc/output_stream_adapter_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - EXPECT_EQ
    - std::stringbuf*::str
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Close
    - crypto::tink::GetOutputStreamAdapter
    linkageType: ''
    returnType: void
    signature: void TEST(OutputStreamAdapterTest, MultipleNext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/python/tink/cc/cc_hpke_config.cc: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: crypto::tink::CcHpkeConfigRegister
    functionSourceFile: /src/tink/python/tink/cc/cc_hpke_config.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterHpke
    linkageType: ''
    returnType: util::Status
    signature: util::Status CcHpkeConfigRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:31,1
    - Dst: absl::make_unique<jwt_internal::RawJwtHmacKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:32,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:33,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:36,1
    - Dst: absl::make_unique<jwt_internal::RawJwtEcdsaSignKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:37,1
    - Dst: absl::make_unique<jwt_internal::RawJwtEcdsaVerifyKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:39,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:42,1
    - Dst: absl::make_unique<RawJwtRsaSsaPkcs1SignKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:43,1
    - Dst: absl::make_unique<RawJwtRsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:44,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:45,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:48,1
    - Dst: absl::make_unique<RawJwtRsaSsaPssSignKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:49,1
    - Dst: absl::make_unique<RawJwtRsaSsaPssVerifyKeyManager>
      Src: /src/tink/python/tink/cc/cc_jwt_config.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 51
    functionName: crypto::tink::CcJwtConfigRegister
    functionSourceFile: /src/tink/python/tink/cc/cc_jwt_config.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - util::Status::ok
    - absl::make_unique<jwt_internal::RawJwtEcdsaSignKeyManager>
    - absl::make_unique<jwt_internal::RawJwtEcdsaVerifyKeyManager>
    - absl::make_unique<RawJwtRsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RawJwtRsaSsaPssVerifyKeyManager>
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - absl::make_unique<jwt_internal::RawJwtHmacKeyManager>
    - absl::make_unique<RawJwtRsaSsaPssSignKeyManager>
    - absl::make_unique<RawJwtRsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status CcJwtConfigRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/python/tink/cc/input_stream_adapter.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::unique_ptr<InputStream>
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: crypto::tink::InputStreamAdapter::InputStreamAdapter
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void InputStreamAdapter(std::unique_ptr<InputStream> stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/tink/python/tink/cc/python_input_stream.cc:38,1
    - Dst: absl::StrContains
      Src: /src/tink/python/tink/cc/python_input_stream.cc:39,1
    - Dst: message
      Src: /src/tink/python/tink/cc/python_input_stream.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - util::Status
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: crypto::tink::is_eof
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream.cc
    functionUses: 0
    functionsReached:
    - absl::StrContains
    - message
    - code
    linkageType: ''
    returnType: bool
    signature: bool is_eof(const util::Status& status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/python/tink/cc/python_input_stream.cc:51,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/python/tink/cc/python_input_stream.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - adapter
    - buffer_size
    argTypes:
    - std::shared_ptr<PythonFileObjectAdapter>
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: crypto::tink::PythonInputStream::PythonInputStream
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - crypto::tink::subtle::ResizeStringUninitialized
    linkageType: ''
    returnType: void
    signature: "void PythonInputStream::PythonInputStream(\n    std::shared_ptr<PythonFileObjectAdapter>
      adapter, int buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/python_input_stream.cc:57,1
    - Dst: Read
      Src: /src/tink/python/tink/cc/python_input_stream.cc:69,1
    - Dst: size
      Src: /src/tink/python/tink/cc/python_input_stream.cc:69,1
    - Dst: is_eof
      Src: /src/tink/python/tink/cc/python_input_stream.cc:70,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/python_input_stream.cc:71,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/python_input_stream.cc:75,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream.cc:76,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/python_input_stream.cc:77,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/python_input_stream.cc:78,1
    - Dst: auto::value
      Src: /src/tink/python/tink/cc/python_input_stream.cc:80,1
    - Dst: replace
      Src: /src/tink/python/tink/cc/python_input_stream.cc:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: crypto::tink::PythonInputStream::Next
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - replace
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - ok
    - auto::value
    - is_eof
    - Read
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> PythonInputStream::Next(const void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/python/tink/cc/python_input_stream.cc:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: crypto::tink::PythonInputStream::BackUp
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void PythonInputStream::BackUp(int count)
  - 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: PythonInputStream::~PythonInputStream()
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PythonInputStream::~PythonInputStream()
  - 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: crypto::tink::PythonInputStream::Position
    functionSourceFile: /src/tink/python/tink/cc/python_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t PythonInputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/python/tink/cc/output_stream_adapter.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stream
    argTypes:
    - std::unique_ptr<OutputStream>
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: crypto::tink::OutputStreamAdapter::OutputStreamAdapter
    functionSourceFile: /src/tink/python/tink/cc/output_stream_adapter.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void OutputStreamAdapter(std::unique_ptr<OutputStream> stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Next
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:32,1
    - Dst: auto::ok
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:33,1
    - Dst: auto::status
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:33,1
    - Dst: BackUp
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:37,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:38,1
    - Dst: absl::string_view
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:39,1
    - Dst: static_cast<const char*>
      Src: /src/tink/python/tink/cc/input_stream_adapter.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: crypto::tink::InputStreamAdapter::Read
    functionSourceFile: /src/tink/python/tink/cc/input_stream_adapter.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - auto::status
    - std::string
    - auto::ok
    - Next
    - static_cast<const char*>
    - BackUp
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> InputStreamAdapter::Read(int64_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<Mac>
      Src: /src/tink/python/tink/cc/pybind/mac.cc:39,1
    - Dst: ComputeMac
      Src: /src/tink/python/tink/cc/pybind/mac.cc:50,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/mac.cc:50,1
    - Dst: StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/mac.cc:51,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/mac.cc:52,1
    - Dst: StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/mac.cc:52,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/mac.cc:54,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/mac.cc:56,1
    - Dst: VerifyMac
      Src: /src/tink/python/tink/cc/pybind/mac.cc:64,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/mac.cc:64,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/mac.cc:64,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/pybind/mac.cc:65,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/mac.cc:66,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/mac.cc:69,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/mac.cc:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 73
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 73
    functionName: crypto::tink::PybindRegisterMac
    functionSourceFile: /src/tink/python/tink/cc/pybind/mac.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - std::string
    - py::arg
    - util::Status::ok
    - ComputeMac
    - std::move
    - StatusOr::status
    - TinkException
    - py::class_<Mac>
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void PybindRegisterMac(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<HybridDecrypt>
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:38,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:44,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:45,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:45,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:46,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:47,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:47,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:49,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:51,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: crypto::tink::PybindRegisterHybridDecrypt
    functionSourceFile: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - std::string
    - util::StatusOr::status
    - py::arg
    - std::move
    - util::StatusOr::ok
    - TinkException
    - py::class_<HybridDecrypt>
    linkageType: ''
    returnType: void
    signature: void PybindRegisterHybridDecrypt(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<py::class_<CcKeyManager<PrimitiveType>>>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:44,1
    - Dst: auto::def_static
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:46,1
    - Dst: auto::def
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:48,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:49,1
    - Dst: auto::def
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:50,1
    - Dst: auto::def
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:51,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ' m'
    - py_class_name
    - py_class_docstring
    - primitive_module_name
    argTypes:
    - pybind11::module
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: crypto::tink::py_thin_wrappers::WrapCcKeyManager
    functionSourceFile: /src/tink/python/tink/cc/pybind/cc_key_manager.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<py::class_<CcKeyManager<PrimitiveType>>>
    - auto::def
    - py::arg
    - auto::def_static
    linkageType: ''
    returnType: std::unique_ptr<pybind11::class_<CcKeyManager<PrimitiveType>>>
    signature: "std::unique_ptr<pybind11::class_<CcKeyManager<PrimitiveType>>> WrapCcKeyManager(\n
      \   pybind11::module& m, const char* py_class_name,\n    const char* py_class_docstring,
      const char* primitive_module_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py_thin_wrappers::WrapCcKeyManager<Aead>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:62,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<DeterministicAead>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:66,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<StreamingAead>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:69,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<HybridDecrypt>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:72,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:76,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<HybridEncrypt>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:77,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<Mac>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:80,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<Prf>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:83,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<PublicKeySign>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:85,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:89,1
    - Dst: py_thin_wrappers::WrapCcKeyManager<PublicKeyVerify>
      Src: /src/tink/python/tink/cc/pybind/cc_key_manager.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: crypto::tink::PybindRegisterCcKeyManager
    functionSourceFile: /src/tink/python/tink/cc/pybind/cc_key_manager.cc
    functionUses: 0
    functionsReached:
    - py_thin_wrappers::WrapCcKeyManager<Mac>
    - py_thin_wrappers::WrapCcKeyManager<HybridDecrypt>
    - py_thin_wrappers::WrapCcKeyManager<HybridEncrypt>
    - py::arg
    - py_thin_wrappers::WrapCcKeyManager<PublicKeyVerify>
    - py_thin_wrappers::WrapCcKeyManager<PublicKeySign>
    - py_thin_wrappers::WrapCcKeyManager<StreamingAead>
    - py_thin_wrappers::WrapCcKeyManager<DeterministicAead>
    - py_thin_wrappers::WrapCcKeyManager<Aead>
    - py_thin_wrappers::WrapCcKeyManager<Prf>
    linkageType: ''
    returnType: void
    signature: void PybindRegisterCcKeyManager(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<DeterministicAead>
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:37,1
    - Dst: EncryptDeterministically
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:64,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:64,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:65,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:66,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:67,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:67,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:69,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:71,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:71,1
    - Dst: DecryptDeterministically
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:78,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:78,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:79,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:80,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:81,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:83,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:85,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/deterministic_aead.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: crypto::tink::PybindRegisterDeterministicAead
    functionSourceFile: /src/tink/python/tink/cc/pybind/deterministic_aead.cc
    functionUses: 0
    functionsReached:
    - EncryptDeterministically
    - std::string
    - util::StatusOr::status
    - py::arg
    - std::move
    - DecryptDeterministically
    - util::StatusOr::ok
    - TinkException
    - py::class_<DeterministicAead>
    linkageType: ''
    returnType: void
    signature: void PybindRegisterDeterministicAead(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<Prf>
      Src: /src/tink/python/tink/cc/pybind/prf.cc:37,1
    - Dst: Compute
      Src: /src/tink/python/tink/cc/pybind/prf.cc:46,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/prf.cc:46,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/prf.cc:47,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/prf.cc:48,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/prf.cc:48,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/prf.cc:50,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/prf.cc:52,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/prf.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 54
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 54
    functionName: crypto::tink::PybindRegisterPrf
    functionSourceFile: /src/tink/python/tink/cc/pybind/prf.cc
    functionUses: 0
    functionsReached:
    - std::string
    - util::StatusOr::status
    - py::arg
    - std::move
    - util::StatusOr::ok
    - TinkException
    - py::class_<Prf>
    - Compute
    linkageType: ''
    returnType: void
    signature: void PybindRegisterPrf(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/python/tink/cc/pybind/import_helper.cc:31,1
    - Dst: absl::StrAppend
      Src: /src/tink/python/tink/cc/pybind/import_helper.cc:32,1
    - Dst: pybind11::module::import
      Src: /src/tink/python/tink/cc/pybind/import_helper.cc:34,1
    - Dst: std::string::c_str
      Src: /src/tink/python/tink/cc/pybind/import_helper.cc:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' relative_import_path'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: crypto::tink::ImportTinkPythonModule
    functionSourceFile: /src/tink/python/tink/cc/pybind/import_helper.cc
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - pybind11::module::import
    - empty
    - absl::StrAppend
    linkageType: ''
    returnType: void
    signature: void ImportTinkPythonModule(const std::string& relative_import_path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: def
      Src: /src/tink/python/tink/cc/pybind/cc_tink_config.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: crypto::tink::PybindRegisterCcTinkConfig
    functionSourceFile: /src/tink/python/tink/cc/pybind/cc_tink_config.cc
    functionUses: 0
    functionsReached:
    - def
    linkageType: ''
    returnType: void
    signature: void PybindRegisterCcTinkConfig(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: def
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:37,1
    - Dst: crypto::tink::NewCcEncryptingStream
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:44,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:44,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:46,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:47,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:47,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:49,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:51,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:51,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:51,1
    - Dst: py::keep_alive<0, 3>
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:53,1
    - Dst: def
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:55,1
    - Dst: crypto::tink::NewCcDecryptingStream
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:62,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:62,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:64,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:65,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:65,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:67,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:69,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:69,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:69,1
    - Dst: py::keep_alive<0, 3>
      Src: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: crypto::tink::PybindRegisterCcStreamingAeadWrappers
    functionSourceFile: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewCcEncryptingStream
    - std::string
    - util::StatusOr::status
    - py::arg
    - crypto::tink::NewCcDecryptingStream
    - std::move
    - py::keep_alive<0, 3>
    - util::StatusOr::ok
    - TinkException
    - def
    linkageType: ''
    returnType: void
    signature: void PybindRegisterCcStreamingAeadWrappers(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<OutputStreamAdapter>
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:36,1
    - Dst: Write
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:40,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:40,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:41,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:42,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:42,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:44,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:46,1
    - Dst: Close
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:48,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:49,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: crypto::tink::PybindRegisterOutputStreamAdapter
    functionSourceFile: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc
    functionUses: 0
    functionsReached:
    - std::string
    - util::StatusOr::status
    - py::arg
    - util::Status::ok
    - py::class_<OutputStreamAdapter>
    - std::move
    - util::StatusOr::ok
    - TinkException
    - Write
    - Close
    linkageType: ''
    returnType: void
    signature: void PybindRegisterOutputStreamAdapter(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: def
      Src: /src/tink/python/tink/cc/pybind/cc_hpke_config.cc:33,1
    - Dst: crypto::tink::CcHpkeConfigRegister
      Src: /src/tink/python/tink/cc/pybind/cc_hpke_config.cc:34,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/python/tink/cc/pybind/cc_hpke_config.cc:35,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/cc_hpke_config.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: crypto::tink::PybindRegisterCcHpkeConfig
    functionSourceFile: /src/tink/python/tink/cc/pybind/cc_hpke_config.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Status::ok
    - TinkException
    - def
    - crypto::tink::CcHpkeConfigRegister
    linkageType: ''
    returnType: void
    signature: void PybindRegisterCcHpkeConfig(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: def
      Src: /src/tink/python/tink/cc/pybind/cc_jwt_config.cc:33,1
    - Dst: crypto::tink::CcJwtConfigRegister
      Src: /src/tink/python/tink/cc/pybind/cc_jwt_config.cc:34,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/pybind/cc_jwt_config.cc:35,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/cc_jwt_config.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: crypto::tink::PybindRegisterCcJwtConfig
    functionSourceFile: /src/tink/python/tink/cc/pybind/cc_jwt_config.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CcJwtConfigRegister
    - TinkException
    - util::Status::ok
    - def
    linkageType: ''
    returnType: void
    signature: void PybindRegisterCcJwtConfig(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::register_exception<pybind11::google_tink::TinkException>
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:46,1
    - Dst: crypto::tink::PybindRegisterCcStreamingAeadWrappers
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:48,1
    - Dst: crypto::tink::PybindRegisterAead
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:49,1
    - Dst: crypto::tink::PybindRegisterHybridEncrypt
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:50,1
    - Dst: crypto::tink::PybindRegisterCcTinkConfig
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:51,1
    - Dst: crypto::tink::PybindRegisterCcHpkeConfig
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:52,1
    - Dst: crypto::tink::PybindRegisterCcJwtConfig
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:53,1
    - Dst: crypto::tink::PybindRegisterStreamingAead
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:54,1
    - Dst: crypto::tink::PybindRegisterDeterministicAead
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:55,1
    - Dst: crypto::tink::PybindRegisterPublicKeySign
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:56,1
    - Dst: crypto::tink::PybindRegisterMac
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:57,1
    - Dst: crypto::tink::PybindRegisterPrf
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:58,1
    - Dst: crypto::tink::PybindRegisterHybridDecrypt
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:59,1
    - Dst: crypto::tink::PybindRegisterOutputStreamAdapter
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:60,1
    - Dst: crypto::tink::PybindRegisterCcKeyManager
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:61,1
    - Dst: crypto::tink::PybindRegisterPythonFileObjectAdapter
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:62,1
    - Dst: crypto::tink::PybindRegisterInputStreamAdapter
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:63,1
    - Dst: crypto::tink::PybindRegisterPublicKeyVerify
      Src: /src/tink/python/tink/cc/pybind/tink_bindings.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: crypto::tink::PYBIND11_MODULE
    functionSourceFile: /src/tink/python/tink/cc/pybind/tink_bindings.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::PybindRegisterCcTinkConfig
    - crypto::tink::PybindRegisterCcKeyManager
    - crypto::tink::PybindRegisterOutputStreamAdapter
    - crypto::tink::PybindRegisterInputStreamAdapter
    - crypto::tink::PybindRegisterPrf
    - crypto::tink::PybindRegisterPublicKeyVerify
    - crypto::tink::PybindRegisterAead
    - crypto::tink::PybindRegisterPythonFileObjectAdapter
    - crypto::tink::PybindRegisterCcHpkeConfig
    - crypto::tink::PybindRegisterHybridDecrypt
    - crypto::tink::PybindRegisterStreamingAead
    - crypto::tink::PybindRegisterCcStreamingAeadWrappers
    - crypto::tink::PybindRegisterHybridEncrypt
    - py::register_exception<pybind11::google_tink::TinkException>
    - crypto::tink::PybindRegisterCcJwtConfig
    - crypto::tink::PybindRegisterDeterministicAead
    - crypto::tink::PybindRegisterMac
    - crypto::tink::PybindRegisterPublicKeySign
    linkageType: ''
    returnType: void
    signature: void PYBIND11_MODULE(tink_bindings, m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<HybridEncrypt>
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:37,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:44,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:44,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:44,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:45,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:46,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:46,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:48,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:50,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: crypto::tink::PybindRegisterHybridEncrypt
    functionSourceFile: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc
    functionUses: 1
    functionsReached:
    - std::string
    - py::class_<HybridEncrypt>
    - util::StatusOr::status
    - py::arg
    - std::move
    - crypto::tink::Encrypt
    - util::StatusOr::ok
    - TinkException
    linkageType: ''
    returnType: void
    signature: void PybindRegisterHybridEncrypt(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<PublicKeySign>
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:37,1
    - Dst: Sign
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:53,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:53,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:54,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:55,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:57,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/public_key_sign.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: crypto::tink::PybindRegisterPublicKeySign
    functionSourceFile: /src/tink/python/tink/cc/pybind/public_key_sign.cc
    functionUses: 1
    functionsReached:
    - std::string
    - util::StatusOr::status
    - py::arg
    - std::move
    - util::StatusOr::ok
    - TinkException
    - py::class_<PublicKeySign>
    - Sign
    linkageType: ''
    returnType: void
    signature: void PybindRegisterPublicKeySign(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<PublicKeyVerify>
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:37,1
    - Dst: Verify
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:54,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:54,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:54,1
    - Dst: util::Status::ok
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:55,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:56,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:60,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/public_key_verify.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: crypto::tink::PybindRegisterPublicKeyVerify
    functionSourceFile: /src/tink/python/tink/cc/pybind/public_key_verify.cc
    functionUses: 1
    functionsReached:
    - util::Status::ok
    - std::string
    - py::arg
    - TinkException
    - Verify
    - py::class_<PublicKeyVerify>
    linkageType: ''
    returnType: void
    signature: void PybindRegisterPublicKeyVerify(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<Aead>
      Src: /src/tink/python/tink/cc/pybind/aead.cc:37,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/python/tink/cc/pybind/aead.cc:49,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/aead.cc:50,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/aead.cc:50,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/aead.cc:51,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/aead.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/aead.cc:52,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/aead.cc:54,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/aead.cc:56,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/aead.cc:56,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/python/tink/cc/pybind/aead.cc:66,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/aead.cc:67,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/aead.cc:67,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/aead.cc:68,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/aead.cc:69,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/aead.cc:69,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/aead.cc:71,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/aead.cc:73,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/aead.cc:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 79
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 79
    functionName: crypto::tink::PybindRegisterAead
    functionSourceFile: /src/tink/python/tink/cc/pybind/aead.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::Decrypt
    - py::class_<Aead>
    - std::string
    - util::StatusOr::status
    - py::arg
    - std::move
    - crypto::tink::Encrypt
    - util::StatusOr::ok
    - TinkException
    linkageType: ''
    returnType: void
    signature: void PybindRegisterAead(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::class_<StreamingAead>
      Src: /src/tink/python/tink/cc/pybind/streaming_aead.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: crypto::tink::PybindRegisterStreamingAead
    functionSourceFile: /src/tink/python/tink/cc/pybind/streaming_aead.cc
    functionUses: 1
    functionsReached:
    - py::class_<StreamingAead>
    linkageType: ''
    returnType: void
    signature: void PybindRegisterStreamingAead(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tink/python/tink/cc/pybind/tink_exception.h:32,1
    - Dst: code
      Src: /src/tink/python/tink/cc/pybind/tink_exception.h:32,1
    - Dst: ToString
      Src: /src/tink/python/tink/cc/pybind/tink_exception.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - crypto::tink::util::Status
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: pybind11::google_tink::TinkException::TinkException
    functionSourceFile: /src/tink/python/tink/cc/pybind/tink_exception.h
    functionUses: 1
    functionsReached:
    - ToString
    - code
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TinkException(const crypto::tink::util::Status& status)
  - 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: pybind11::google_tink::TinkException::error_code
    functionSourceFile: /src/tink/python/tink/cc/pybind/tink_exception.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/tink/python/tink/cc/pybind/tink_exception.h: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: pybind11::google_tink::TinkException::what
    functionSourceFile: /src/tink/python/tink/cc/pybind/tink_exception.h
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<int>
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:34,1
    - Dst: code
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:34,1
    - Dst: ToString
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - crypto::tink::util::Status
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: crypto::tink::TinkStreamFinishedException::TinkStreamFinishedException
    functionSourceFile: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc
    functionUses: 0
    functionsReached:
    - ToString
    - code
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TinkStreamFinishedException(const crypto::tink::util::Status&
      status)
  - 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: crypto::tink::TinkStreamFinishedException::error_code
    functionSourceFile: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int error_code() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_str
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc: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: crypto::tink::TinkStreamFinishedException::what
    functionSourceFile: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc
    functionUses: 0
    functionsReached:
    - c_str
    linkageType: ''
    returnType: char
    signature: char * what() const noexcept override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: py::register_exception<TinkStreamFinishedException>
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:54,1
    - Dst: py::class_<InputStreamAdapter>
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:58,1
    - Dst: Read
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:62,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:63,1
    - Dst: TinkStreamFinishedException
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:64,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:65,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:67,1
    - Dst: TinkException
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:68,1
    - Dst: util::StatusOr::status
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:68,1
    - Dst: std::move
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:70,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: crypto::tink::PybindRegisterInputStreamAdapter
    functionSourceFile: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc
    functionUses: 1
    functionsReached:
    - py::class_<InputStreamAdapter>
    - util::StatusOr::status
    - py::register_exception<TinkStreamFinishedException>
    - py::arg
    - std::move
    - util::StatusOr::ok
    - TinkException
    - Read
    - TinkStreamFinishedException
    linkageType: ''
    returnType: void
    signature: void PybindRegisterInputStreamAdapter(pybind11::module* module)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pybind11::get_overload
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:44,1
    - Dst: static_cast<const PythonFileObjectAdapter *>
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:47,1
    - Dst: overload
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:50,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:50,1
    - Dst: std::string
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:50,1
    - Dst: auto::cast
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:51,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:53,1
    - Dst: what
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:53,1
    - Dst: std::abort
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: crypto::tink::Pybind11PythonFileObjectAdapter::Write
    functionSourceFile: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc
    functionUses: 0
    functionsReached:
    - static_cast<const PythonFileObjectAdapter *>
    - what
    - auto::cast
    - crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
    - std::string
    - crypto::tink::internal::ExtractStatus
    - std::abort
    - pybind11::get_overload
    - overload
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> Write(absl::string_view data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pybind11::get_overload
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:62,1
    - Dst: static_cast<const PythonFileObjectAdapter *>
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:63,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:65,1
    - Dst: overload
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:71,1
    - Dst: what
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:71,1
    - Dst: std::abort
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: crypto::tink::Pybind11PythonFileObjectAdapter::Close
    functionSourceFile: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc
    functionUses: 0
    functionsReached:
    - static_cast<const PythonFileObjectAdapter *>
    - what
    - crypto::tink::internal::ExtractStatus
    - std::abort
    - pybind11::get_overload
    - overload
    linkageType: ''
    returnType: util::Status
    signature: util::Status Close() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pybind11::get_overload
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:80,1
    - Dst: static_cast<const PythonFileObjectAdapter *>
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:83,1
    - Dst: overload
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:86,1
    - Dst: auto::cast
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:89,1
    - Dst: what
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:89,1
    - Dst: std::abort
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: crypto::tink::Pybind11PythonFileObjectAdapter::Read
    functionSourceFile: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc
    functionUses: 0
    functionsReached:
    - static_cast<const PythonFileObjectAdapter *>
    - what
    - auto::cast
    - crypto::tink::internal::ExtractStatus
    - std::abort
    - pybind11::get_overload
    - overload
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> Read(int size) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "py::class_<PythonFileObjectAdapter, Pybind11PythonFileObjectAdapter,\n
        \            std::shared_ptr<PythonFileObjectAdapter>>"
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:100,1
    - Dst: py::init<>
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:103,1
    - Dst: std::abort
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:117,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:119,1
    - Dst: std::abort
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:120,1
    - Dst: std::abort
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:124,1
    - Dst: py::arg
      Src: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - module
    argTypes:
    - pybind11::module*
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: crypto::tink::PybindRegisterPythonFileObjectAdapter
    functionSourceFile: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc
    functionUses: 1
    functionsReached:
    - std::abort
    - "py::class_<PythonFileObjectAdapter, Pybind11PythonFileObjectAdapter,\n             std::shared_ptr<PythonFileObjectAdapter>>"
    - py::init<>
    - py::arg
    linkageType: ''
    returnType: void
    signature: void PybindRegisterPythonFileObjectAdapter(pybind11::module *module)
  - 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: crypto::tink::KeysetManager::KeysetManager
    functionSourceFile: /src/tink/cc/keyset_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetManager()
  - 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: crypto::tink::InputStream::InputStream
    functionSourceFile: /src/tink/cc/input_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~InputStream()
    functionSourceFile: /src/tink/cc/input_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - serialized_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: crypto::tink::BinaryKeysetReader::BinaryKeysetReader
    functionSourceFile: /src/tink/cc/binary_keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BinaryKeysetReader(absl::string_view serialized_keyset)
  - 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: crypto::tink::Key::Key
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: crypto::tink::Key::Key
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(const Key& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(const Key& other)'
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & operator=(const Key& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: crypto::tink::Key::Key
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Key(Key&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(Key&& other)'
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Key
    signature: Key & operator=(Key&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: operator!=(const Key& other) const
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Key& other) 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: ~Key()
    functionSourceFile: /src/tink/cc/key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PartialKeyAccessToken
      Src: /src/tink/cc/partial_key_access.h: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: crypto::tink::GetPartialKeyAccess
    functionSourceFile: /src/tink/cc/partial_key_access.h
    functionUses: 0
    functionsReached:
    - PartialKeyAccessToken
    linkageType: ''
    returnType: PartialKeyAccessToken
    signature: PartialKeyAccessToken GetPartialKeyAccess()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::declval<ResultType>
      Src: /src/tink/cc/output_stream_with_result.h:37,1
    - Dst: status
      Src: /src/tink/cc/output_stream_with_result.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' result'
    argTypes:
    - ResultType
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: crypto::tink::internal::ExtractStatus
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 16
    functionsReached:
    - std::declval<ResultType>
    - status
    linkageType: ''
    returnType: auto
    signature: "auto ExtractStatus(const ResultType& result)\n    -> decltype(std::declval<ResultType>().status())"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - ResultType
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: crypto::tink::internal::ExtractStatus
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "auto ExtractStatus(ResultType result) ->\n    typename std::enable_if<std::is_same<ResultType,
      util::Status>::value,\n                            util::Status>::type"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: crypto::tink::OutputStreamWithResult::OutputStreamWithResult
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputStreamWithResult()
  - 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: ~OutputStreamWithResult() override
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OutputStreamWithResult() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/output_stream_with_result.h:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: crypto::tink::OutputStreamWithResult::GetResult
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: ResultType
    signature: ResultType GetResult()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::OutputStreamWithResult::Close
      Src: /src/tink/cc/output_stream_with_result.h:88,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/output_stream_with_result.h:89,1
    - Dst: crypto::tink::OutputStreamWithResult::GetResult
      Src: /src/tink/cc/output_stream_with_result.h:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: crypto::tink::OutputStreamWithResult::CloseAndGetResult
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 0
    functionsReached:
    - crypto::tink::OutputStreamWithResult::Close
    - util::Status::ok
    - crypto::tink::OutputStreamWithResult::GetResult
    linkageType: ''
    returnType: ResultType
    signature: ResultType CloseAndGetResult()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/output_stream_with_result.h:98,1
    - Dst: CloseStreamAndComputeResult
      Src: /src/tink/cc/output_stream_with_result.h:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/output_stream_with_result.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: crypto::tink::OutputStreamWithResult::Close
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - CloseStreamAndComputeResult
    linkageType: ''
    returnType: util::Status
    signature: util::Status Close() final
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/output_stream_with_result.h:111,1
    - Dst: NextBuffer
      Src: /src/tink/cc/output_stream_with_result.h:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: crypto::tink::OutputStreamWithResult::Next
    functionSourceFile: /src/tink/cc/output_stream_with_result.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - NextBuffer
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(void** data) final
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::RestrictedData::RestrictedData
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestrictedData(const RestrictedData& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const RestrictedData& other)'
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & operator=(const RestrictedData& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::RestrictedData::RestrictedData
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestrictedData(RestrictedData&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(RestrictedData&& other)'
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & operator=(RestrictedData&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/restricted_data.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - secret
    - token
    argTypes:
    - absl::string_view
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: crypto::tink::RestrictedData::RestrictedData
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    linkageType: ''
    returnType: void
    signature: void RestrictedData(absl::string_view secret, SecretKeyAccessToken
      token)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/restricted_data.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: crypto::tink::RestrictedData::GetSecret
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetSecret(SecretKeyAccessToken token) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::RestrictedData::size
      Src: /src/tink/cc/restricted_data.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: crypto::tink::RestrictedData::size
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 1
    functionsReached:
    - crypto::tink::RestrictedData::size
    linkageType: ''
    returnType: int64_t
    signature: int64_t size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: operator!=(const RestrictedData& other) const
    functionSourceFile: /src/tink/cc/restricted_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const RestrictedData& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::BigInteger::BigInteger
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInteger(const BigInteger& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const BigInteger& other)'
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & operator=(const BigInteger& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::BigInteger::BigInteger
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BigInteger(BigInteger&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(BigInteger&& other)'
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & operator=(BigInteger&& other)
  - 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: crypto::tink::BigInteger::GetValue
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetValue() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/big_integer.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: crypto::tink::BigInteger::SizeInBytes
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t SizeInBytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: operator!=(const BigInteger& other) const
    functionSourceFile: /src/tink/cc/big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const BigInteger& other) const
  - 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: ~PublicKeyVerify()
    functionSourceFile: /src/tink/cc/public_key_verify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PublicKeyVerify()
  - 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: ~KmsClient()
    functionSourceFile: /src/tink/cc/kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KmsClient()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: crypto::tink::PartialKeyAccessToken::PartialKeyAccessToken
    functionSourceFile: /src/tink/cc/partial_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartialKeyAccessToken(const PartialKeyAccessToken& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: '& operator=(const PartialKeyAccessToken& other)'
    functionSourceFile: /src/tink/cc/partial_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PartialKeyAccessToken
    signature: PartialKeyAccessToken & operator=(const PartialKeyAccessToken& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: crypto::tink::PartialKeyAccessToken::PartialKeyAccessToken
    functionSourceFile: /src/tink/cc/partial_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartialKeyAccessToken(PartialKeyAccessToken&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '& operator=(PartialKeyAccessToken&& other)'
    functionSourceFile: /src/tink/cc/partial_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PartialKeyAccessToken
    signature: PartialKeyAccessToken & operator=(PartialKeyAccessToken&& other)
  - 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: crypto::tink::PartialKeyAccessToken::PartialKeyAccessToken
    functionSourceFile: /src/tink/cc/partial_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartialKeyAccessToken()
  - 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: ~Aead()
    functionSourceFile: /src/tink/cc/aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Aead()
  - 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: ~KeysetReader()
    functionSourceFile: /src/tink/cc/keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeysetReader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GlobalInstance
      Src: /src/tink/cc/kms_clients.h:51,1
    - Dst: std::move
      Src: /src/tink/cc/kms_clients.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kms_client
    argTypes:
    - std::unique_ptr<KmsClient>
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: crypto::tink::KmsClients::Add
    functionSourceFile: /src/tink/cc/kms_clients.h
    functionUses: 0
    functionsReached:
    - GlobalInstance
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status Add(std::unique_ptr<KmsClient> kms_client)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GlobalInstance
      Src: /src/tink/cc/kms_clients.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: crypto::tink::KmsClients::Get
    functionSourceFile: /src/tink/cc/kms_clients.h
    functionUses: 0
    functionsReached:
    - GlobalInstance
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const KmsClient*>
    signature: crypto::tink::util::StatusOr<const KmsClient*> Get(absl::string_view
      key_uri)
  - 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: crypto::tink::KmsClients::KmsClients
    functionSourceFile: /src/tink/cc/kms_clients.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KmsClients()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeysetHandleBuilder
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilder(KeysetHandleBuilder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeysetHandleBuilder
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(KeysetHandleBuilder&& other)'
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetHandleBuilder
    signature: KeysetHandleBuilder & operator=(KeysetHandleBuilder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeysetHandleBuilder
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilder(const KeysetHandleBuilder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeysetHandleBuilder
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const KeysetHandleBuilder& other)'
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetHandleBuilder
    signature: KeysetHandleBuilder & operator=(const KeysetHandleBuilder& other)
  - 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: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entry
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: crypto::tink::KeysetHandleBuilder::Entry::Entry
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry(Entry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entry
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: '& operator=(Entry&& other)'
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Entry
    signature: Entry & operator=(Entry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entry
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: crypto::tink::KeysetHandleBuilder::Entry::Entry
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Entry(const Entry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Entry
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& operator=(const Entry& other)'
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Entry
    signature: Entry & operator=(const Entry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<CopyableKey>
      Src: /src/tink/cc/keyset_handle_builder.h:71,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle_builder.h:71,1
    - Dst: CreateFromKey
      Src: /src/tink/cc/keyset_handle_builder.h:72,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle_builder.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - status
    - is_primary
    argTypes:
    - CopyableKey
    - KeyStatus
    - bool
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached:
    - CreateFromKey
    - std::move
    - absl::make_unique<CopyableKey>
    linkageType: ''
    returnType: Entry
    signature: "Entry CreateFromCopyableKey(CopyableKey key, KeyStatus status,\n                                              bool
      is_primary)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<CopyableParameters>
      Src: /src/tink/cc/keyset_handle_builder.h:87,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle_builder.h:87,1
    - Dst: CreateFromParams
      Src: /src/tink/cc/keyset_handle_builder.h:88,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle_builder.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - parameters
    - status
    - is_primary
    argTypes:
    - CopyableParameters
    - KeyStatus
    - bool
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<CopyableParameters>
    - CreateFromParams
    - std::move
    linkageType: ''
    returnType: Entry
    signature: "Entry CreateFromCopyableParams(\n        CopyableParameters parameters,
      KeyStatus status, bool is_primary,\n        absl::optional<int> id = absl::nullopt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::SetStatus
      Src: /src/tink/cc/keyset_handle_builder.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - KeyStatus
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: crypto::tink::KeysetHandleBuilder::Entry::SetStatus
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::SetStatus
    linkageType: ''
    returnType: void
    signature: void SetStatus(KeyStatus status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::GetStatus
      Src: /src/tink/cc/keyset_handle_builder.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: crypto::tink::KeysetHandleBuilder::Entry::GetStatus
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::GetStatus
    linkageType: ''
    returnType: KeyStatus
    signature: KeyStatus GetStatus() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::SetFixedId
      Src: /src/tink/cc/keyset_handle_builder.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: crypto::tink::KeysetHandleBuilder::Entry::SetFixedId
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::SetFixedId
    linkageType: ''
    returnType: void
    signature: void SetFixedId(int id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::SetRandomId
      Src: /src/tink/cc/keyset_handle_builder.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: crypto::tink::KeysetHandleBuilder::Entry::SetRandomId
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::SetRandomId
    linkageType: ''
    returnType: void
    signature: void SetRandomId()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::SetPrimary
      Src: /src/tink/cc/keyset_handle_builder.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: crypto::tink::KeysetHandleBuilder::Entry::SetPrimary
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::SetPrimary
    linkageType: ''
    returnType: void
    signature: void SetPrimary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::UnsetPrimary
      Src: /src/tink/cc/keyset_handle_builder.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: crypto::tink::KeysetHandleBuilder::Entry::UnsetPrimary
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::UnsetPrimary
    linkageType: ''
    returnType: void
    signature: void UnsetPrimary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::IsPrimary
      Src: /src/tink/cc/keyset_handle_builder.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: crypto::tink::KeysetHandleBuilder::Entry::IsPrimary
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::IsPrimary
    linkageType: ''
    returnType: bool
    signature: bool IsPrimary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle_builder.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - entry
    argTypes:
    - std::unique_ptr<internal::KeysetHandleBuilderEntry>
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: crypto::tink::KeysetHandleBuilder::Entry::Entry
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Entry(std::unique_ptr<internal::KeysetHandleBuilderEntry> entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyIdStrategyEnum
      Src: /src/tink/cc/keyset_handle_builder.h:117,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: crypto::tink::KeysetHandleBuilder::Entry::HasRandomId
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached:
    - GetKeyIdStrategyEnum
    linkageType: ''
    returnType: bool
    signature: bool HasRandomId()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::GetKeyIdStrategy
      Src: /src/tink/cc/keyset_handle_builder.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: crypto::tink::KeysetHandleBuilder::Entry::GetKeyIdStrategy
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::GetKeyIdStrategy
    linkageType: ''
    returnType: internal::KeyIdStrategy
    signature: internal::KeyIdStrategy GetKeyIdStrategy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateKeysetKey
      Src: /src/tink/cc/keyset_handle_builder.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: crypto::tink::KeysetHandleBuilder::Entry::CreateKeysetKey
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::Entry::CreateKeysetKey
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n        crypto::tink::util::SecretProto<google::crypto::tink::Keyset::Key>>"
    signature: "crypto::tink::util::StatusOr<\n        crypto::tink::util::SecretProto<google::crypto::tink::Keyset::Key>>
      CreateKeysetKey(int id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::size
      Src: /src/tink/cc/keyset_handle_builder.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: crypto::tink::KeysetHandleBuilder::size
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: '& operator[](int index)'
    functionSourceFile: /src/tink/cc/keyset_handle_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetHandleBuilder::Entry
    signature: KeysetHandleBuilder::Entry & operator[](int index)
  - 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: ~HybridEncrypt()
    functionSourceFile: /src/tink/cc/hybrid_encrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HybridEncrypt()
  - 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: crypto::tink::KeyGenConfiguration::KeyGenConfiguration
    functionSourceFile: /src/tink/cc/key_gen_configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyGenConfiguration()
  - 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: crypto::tink::KeyGenConfiguration::KeyGenConfiguration
    functionSourceFile: /src/tink/cc/key_gen_configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyGenConfiguration(const KeyGenConfiguration&)
  - 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: '& operator=(const KeyGenConfiguration&)'
    functionSourceFile: /src/tink/cc/key_gen_configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & operator=(const KeyGenConfiguration&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' x'
    - ' y'
    argTypes:
    - BigInteger
    - BigInteger
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: crypto::tink::EcPoint::EcPoint
    functionSourceFile: /src/tink/cc/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcPoint(const BigInteger& x, const BigInteger& y)
  - 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: '& GetX() const'
    functionSourceFile: /src/tink/cc/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & GetX() const
  - 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: '& GetY() const'
    functionSourceFile: /src/tink/cc/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & GetY() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcPoint
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: operator==(const EcPoint& other) const
    functionSourceFile: /src/tink/cc/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const EcPoint& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcPoint
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: operator!=(const EcPoint& other) const
    functionSourceFile: /src/tink/cc/ec_point.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const EcPoint& other) 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: ~ChunkedMacComputation()
    functionSourceFile: /src/tink/cc/chunked_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ChunkedMacComputation()
  - 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: ~ChunkedMacVerification()
    functionSourceFile: /src/tink/cc/chunked_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ChunkedMacVerification()
  - 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: ~ChunkedMac()
    functionSourceFile: /src/tink/cc/chunked_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ChunkedMac()
  - 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: ~DeterministicAead()
    functionSourceFile: /src/tink/cc/deterministic_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeterministicAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::TinkConfig::Register
      Src: /src/tink/cc/proto_keyset_format_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc: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: crypto::tink::SerializeKeysetToProtoKeysetFormatTest::SetUp
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::TinkConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/proto_keyset_format_test.cc:63,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/proto_keyset_format_test.cc:63,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/proto_keyset_format_test.cc:64,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/proto_keyset_format_test.cc:64,1
    - Dst: LegacyProtoParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: crypto::tink::CmacParameters
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - LegacyProtoParameters
    - util::StatusOr::status
    - MacKeyTemplates::AesCmac
    - util::StatusOr::ok
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<LegacyProtoParameters>
    signature: util::StatusOr<LegacyProtoParameters> CmacParameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/proto_keyset_format_test.cc:71,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/proto_keyset_format_test.cc:71,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/proto_keyset_format_test.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/proto_keyset_format_test.cc:72,1
    - Dst: LegacyProtoParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: crypto::tink::EcdsaParameters
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - LegacyProtoParameters
    - util::StatusOr::status
    - util::StatusOr::ok
    - SignatureKeyTemplates::EcdsaP256
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<LegacyProtoParameters>
    signature: util::StatusOr<LegacyProtoParameters> EcdsaParameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CmacParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:80,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/proto_keyset_format_test.cc:83,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:88,1
    - Dst: crypto::tink::SerializeKeysetToProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:91,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:93,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:95,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/proto_keyset_format_test.cc:96,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:98,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:98,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:99,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:99,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:101,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:101,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:102,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:102,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:102,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:103,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:103,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - IsOk
    - crypto::tink::CmacParameters
    - GetKey
    - KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - GetStatus
    - ASSERT_THAT
    - crypto::tink::SerializeKeysetToProtoKeysetFormat
    - SecretDataAsStringView
    - util::StatusOr::size
    - GetId
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(SerializeKeysetToProtoKeysetFormatTest, SerializeAndParseSingleKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CmacParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:109,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/proto_keyset_format_test.cc:112,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:113,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:116,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:123,1
    - Dst: crypto::tink::SerializeKeysetToProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:126,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:128,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:130,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/proto_keyset_format_test.cc:131,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:133,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:134,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:134,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:136,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:136,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:136,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:137,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:137,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:138,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:138,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:140,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:140,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:140,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:141,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:141,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:141,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:142,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:142,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:144,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:144,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:144,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:145,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:145,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:146,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:146,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - IsOk
    - crypto::tink::CmacParameters
    - GetKey
    - KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - GetStatus
    - ASSERT_THAT
    - crypto::tink::SerializeKeysetToProtoKeysetFormat
    - SecretDataAsStringView
    - util::StatusOr::size
    - GetId
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(SerializeKeysetToProtoKeysetFormatTest, SerializeAndParseMultipleKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CmacParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:152,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/proto_keyset_format_test.cc:155,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:160,1
    - Dst: crypto::tink::SerializeKeysetWithoutSecretToProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:164,1
    - Dst: Not
      Src: /src/tink/cc/proto_keyset_format_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CmacParameters
    - Not
    - KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::SerializeKeysetWithoutSecretToProtoKeysetFormat
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(SerializeKeysetToProtoKeysetFormatTest, SerializeNoAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CmacParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:170,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/proto_keyset_format_test.cc:173,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:178,1
    - Dst: crypto::tink::SerializeKeysetToProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:181,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:183,1
    - Dst: crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:186,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/proto_keyset_format_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:188,1
    - Dst: Not
      Src: /src/tink/cc/proto_keyset_format_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 189
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
    - IsOk
    - crypto::tink::CmacParameters
    - Not
    - KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::SerializeKeysetToProtoKeysetFormat
    - SecretDataAsStringView
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(SerializeKeysetToProtoKeysetFormatTest, ParseNoAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/proto_keyset_format_test.cc:192,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:198,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:200,1
    - Dst: crypto::tink::util::StatusOr<KeysetHandle>::status
      Src: /src/tink/cc/proto_keyset_format_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:200,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/proto_keyset_format_test.cc:202,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/proto_keyset_format_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:203,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
      Src: /src/tink/cc/proto_keyset_format_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:204,1
    - Dst: VerifyMac
      Src: /src/tink/cc/proto_keyset_format_test.cc:205,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/proto_keyset_format_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - IsOk
    - crypto::tink::util::StatusOr<KeysetHandle>::status
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_F(SerializeKeysetToProtoKeysetFormatTest, TestVector)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::EcdsaParameters
      Src: /src/tink/cc/proto_keyset_format_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:214,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/proto_keyset_format_test.cc:217,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/proto_keyset_format_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:222,1
    - Dst: util::StatusOr::GetPublicKeysetHandle
      Src: /src/tink/cc/proto_keyset_format_test.cc:224,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/proto_keyset_format_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:225,1
    - Dst: crypto::tink::SerializeKeysetToProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:229,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:231,1
    - Dst: crypto::tink::SerializeKeysetWithoutSecretToProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:234,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:237,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/proto_keyset_format_test.cc:237,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:239,1
    - Dst: crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:241,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/proto_keyset_format_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:243,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:245,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/proto_keyset_format_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:247,1
    - Dst: crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
      Src: /src/tink/cc/proto_keyset_format_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/proto_keyset_format_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:252,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:252,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:252,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:253,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:254,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:254,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:255,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:255,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/proto_keyset_format_test.cc:256,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format_test.cc:256,1
    - Dst: Eq
      Src: /src/tink/cc/proto_keyset_format_test.cc:256,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:259,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:259,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:259,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:260,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:260,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:261,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:261,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:261,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:262,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:262,1
    - Dst: GetKey
      Src: /src/tink/cc/proto_keyset_format_test.cc:262,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:264,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:264,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:264,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:265,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:265,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:265,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:266,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:266,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:266,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:267,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:267,1
    - Dst: GetId
      Src: /src/tink/cc/proto_keyset_format_test.cc:267,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:269,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:269,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:270,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:271,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:271,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:273,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:273,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:274,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/proto_keyset_format_test.cc:275,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:275,1
    - Dst: GetStatus
      Src: /src/tink/cc/proto_keyset_format_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 277
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/proto_keyset_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EcdsaParameters
    - crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
    - EXPECT_TRUE
    - KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetPublicKeysetHandle
    - IsOk
    - util::StatusOr::size
    - crypto::tink::SerializeKeysetWithoutSecretToProtoKeysetFormat
    - GetKey
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::SerializeKeysetToProtoKeysetFormat
    - crypto::tink::size
    - GetId
    - Eq
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - GetStatus
    - SecretDataAsStringView
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(SerializeKeysetToProtoKeysetFormatTest, SerializeAndParsePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/tink/cc/primitive_set.h:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:72,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/primitive_set.h:75,1
    - Dst: auto::ok
      Src: /src/tink/cc/primitive_set.h:76,1
    - Dst: auto::status
      Src: /src/tink/cc/primitive_set.h:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:78,1
    - Dst: auto::value
      Src: /src/tink/cc/primitive_set.h:81,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/primitive_set.h:82,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:82,1
    - Dst: status
      Src: /src/tink/cc/primitive_set.h:83,1
    - Dst: key_id
      Src: /src/tink/cc/primitive_set.h:83,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/primitive_set.h:84,1
    - Dst: type_url
      Src: /src/tink/cc/primitive_set.h:85,1
    - Dst: Entry::Entry
      Src: /src/tink/cc/primitive_set.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - primitive
    - ' key_info'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: crypto::tink::Entry::New
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - status
    - Entry::Entry
    - absl::WrapUnique
    - key_id
    - auto::value
    - type_url
    - output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Entry<P>>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Entry<P>>> New(\n        std::unique_ptr<P>
      primitive,\n        const google::crypto::tink::KeysetInfo::KeyInfo& key_info)"
  - 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_primitive() const'
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: P2
    signature: P2 & get_primitive() 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_identifier() const'
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_identifier() 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: crypto::tink::Entry::get_status
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyStatusType
    signature: google::crypto::tink::KeyStatusType get_status() 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: crypto::tink::Entry::get_key_id
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_key_id() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: crypto::tink::Entry::get_output_prefix_type
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::OutputPrefixType
    signature: google::crypto::tink::OutputPrefixType get_output_prefix_type() 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: crypto::tink::Entry::get_key_type_url
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view get_key_type_url() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - primitive
    - ' identifier'
    - status
    - key_id
    - output_prefix_type
    - key_type_url
    argTypes:
    - std::unique_ptr<P2>
    - std::string
    - google::crypto::tink::KeyStatusType
    - uint32_t
    - google::crypto::tink::OutputPrefixType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: crypto::tink::Entry::Entry
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Entry(std::unique_ptr<P2> primitive, const std::string& identifier,\n
      \         google::crypto::tink::KeyStatusType status, uint32_t key_id,\n          google::crypto::tink::OutputPrefixType
      output_prefix_type,\n          absl::string_view key_type_url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:134,1
    - Dst: Entry<P>*::get_status
      Src: /src/tink/cc/primitive_set.h:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:138,1
    - Dst: count
      Src: /src/tink/cc/primitive_set.h:142,1
    - Dst: Entry<P>*::get_identifier
      Src: /src/tink/cc/primitive_set.h:142,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:143,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/primitive_set.h:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - output
    - primary
    - ' primitives'
    argTypes:
    - Entry<P>**
    - Entry<P>*
    - CiphertextPrefixToPrimitivesMap
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: crypto::tink::SetPrimaryImpl
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - Entry<P>*::get_status
    - count
    - crypto::tink::internal::ExtractStatus
    - Entry<P>*::get_identifier
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status SetPrimaryImpl(\n      Entry<P>** output,
      Entry<P>* primary,\n      const CiphertextPrefixToPrimitivesMap& primitives)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Entry::New
      Src: /src/tink/cc/primitive_set.h:157,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:157,1
    - Dst: auto::ok
      Src: /src/tink/cc/primitive_set.h:158,1
    - Dst: auto::status
      Src: /src/tink/cc/primitive_set.h:158,1
    - Dst: auto::value
      Src: /src/tink/cc/primitive_set.h:160,1
    - Dst: push_back
      Src: /src/tink/cc/primitive_set.h:161,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:161,1
    - Dst: auto::value
      Src: /src/tink/cc/primitive_set.h:161,1
    - Dst: back
      Src: /src/tink/cc/primitive_set.h:163,1
    - Dst: push_back
      Src: /src/tink/cc/primitive_set.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - primitive
    - ' key_info'
    - ' primitives'
    - ' primitives_in_keyset_order'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    - CiphertextPrefixToPrimitivesMap
    - std::vector<Entry<P>*>
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: crypto::tink::AddPrimitiveImpl
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - crypto::tink::Entry::New
    - auto::status
    - push_back
    - auto::ok
    - std::move
    - back
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<Entry<P>*>
    signature: "crypto::tink::util::StatusOr<Entry<P>*> AddPrimitiveImpl(\n      std::unique_ptr<P>
      primitive,\n      const google::crypto::tink::KeysetInfo::KeyInfo& key_info,\n
      \     CiphertextPrefixToPrimitivesMap& primitives,\n      std::vector<Entry<P>*>&
      primitives_in_keyset_order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/primitive_set.h:179,1
    - Dst: AddPrimitiveImpl
      Src: /src/tink/cc/primitive_set.h:180,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - primitive
    - ' key_info'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: "& AddPrimitive(\n        std::unique_ptr<P> primitive,\n        const
      google::crypto::tink::KeysetInfo::KeyInfo& key_info) &"
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - ok
    - AddPrimitiveImpl
    - std::move
    linkageType: ''
    returnType: Builder
    signature: "Builder & AddPrimitive(\n        std::unique_ptr<P> primitive,\n        const
      google::crypto::tink::KeysetInfo::KeyInfo& key_info) &"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:189,1
    - Dst: AddPrimitive
      Src: /src/tink/cc/primitive_set.h:189,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - primitive
    - ' key_info'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: "&& AddPrimitive(\n        std::unique_ptr<P> primitive,\n        const
      google::crypto::tink::KeysetInfo::KeyInfo& key_info) &&"
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - std::move
    - AddPrimitive
    linkageType: ''
    returnType: Builder
    signature: "Builder && AddPrimitive(\n        std::unique_ptr<P> primitive,\n
      \       const google::crypto::tink::KeysetInfo::KeyInfo& key_info) &&"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/primitive_set.h:198,1
    - Dst: AddPrimitiveImpl
      Src: /src/tink/cc/primitive_set.h:200,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:200,1
    - Dst: auto::ok
      Src: /src/tink/cc/primitive_set.h:202,1
    - Dst: auto::status
      Src: /src/tink/cc/primitive_set.h:203,1
    - Dst: SetPrimaryImpl
      Src: /src/tink/cc/primitive_set.h:206,1
    - Dst: auto::value
      Src: /src/tink/cc/primitive_set.h:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - primitive
    - ' key_info'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: "& AddPrimaryPrimitive(\n        std::unique_ptr<P> primitive,\n
      \       const google::crypto::tink::KeysetInfo::KeyInfo& key_info) &"
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - SetPrimaryImpl
    - std::move
    - ok
    - auto::value
    - AddPrimitiveImpl
    linkageType: ''
    returnType: Builder
    signature: "Builder & AddPrimaryPrimitive(\n        std::unique_ptr<P> primitive,\n
      \       const google::crypto::tink::KeysetInfo::KeyInfo& key_info) &"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:213,1
    - Dst: AddPrimaryPrimitive
      Src: /src/tink/cc/primitive_set.h:213,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - primitive
    - ' key_info'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: "&& AddPrimaryPrimitive(\n        std::unique_ptr<P> primitive,\n
      \       const google::crypto::tink::KeysetInfo::KeyInfo& key_info) &&"
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - std::move
    - AddPrimaryPrimitive
    linkageType: ''
    returnType: Builder
    signature: "Builder && AddPrimaryPrimitive(\n        std::unique_ptr<P> primitive,\n
      \       const google::crypto::tink::KeysetInfo::KeyInfo& key_info) &&"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: merge
      Src: /src/tink/cc/primitive_set.h:220,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - annotations
    argTypes:
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: "& AddAnnotations(\n        absl::flat_hash_map<std::string, std::string>
      annotations) &"
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - merge
    - std::move
    linkageType: ''
    returnType: Builder
    signature: "Builder & AddAnnotations(\n        absl::flat_hash_map<std::string,
      std::string> annotations) &"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:226,1
    - Dst: AddAnnotations
      Src: /src/tink/cc/primitive_set.h:226,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - annotations
    argTypes:
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: "&& AddAnnotations(\n        absl::flat_hash_map<std::string, std::string>
      annotations) &&"
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - AddAnnotations
    - std::move
    linkageType: ''
    returnType: Builder
    signature: "Builder && AddAnnotations(\n        absl::flat_hash_map<std::string,
      std::string> annotations) &&"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/primitive_set.h:231,1
    - Dst: PrimitiveSet<P>
      Src: /src/tink/cc/primitive_set.h:232,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:232,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:233,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: crypto::tink::Builder::Build
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - ok
    - PrimitiveSet<P>
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<PrimitiveSet<P>>
    signature: crypto::tink::util::StatusOr<PrimitiveSet<P>> Build() &&
  - 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: crypto::tink::PrimitiveSet
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrimitiveSet(PrimitiveSet&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: '& operator=(PrimitiveSet&&)'
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrimitiveSet<P>
    signature: PrimitiveSet<P> & operator=(PrimitiveSet&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: crypto::tink::PrimitiveSet
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrimitiveSet(const PrimitiveSet&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: '& operator=(const PrimitiveSet&)'
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrimitiveSet<P>
    signature: PrimitiveSet<P> & operator=(const PrimitiveSet&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: crypto::tink::PrimitiveSet
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrimitiveSet<P>()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' annotations'
    argTypes:
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: crypto::tink::PrimitiveSet
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrimitiveSet<P>(\n      const absl::flat_hash_map<std::string,
      std::string>& annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::is_mutable
      Src: /src/tink/cc/primitive_set.h:276,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:277,1
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:281,1
    - Dst: crypto::tink::AddPrimitiveImpl
      Src: /src/tink/cc/primitive_set.h:282,1
    - Dst: std::move
      Src: /src/tink/cc/primitive_set.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - primitive
    - ' key_info'
    argTypes:
    - std::unique_ptr<P>
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: crypto::tink::AddPrimitive
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::is_mutable
    - crypto::tink::AddPrimitiveImpl
    - get
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<Entry<P>*>
    signature: "crypto::tink::util::StatusOr<Entry<P>*> AddPrimitive(\n      std::unique_ptr<P>
      primitive,\n      const google::crypto::tink::KeysetInfo::KeyInfo& key_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:289,1
    - Dst: find
      Src: /src/tink/cc/primitive_set.h:290,1
    - Dst: std::string
      Src: /src/tink/cc/primitive_set.h:290,1
    - Dst: end
      Src: /src/tink/cc/primitive_set.h:291,1
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/primitive_set.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: crypto::tink::get_primitives
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::ToStatusF
    - get
    - find
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const Primitives*>
    signature: "crypto::tink::util::StatusOr<const Primitives*> get_primitives(\n
      \     absl::string_view identifier) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::get_primitives
      Src: /src/tink/cc/primitive_set.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: crypto::tink::get_raw_primitives
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - crypto::tink::get_primitives
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const Primitives*>
    signature: crypto::tink::util::StatusOr<const Primitives*> get_raw_primitives()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::is_mutable
      Src: /src/tink/cc/primitive_set.h:308,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/primitive_set.h:309,1
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:312,1
    - Dst: crypto::tink::SetPrimaryImpl
      Src: /src/tink/cc/primitive_set.h:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - primary
    argTypes:
    - Entry<P>*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: crypto::tink::set_primary
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::SetPrimaryImpl
    - get
    - crypto::tink::is_mutable
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status set_primary(Entry<P>* primary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: crypto::tink::get_primary
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Entry<P>
    signature: Entry<P> * get_primary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:324,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/primitive_set.h:328,1
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: crypto::tink::get_all
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - get
    linkageType: ''
    returnType: std::vector<Entry<P>*>
    signature: std::vector<Entry<P>*> get_all() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/primitive_set.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: crypto::tink::get_all_in_keyset_order
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: std::vector<Entry<P>*>
    signature: std::vector<Entry<P>*> get_all_in_keyset_order() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: crypto::tink::get_annotations
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::flat_hash_map<std::string, std::string>
    signature: absl::flat_hash_map<std::string, std::string> & get_annotations() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: crypto::tink::is_mutable
    functionSourceFile: /src/tink/cc/primitive_set.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_mutable() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretKeyAccessToken
      Src: /src/tink/cc/insecure_secret_key_access.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: crypto::tink::InsecureSecretKeyAccess::Get
    functionSourceFile: /src/tink/cc/insecure_secret_key_access.h
    functionUses: 5
    functionsReached:
    - SecretKeyAccessToken
    linkageType: ''
    returnType: SecretKeyAccessToken
    signature: SecretKeyAccessToken Get()
  - 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: crypto::tink::InsecureSecretKeyAccess::InsecureSecretKeyAccess
    functionSourceFile: /src/tink/cc/insecure_secret_key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void InsecureSecretKeyAccess()
  - 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: crypto::tink::KeyAccess::PublicAccess
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyAccess
    signature: KeyAccess PublicAccess()
  - 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: crypto::tink::KeyAccess::CanAccessSecret
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool CanAccessSecret()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyAccess::KeyAccess
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyAccess(const KeyAccess&)
  - 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: '& operator=(const KeyAccess&)'
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyAccess
    signature: KeyAccess & operator=(const KeyAccess&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyAccess
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::KeyAccess::KeyAccess
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyAccess(KeyAccess&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyAccess
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(KeyAccess&& other)'
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyAccess
    signature: KeyAccess & operator=(KeyAccess&& other)
  - 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: crypto::tink::KeyAccess::KeyAccess
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyAccess()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - can_access_secret
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: crypto::tink::KeyAccess::KeyAccess
    functionSourceFile: /src/tink/cc/key_access.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyAccess(bool can_access_secret)
  - 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: crypto::tink::Entry::GetKey
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::shared_ptr<const Key>
    signature: std::shared_ptr<const Key> GetKey() 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: crypto::tink::Entry::GetStatus
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyStatus
    signature: KeyStatus GetStatus() 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: crypto::tink::Entry::GetId
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetId() 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: crypto::tink::Entry::IsPrimary
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPrimary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - key
    - status
    - id
    - is_primary
    argTypes:
    - std::shared_ptr<const Key>
    - KeyStatus
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: crypto::tink::Entry::Entry
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Entry(std::shared_ptr<const Key> key, KeyStatus status, int id,\n
      \         bool is_primary)"
  - 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: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandle(const KeysetHandle&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandle(KeysetHandle&&)
  - 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: '& operator=(const KeysetHandle&)'
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetHandle
    signature: KeysetHandle & operator=(const KeysetHandle&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator=(KeysetHandle&&)'
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetHandle
    signature: KeysetHandle & operator=(KeysetHandle&&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/keyset_handle.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: crypto::tink::size
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 2
    functionsReached:
    - key_size
    linkageType: ''
    returnType: int
    signature: int size() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GenerateNew
      Src: /src/tink/cc/keyset_handle.h:171,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/keyset_handle.h:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_template'
    - "\n                  monitoring_annotations"
    argTypes:
    - google::crypto::tink::KeyTemplate
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: crypto::tink::GenerateNew
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 1
    functionsReached:
    - crypto::tink::GenerateNew
    - crypto::tink::KeyGenConfigGlobalRegistry
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>> GenerateNew(const
      google::crypto::tink::KeyTemplate& key_template,\n              const absl::flat_hash_map<std::string,
      std::string>&\n                  monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GenerateNew
      Src: /src/tink/cc/keyset_handle.h:177,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/keyset_handle.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - google::crypto::tink::KeyTemplate
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: crypto::tink::GenerateNew
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 2
    functionsReached:
    - crypto::tink::GenerateNew
    - crypto::tink::KeyGenConfigGlobalRegistry
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>> GenerateNew(const
      google::crypto::tink::KeyTemplate& key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/keyset_handle.h:219,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/keyset_handle.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: crypto::tink::GetPublicKeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 1
    functionsReached:
    - crypto::tink::GetPublicKeysetHandle
    - crypto::tink::KeyGenConfigGlobalRegistry
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>> GetPublicKeysetHandle()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/keyset_handle.h:233,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/keyset_handle.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: crypto::tink::GetPrimitive
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 2
    functionsReached:
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<P>> GetPrimitive() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - util::SecretProto<google::crypto::tink::Keyset>
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KeysetHandle(util::SecretProto<google::crypto::tink::Keyset> keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keyset
    - ' entries'
    argTypes:
    - util::SecretProto<google::crypto::tink::Keyset>
    - std::vector<std::shared_ptr<const Entry>>
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KeysetHandle(\n      util::SecretProto<google::crypto::tink::Keyset>
      keyset,\n      const std::vector<std::shared_ptr<const Entry>>& entries)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - keyset
    - "\n                   monitoring_annotations"
    argTypes:
    - util::SecretProto<google::crypto::tink::Keyset>
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KeysetHandle(util::SecretProto<google::crypto::tink::Keyset>
      keyset,\n               const absl::flat_hash_map<std::string, std::string>&\n
      \                  monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - keyset
    - ' entries'
    - "\n                   monitoring_annotations"
    argTypes:
    - util::SecretProto<google::crypto::tink::Keyset>
    - std::vector<std::shared_ptr<const Entry>>
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: crypto::tink::KeysetHandle
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KeysetHandle(util::SecretProto<google::crypto::tink::Keyset>
      keyset,\n               const std::vector<std::shared_ptr<const Entry>>& entries,\n
      \              const absl::flat_hash_map<std::string, std::string>&\n                   monitoring_annotations)"
  - 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: crypto::tink::get_keyset
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::Keyset
    signature: google::crypto::tink::Keyset & get_keyset() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateKeyset
      Src: /src/tink/cc/keyset_handle.h:341,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/keyset_handle.h:342,1
    - Dst: typename PrimitiveSet<P>::Builder::AddAnnotations
      Src: /src/tink/cc/keyset_handle.h:344,1
    - Dst: key
      Src: /src/tink/cc/keyset_handle.h:345,1
    - Dst: status
      Src: /src/tink/cc/keyset_handle.h:346,1
    - Dst: KeyManager<P>*::DoesSupport
      Src: /src/tink/cc/keyset_handle.h:349,1
    - Dst: key_data
      Src: /src/tink/cc/keyset_handle.h:349,1
    - Dst: KeyManager<P>*::GetPrimitive
      Src: /src/tink/cc/keyset_handle.h:350,1
    - Dst: key_data
      Src: /src/tink/cc/keyset_handle.h:350,1
    - Dst: auto::ok
      Src: /src/tink/cc/keyset_handle.h:351,1
    - Dst: auto::status
      Src: /src/tink/cc/keyset_handle.h:351,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:352,1
    - Dst: auto::value
      Src: /src/tink/cc/keyset_handle.h:352,1
    - Dst: Registry::GetPrimitive<P>
      Src: /src/tink/cc/keyset_handle.h:354,1
    - Dst: key_data
      Src: /src/tink/cc/keyset_handle.h:354,1
    - Dst: auto::ok
      Src: /src/tink/cc/keyset_handle.h:355,1
    - Dst: auto::status
      Src: /src/tink/cc/keyset_handle.h:355,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:356,1
    - Dst: auto::value
      Src: /src/tink/cc/keyset_handle.h:356,1
    - Dst: key_id
      Src: /src/tink/cc/keyset_handle.h:358,1
    - Dst: primary_key_id
      Src: /src/tink/cc/keyset_handle.h:358,1
    - Dst: typename PrimitiveSet<P>::Builder::AddPrimaryPrimitive
      Src: /src/tink/cc/keyset_handle.h:359,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:359,1
    - Dst: KeyInfoFromKey
      Src: /src/tink/cc/keyset_handle.h:360,1
    - Dst: typename PrimitiveSet<P>::Builder::AddPrimitive
      Src: /src/tink/cc/keyset_handle.h:362,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:362,1
    - Dst: KeyInfoFromKey
      Src: /src/tink/cc/keyset_handle.h:363,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:367,1
    - Dst: auto::ok
      Src: /src/tink/cc/keyset_handle.h:368,1
    - Dst: auto::status
      Src: /src/tink/cc/keyset_handle.h:368,1
    - Dst: absl::make_unique<PrimitiveSet<P>>
      Src: /src/tink/cc/keyset_handle.h:369,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:369,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - custom_manager
    argTypes:
    - KeyManager<P>*
    constantsTouched: []
    func_position:
      end: 370
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 370
    functionName: crypto::KeysetHandle::GetPrimitives
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - KeyInfoFromKey
    - auto::ok
    - KeyManager<P>*::GetPrimitive
    - std::move
    - key_data
    - auto::status
    - absl::make_unique<PrimitiveSet<P>>
    - status
    - Registry::GetPrimitive<P>
    - typename PrimitiveSet<P>::Builder::AddPrimaryPrimitive
    - primary_key_id
    - key_id
    - key
    - ValidateKeyset
    - typename PrimitiveSet<P>::Builder::AddAnnotations
    - auto::value
    - KeyManager<P>*::DoesSupport
    - typename PrimitiveSet<P>::Builder::AddPrimitive
    - crypto::tink::util::Status::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PrimitiveSet<P>>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<PrimitiveSet<P>>> KeysetHandle::GetPrimitives(const
      KeyManager<P>* custom_manager) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/keyset_handle.h:375,1
    - Dst: crypto::tink::internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/keyset_handle.h:377,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/keyset_handle.h:384,1
    - Dst: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeysetWrapperStore*>::ok"
      Src: /src/tink/cc/keyset_handle.h:386,1
    - Dst: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeysetWrapperStore*>::status"
      Src: /src/tink/cc/keyset_handle.h:387,1
    - Dst: Get
      Src: /src/tink/cc/keyset_handle.h:390,1
    - Dst: crypto::tink::util::StatusOr<const crypto::tink::internal::KeysetWrapper<P>*>::ok
      Src: /src/tink/cc/keyset_handle.h:391,1
    - Dst: crypto::tink::util::StatusOr<const crypto::tink::internal::KeysetWrapper<P>*>::status
      Src: /src/tink/cc/keyset_handle.h:392,1
    - Dst: Wrap
      Src: /src/tink/cc/keyset_handle.h:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 395
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 395
    functionName: crypto::KeysetHandle::GetPrimitive
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const crypto::tink::internal::KeysetWrapper<P>*>::status
    - "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeysetWrapperStore*>::status"
    - crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
    - crypto::tink::internal::RegistryImpl::GlobalInstance
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - Get
    - crypto::tink::util::StatusOr<const crypto::tink::internal::KeysetWrapper<P>*>::ok
    - "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeysetWrapperStore*>::ok"
    - Wrap
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> KeysetHandle::GetPrimitive(\n
      \   const Configuration& config) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyset_handle.h:402,1
    - Dst: crypto::KeysetHandle::GetPrimitives
      Src: /src/tink/cc/keyset_handle.h:405,1
    - Dst: auto::ok
      Src: /src/tink/cc/keyset_handle.h:406,1
    - Dst: auto::status
      Src: /src/tink/cc/keyset_handle.h:407,1
    - Dst: Registry::Wrap<P>
      Src: /src/tink/cc/keyset_handle.h:409,1
    - Dst: std::move
      Src: /src/tink/cc/keyset_handle.h:409,1
    - Dst: auto::value
      Src: /src/tink/cc/keyset_handle.h:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - custom_manager
    argTypes:
    - KeyManager<P>*
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: crypto::KeysetHandle::GetPrimitive
    functionSourceFile: /src/tink/cc/keyset_handle.h
    functionUses: 0
    functionsReached:
    - crypto::KeysetHandle::GetPrimitives
    - auto::status
    - Registry::Wrap<P>
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> KeysetHandle::GetPrimitive(\n
      \   const KeyManager<P>* custom_manager) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:60,1
    - Dst: std::unique_ptr<ConcreteKeyManager>::release
      Src: /src/tink/cc/registry.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<ConcreteKeyManager>
    - bool
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: crypto::tink::Registry::RegisterKeyManager
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    - std::unique_ptr<ConcreteKeyManager>::release
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegisterKeyManager(\n      std::unique_ptr<ConcreteKeyManager>
      manager, bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:67,1
    - Dst: std::move
      Src: /src/tink/cc/registry.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<KTManager>
    - bool
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: crypto::tink::Registry::RegisterKeyTypeManager
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 1
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegisterKeyTypeManager(\n      std::unique_ptr<KTManager>
      manager, bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:79,1
    - Dst: std::unique_ptr<PrivateKeyTypeManager>::release
      Src: /src/tink/cc/registry.h:80,1
    - Dst: std::unique_ptr<KeyTypeManager>::release
      Src: /src/tink/cc/registry.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - private_key_manager
    - public_key_manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<PrivateKeyTypeManager>
    - std::unique_ptr<KeyTypeManager>
    - bool
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: crypto::tink::Registry::RegisterAsymmetricKeyManagers
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 1
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    - std::unique_ptr<PrivateKeyTypeManager>::release
    - std::unique_ptr<KeyTypeManager>::release
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegisterAsymmetricKeyManagers(\n      std::unique_ptr<PrivateKeyTypeManager>
      private_key_manager,\n      std::unique_ptr<KeyTypeManager> public_key_manager,\n
      \     bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:88,1
    - Dst: std::unique_ptr<ConcretePrimitiveWrapper>::release
      Src: /src/tink/cc/registry.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - std::unique_ptr<ConcretePrimitiveWrapper>
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: crypto::tink::Registry::RegisterPrimitiveWrapper
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    - std::unique_ptr<ConcretePrimitiveWrapper>::release
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegisterPrimitiveWrapper(\n      std::unique_ptr<ConcretePrimitiveWrapper>
      wrapper)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_url
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: crypto::tink::Registry::get_key_manager
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const KeyManager<P>*>
    signature: "crypto::tink::util::StatusOr<const KeyManager<P>*> get_key_manager(\n
      \     absl::string_view type_url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - google::crypto::tink::KeyData
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: crypto::tink::Registry::GetPrimitive
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> GetPrimitive(\n      const
      google::crypto::tink::KeyData& key_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - google::crypto::tink::KeyTemplate
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: crypto::tink::Registry::NewKeyData
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      std::unique_ptr<google::crypto::tink::KeyData>>"
    signature: "crypto::tink::util::StatusOr<\n      std::unique_ptr<google::crypto::tink::KeyData>>
      NewKeyData(const google::crypto::tink::KeyTemplate& key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_url
    - serialized_private_key
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: crypto::tink::Registry::GetPublicKeyData
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      std::unique_ptr<google::crypto::tink::KeyData>>"
    signature: "crypto::tink::util::StatusOr<\n      std::unique_ptr<google::crypto::tink::KeyData>>
      GetPublicKeyData(absl::string_view type_url,\n                   absl::string_view
      serialized_private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:141,1
    - Dst: std::move
      Src: /src/tink/cc/registry.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<P>>
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: crypto::tink::Registry::Wrap
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> Wrap(\n      std::unique_ptr<PrimitiveSet<P>>
      primitive_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/registry.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: crypto::tink::Registry::Reset
    functionSourceFile: /src/tink/cc/registry.h
    functionUses: 0
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: crypto::tink::SecretKeyAccessToken::SecretKeyAccessToken
    functionSourceFile: /src/tink/cc/secret_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretKeyAccessToken(const SecretKeyAccessToken& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& operator=(const SecretKeyAccessToken& other)'
    functionSourceFile: /src/tink/cc/secret_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecretKeyAccessToken
    signature: SecretKeyAccessToken & operator=(const SecretKeyAccessToken& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: crypto::tink::SecretKeyAccessToken::SecretKeyAccessToken
    functionSourceFile: /src/tink/cc/secret_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretKeyAccessToken(SecretKeyAccessToken&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '& operator=(SecretKeyAccessToken&& other)'
    functionSourceFile: /src/tink/cc/secret_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecretKeyAccessToken
    signature: SecretKeyAccessToken & operator=(SecretKeyAccessToken&& other)
  - 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: crypto::tink::SecretKeyAccessToken::SecretKeyAccessToken
    functionSourceFile: /src/tink/cc/secret_key_access_token.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretKeyAccessToken()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/json_keyset_reader.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - keyset_stream
    argTypes:
    - std::unique_ptr<std::istream>
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: crypto::tink::JsonKeysetReader::JsonKeysetReader
    functionSourceFile: /src/tink/cc/json_keyset_reader.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void JsonKeysetReader(std::unique_ptr<std::istream> keyset_stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - serialized_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::JsonKeysetReader::JsonKeysetReader
    functionSourceFile: /src/tink/cc/json_keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonKeysetReader(absl::string_view serialized_keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyAccess
      Src: /src/tink/cc/secret_key_access.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: crypto::tink::SecretKeyAccess::SecretAccess
    functionSourceFile: /src/tink/cc/secret_key_access.h
    functionUses: 0
    functionsReached:
    - KeyAccess
    linkageType: ''
    returnType: KeyAccess
    signature: KeyAccess SecretAccess()
  - 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: ~KeysetWriter()
    functionSourceFile: /src/tink/cc/keyset_writer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeysetWriter()
  - 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: ~HybridDecrypt()
    functionSourceFile: /src/tink/cc/hybrid_decrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HybridDecrypt()
  - 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: ~StreamingMac()
    functionSourceFile: /src/tink/cc/streaming_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamingMac()
  - 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: crypto::tink::OutputStream::OutputStream
    functionSourceFile: /src/tink/cc/output_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OutputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~OutputStream()
    functionSourceFile: /src/tink/cc/output_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OutputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretProto<google::crypto::tink::Keyset>::ParseFromString
      Src: /src/tink/cc/proto_keyset_format.cc:47,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/proto_keyset_format.cc:48,1
    - Dst: crypto::tink::KeysetHandle::GetEntriesFromKeyset
      Src: /src/tink/cc/proto_keyset_format.cc:51,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/proto_keyset_format.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/proto_keyset_format.cc:53,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/proto_keyset_format.cc:55,1
    - Dst: crypto::tink::util::SecretProto<google::crypto::tink::Keyset>::key_size
      Src: /src/tink/cc/proto_keyset_format.cc:55,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/proto_keyset_format.cc:56,1
    - Dst: crypto::tink::KeysetHandle
      Src: /src/tink/cc/proto_keyset_format.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/proto_keyset_format.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - serialized_keyset
    - token
    argTypes:
    - absl::string_view
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: crypto::tink::ParseKeysetFromProtoKeysetFormat
    functionSourceFile: /src/tink/cc/proto_keyset_format.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::KeysetHandle
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::SecretProto<google::crypto::tink::Keyset>::key_size
    - std::move
    - crypto::tink::util::SecretProto<google::crypto::tink::Keyset>::ParseFromString
    - util::StatusOr::ok
    - crypto::tink::KeysetHandle::GetEntriesFromKeyset
    - util::StatusOr::size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<KeysetHandle>
    signature: "crypto::tink::util::StatusOr<KeysetHandle> ParseKeysetFromProtoKeysetFormat(\n
      \   absl::string_view serialized_keyset, SecretKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/proto_keyset_format.cc:66,1
    - Dst: ByteSizeLong
      Src: /src/tink/cc/proto_keyset_format.cc:67,1
    - Dst: SerializeToArray
      Src: /src/tink/cc/proto_keyset_format.cc:68,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/proto_keyset_format.cc:68,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/proto_keyset_format.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/proto_keyset_format.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - token
    argTypes:
    - KeysetHandle
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: crypto::tink::SerializeKeysetToProtoKeysetFormat
    functionSourceFile: /src/tink/cc/proto_keyset_format.cc
    functionUses: 4
    functionsReached:
    - CleartextKeysetHandle::GetKeyset
    - crypto::tink::internal::ExtractStatus
    - ByteSizeLong
    - util::SecretData::data
    - SerializeToArray
    - util::SecretData::size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretData>
    signature: "crypto::tink::util::StatusOr<util::SecretData> SerializeKeysetToProtoKeysetFormat(const
      KeysetHandle& keyset_handle,\n                                   SecretKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/proto_keyset_format.cc:78,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/proto_keyset_format.cc:80,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>::ok
      Src: /src/tink/cc/proto_keyset_format.cc:81,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>::status
      Src: /src/tink/cc/proto_keyset_format.cc:82,1
    - Dst: std::move
      Src: /src/tink/cc/proto_keyset_format.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - serialized_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
    functionSourceFile: /src/tink/cc/proto_keyset_format.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::KeysetHandle::ReadNoSecret
    - std::string
    - crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>::ok
    - std::move
    - crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>::status
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<KeysetHandle>
    signature: "crypto::tink::util::StatusOr<KeysetHandle> ParseKeysetWithoutSecretFromProtoKeysetFormat(\n
      \   absl::string_view serialized_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/proto_keyset_format.cc:92,1
    - Dst: std::make_unique<std::ostream>
      Src: /src/tink/cc/proto_keyset_format.cc:93,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::ok
      Src: /src/tink/cc/proto_keyset_format.cc:94,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::status
      Src: /src/tink/cc/proto_keyset_format.cc:95,1
    - Dst: WriteNoSecret
      Src: /src/tink/cc/proto_keyset_format.cc:98,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::get
      Src: /src/tink/cc/proto_keyset_format.cc:98,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/proto_keyset_format.cc:99,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/proto_keyset_format.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 103
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 103
    functionName: crypto::tink::SerializeKeysetWithoutSecretToProtoKeysetFormat
    functionSourceFile: /src/tink/cc/proto_keyset_format.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::ok
    - std::make_unique<std::ostream>
    - crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::get
    - crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::status
    - std::stringbuf::str
    - crypto::tink::util::Status::ok
    - WriteNoSecret
    - crypto::tink::BinaryKeysetWriter::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> SerializeKeysetWithoutSecretToProtoKeysetFormat(\n
      \   const KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: crypto::tink::RandomAccessStream::RandomAccessStream
    functionSourceFile: /src/tink/cc/random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RandomAccessStream()
  - 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: ~RandomAccessStream()
    functionSourceFile: /src/tink/cc/random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RandomAccessStream()
  - 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: ~PublicKeySign()
    functionSourceFile: /src/tink/cc/public_key_sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PublicKeySign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/binary_keyset_writer.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - destination_stream
    argTypes:
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: crypto::tink::BinaryKeysetWriter::BinaryKeysetWriter
    functionSourceFile: /src/tink/cc/binary_keyset_writer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void BinaryKeysetWriter(std::unique_ptr<std::ostream> destination_stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: crypto::tink::RestrictedBigInteger::RestrictedBigInteger
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestrictedBigInteger(const RestrictedBigInteger& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const RestrictedBigInteger& other)'
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & operator=(const RestrictedBigInteger& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: crypto::tink::RestrictedBigInteger::RestrictedBigInteger
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RestrictedBigInteger(RestrictedBigInteger&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(RestrictedBigInteger&& other)'
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & operator=(RestrictedBigInteger&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/restricted_big_integer.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: crypto::tink::RestrictedBigInteger::GetSecret
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetSecret(SecretKeyAccessToken token) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/restricted_big_integer.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: crypto::tink::RestrictedBigInteger::SizeInBytes
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t SizeInBytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: operator!=(const RestrictedBigInteger& other) const
    functionSourceFile: /src/tink/cc/restricted_big_integer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const RestrictedBigInteger& other) const
  - 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: crypto::tink::Parameters::Parameters
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: crypto::tink::Parameters::Parameters
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parameters(const Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const Parameters& other)'
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parameters
    signature: Parameters & operator=(const Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::Parameters::Parameters
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parameters(Parameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(Parameters&& other)'
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parameters
    signature: Parameters & operator=(Parameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: operator!=(const Parameters& other) const
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const Parameters& other) const
  - 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: ~Parameters()
    functionSourceFile: /src/tink/cc/parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Parameters()
  - 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: ~PrimitiveWrapper()
    functionSourceFile: /src/tink/cc/primitive_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrimitiveWrapper()
  - 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: ~StreamingAead()
    functionSourceFile: /src/tink/cc/streaming_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamingAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: crypto::tink::CleartextKeysetHandle::CleartextKeysetHandle
    functionSourceFile: /src/tink/cc/cleartext_keyset_handle.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CleartextKeysetHandle()
  - 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: ~KeyFactory()
    functionSourceFile: /src/tink/cc/key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeyFactory()
  - 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: ~PrivateKeyFactory() override
    functionSourceFile: /src/tink/cc/key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrivateKeyFactory() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/key_manager.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: crypto::tink::KeyManagerBase::DoesSupport
    functionSourceFile: /src/tink/cc/key_manager.h
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: bool
    signature: bool DoesSupport(absl::string_view key_type) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~KeyManagerBase()
    functionSourceFile: /src/tink/cc/key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeyManagerBase()
  - 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: ~Mac()
    functionSourceFile: /src/tink/cc/mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Mac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/json_keyset_writer.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - destination_stream
    argTypes:
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: crypto::tink::JsonKeysetWriter::JsonKeysetWriter
    functionSourceFile: /src/tink/cc/json_keyset_writer.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void JsonKeysetWriter(std::unique_ptr<std::ostream> destination_stream)
  - 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: crypto::tink::Configuration::Configuration
    functionSourceFile: /src/tink/cc/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Configuration()
  - 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: crypto::tink::Configuration::Configuration
    functionSourceFile: /src/tink/cc/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Configuration(const Configuration&)
  - 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 Configuration&)'
    functionSourceFile: /src/tink/cc/configuration.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Configuration
    signature: Configuration & operator=(const Configuration&)
  - 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: ~RawKemEncapsulate()
    functionSourceFile: /src/tink/cc/kem/internal/raw_kem_encapsulate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RawKemEncapsulate()
  - 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: ~RawKemDecapsulate()
    functionSourceFile: /src/tink/cc/kem/internal/raw_kem_decapsulate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RawKemDecapsulate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - status
    - key_id
    - key_type
    - key_prefix
    argTypes:
    - KeyStatus
    - uint32_t
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: crypto::tink::MonitoringKeySetInfo::Entry::Entry
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Entry(KeyStatus status, uint32_t key_id, absl::string_view key_type,\n
      \         absl::string_view key_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ToKeyStatusName
      Src: /src/tink/cc/monitoring/monitoring.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: crypto::tink::MonitoringKeySetInfo::Entry::GetStatus
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ToKeyStatusName
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatus() 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: crypto::tink::MonitoringKeySetInfo::Entry::GetKeyId
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetKeyId() 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: crypto::tink::MonitoringKeySetInfo::Entry::GetKeyType
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetKeyType() 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: crypto::tink::MonitoringKeySetInfo::Entry::GetKeyPrefix
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetKeyPrefix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' keyset_annotations'
    - ' keyset_entries'
    - primary_key_id
    argTypes:
    - absl::flat_hash_map<std::string, std::string>
    - std::vector<Entry>
    - uint32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: crypto::tink::MonitoringKeySetInfo::MonitoringKeySetInfo
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonitoringKeySetInfo(\n      const absl::flat_hash_map<std::string,
      std::string>& keyset_annotations,\n      const std::vector<Entry>& keyset_entries,
      uint32_t primary_key_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: '& GetAnnotations() const'
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::flat_hash_map<std::string, std::string>
    signature: absl::flat_hash_map<std::string, std::string> & GetAnnotations() 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: '& GetEntries() const'
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Entry>
    signature: std::vector<Entry> & GetEntries() 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: crypto::tink::MonitoringKeySetInfo::GetPrimaryKeyId
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetPrimaryKeyId() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - primitive
    - api_function
    - ' keyset_info'
    argTypes:
    - absl::string_view
    - absl::string_view
    - MonitoringKeySetInfo
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: crypto::tink::MonitoringContext::MonitoringContext
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonitoringContext(absl::string_view primitive, absl::string_view
      api_function,\n                    const MonitoringKeySetInfo& keyset_info)"
  - 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: crypto::tink::MonitoringContext::GetPrimitive
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetPrimitive() 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: crypto::tink::MonitoringContext::GetApi
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string GetApi() 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: '& GetKeySetInfo() const'
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MonitoringKeySetInfo
    signature: MonitoringKeySetInfo & GetKeySetInfo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: ~MonitoringClient()
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MonitoringClient()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: ~MonitoringClientFactory()
    functionSourceFile: /src/tink/cc/monitoring/monitoring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MonitoringClientFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: crypto::tink::internal::AeadVariant::AeadVariant
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AeadVariant(std::string s)
  - 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: crypto::tink::internal::AeadVariant::get
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/core/key_manager_impl_test.cc:76,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/key_manager_impl_test.cc:77,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: crypto::tink::internal::ExampleKeyTypeManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadVariant>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:85,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::ExampleKeyTypeManager::AeadVariantFactory::Create
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariant>
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>> Create(\n
      \       const AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:90,1
    - Dst: absl::make_unique<AeadVariantFactory>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: crypto::tink::internal::ExampleKeyTypeManager::ExampleKeyTypeManager
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariantFactory>
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void ExampleKeyTypeManager()
  - 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: crypto::tink::internal::ExampleKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:115,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/key_manager_impl_test.cc:115,1
    - Dst: key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: crypto::tink::internal::ExampleKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:127,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:130,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:133,1
    - Dst: dynamic_cast<AesGcmKey&>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:133,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::internal::MakeKeyManager
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - dynamic_cast<AesGcmKey&>
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, FactoryNewKeyFromMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:139,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:142,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:143,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:147,1
    - Dst: dynamic_cast<AesGcmKey&>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:147,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::internal::MakeKeyManager
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - dynamic_cast<AesGcmKey&>
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, FactoryNewKeyFromStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:153,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:156,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:157,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:158,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:162,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:163,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:163,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::internal::MakeKeyManager
    - AesGcmKey::ParseFromString
    - AesGcmKey::key_value
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, FactoryNewKeyFromKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:169,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:172,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:173,1
    - Dst: ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl_test.cc:173,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:174,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:176,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:176,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:177,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - Return
    - ValidateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, FactoryNewKeyFromMessageCallsValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:184,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:188,1
    - Dst: ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl_test.cc:188,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:190,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:192,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:192,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:193,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - HasSubstr
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - Return
    - ValidateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, FactoryNewKeyFromStringViewCallsValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:202,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:206,1
    - Dst: ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl_test.cc:206,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:207,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:209,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:209,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:210,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:212,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - HasSubstr
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - Return
    - ValidateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, FactoryNewKeyFromKeyDataCallsValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:218,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:218,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:219,1
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:219,1
    - Dst: crypto::tink::internal::CreateDeriverFunctionFor
      Src: /src/tink/cc/core/key_manager_impl_test.cc:220,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:223,1
    - Dst: deriver
      Src: /src/tink/cc/core/key_manager_impl_test.cc:224,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/core/key_manager_impl_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:226,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:226,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:227,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:228,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:228,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:229,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - deriver
    - IsOk
    - AesGcmKey
    - EXPECT_CALL
    - crypto::tink::internal::DeriveKey
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - crypto::tink::internal::CreateDeriverFunctionFor
    - Eq
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(CreateDeriverFunctionForTest, KeyMaterialAndKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:234,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:237,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:239,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:239,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/core/key_manager_impl_test.cc:242,1
    - Dst: key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:242,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl_test.cc:243,1
    - Dst: auto::status
      Src: /src/tink/cc/core/key_manager_impl_test.cc:244,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:247,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:247,1
    - Dst: crypto::tink::internal::CreateDeriverFunctionFor
      Src: /src/tink/cc/core/key_manager_impl_test.cc:251,1
    - Dst: deriver
      Src: /src/tink/cc/core/key_manager_impl_test.cc:252,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:252,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:254,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:256,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:256,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 257
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - AesGcmKey::ParseFromString
    - deriver
    - auto::ok
    - AesGcmKey::key_value
    - EXPECT_CALL
    - crypto::tink::internal::DeriveKey
    - Eq
    - AesGcmKeyFormat::set_key_size
    - auto::value
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - crypto::tink::internal::CreateDeriverFunctionFor
    - AesGcmKey::set_key_value
    - key_size
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(CreateDeriverFunctionForTest, UseParametersAndReturnValue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:261,1
    - Dst: ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl_test.cc:261,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:262,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:262,1
    - Dst: crypto::tink::internal::CreateDeriverFunctionFor
      Src: /src/tink/cc/core/key_manager_impl_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:267,1
    - Dst: deriver
      Src: /src/tink/cc/core/key_manager_impl_test.cc:268,1
    - Dst: AesGcmKeyFormat
      Src: /src/tink/cc/core/key_manager_impl_test.cc:268,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:269,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyFormat
    - deriver
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::CreateDeriverFunctionFor
    - ValidateKeyFormat
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(CreateDeriverFunctionForTest, ValidateKeyFormatIsCalled)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:276,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:276,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:277,1
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:277,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:278,1
    - Dst: ValidateKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:278,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:279,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:280,1
    - Dst: crypto::tink::internal::CreateDeriverFunctionFor
      Src: /src/tink/cc/core/key_manager_impl_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:285,1
    - Dst: deriver
      Src: /src/tink/cc/core/key_manager_impl_test.cc:286,1
    - Dst: AesGcmKeyFormat
      Src: /src/tink/cc/core/key_manager_impl_test.cc:286,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:287,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 290
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateDeriverFunctionFor
    - AesGcmKeyFormat
    - deriver
    - crypto::tink::internal::ExtractStatus
    - AesGcmKey
    - EXPECT_CALL
    - crypto::tink::internal::DeriveKey
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - ValidateKey
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(CreateDeriverFunctionForTest, ValidateKeyIsCalled)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:295,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:298,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:300,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:301,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:304,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/core/key_manager_impl_test.cc:305,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/core/key_manager_impl_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:307,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::GetPrimitive
    - auto::Decrypt
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - auto::Encrypt
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:313,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:316,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:317,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:318,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:322,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:322,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:323,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:324,1
    - Dst: auto::get
      Src: /src/tink/cc/core/key_manager_impl_test.cc:324,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:324,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - AesGcmKey::ParseFromString
    - std::unique_ptr::GetPrimitive
    - AesGcmKey::key_value
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - auto::get
    - std::unique_ptr::get_key_factory
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveAeadVariant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:330,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:333,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:334,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:335,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:338,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/core/key_manager_impl_test.cc:339,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/core/key_manager_impl_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:341,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::GetPrimitive
    - auto::Decrypt
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - auto::Encrypt
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveFromKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:348,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/core/key_manager_impl_test.cc:348,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:348,1
    - Dst: ExampleKeyTypeManager::get_key_type
      Src: /src/tink/cc/core/key_manager_impl_test.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::get_key_type
    - ExampleKeyTypeManager::get_key_type
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:354,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:355,1
    - Dst: get_version
      Src: /src/tink/cc/core/key_manager_impl_test.cc:355,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:356,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:356,1
    - Dst: ExampleKeyTypeManager::get_version
      Src: /src/tink/cc/core/key_manager_impl_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - ExampleKeyTypeManager::get_version
    - EXPECT_CALL
    - get_version
    - EXPECT_THAT
    - Return
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:362,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/key_manager_impl_test.cc:363,1
    - Dst: std::unique_ptr::DoesSupport
      Src: /src/tink/cc/core/key_manager_impl_test.cc:363,1
    - Dst: ExampleKeyTypeManager::get_key_type
      Src: /src/tink/cc/core/key_manager_impl_test.cc:363,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/key_manager_impl_test.cc:365,1
    - Dst: std::unique_ptr::DoesSupport
      Src: /src/tink/cc/core/key_manager_impl_test.cc:365,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/key_manager_impl_test.cc:367,1
    - Dst: std::unique_ptr::DoesSupport
      Src: /src/tink/cc/core/key_manager_impl_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::MakeKeyManager
    - ExampleKeyTypeManager::get_key_type
    - std::unique_ptr::DoesSupport
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, DoesSupport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:374,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:377,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:378,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:379,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:383,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:383,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:385,1
    - Dst: ValidateKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:385,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:386,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:386,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:388,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:388,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:389,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - AesGcmKey::ParseFromString
    - std::unique_ptr::GetPrimitive
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - HasSubstr
    - std::unique_ptr::get_key_factory
    - ValidateKey
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveCallsValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:396,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:399,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:400,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:401,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:405,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:405,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/key_manager_impl_test.cc:407,1
    - Dst: ValidateKey
      Src: /src/tink/cc/core/key_manager_impl_test.cc:407,1
    - Dst: Return
      Src: /src/tink/cc/core/key_manager_impl_test.cc:408,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl_test.cc:408,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:410,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:410,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:411,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 413
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - AesGcmKey::ParseFromString
    - std::unique_ptr::GetPrimitive
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - HasSubstr
    - std::unique_ptr::get_key_factory
    - ValidateKey
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveFromKeyCallsValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:423,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:425,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:426,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:427,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:430,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:430,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:431,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/key_manager_impl_test.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::GetPrimitive
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - HasSubstr
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/core/key_manager_impl_test.cc:445,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/key_manager_impl_test.cc:446,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 447
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 447
    functionName: crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::AeadFactory::Create
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadVariant>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:454,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::AeadVariantFactory::Create
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariant>
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>> Create(\n
      \       const AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:459,1
    - Dst: absl::make_unique<AeadVariantFactory>
      Src: /src/tink/cc/core/key_manager_impl_test.cc:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::ExampleKeyTypeManagerWithoutFactory
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariantFactory>
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void ExampleKeyTypeManagerWithoutFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::key_material_type
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::get_version
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 469
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/core/key_manager_impl_test.cc:472,1
    - Dst: version
      Src: /src/tink/cc/core/key_manager_impl_test.cc:472,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/key_manager_impl_test.cc:473,1
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/core/key_manager_impl_test.cc:474,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_manager_impl_test.cc:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::ValidateKey
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - ValidateAesKeySize
    - ValidateVersion
    - key_value
    - version
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const AesGcmKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:486,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:489,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/core/key_manager_impl_test.cc:492,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:492,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/key_manager_impl_test.cc:495,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/core/key_manager_impl_test.cc:496,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/core/key_manager_impl_test.cc:497,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:498,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_manager_impl_test.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::GetPrimitive
    - auto::Decrypt
    - Eq
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - auto::Encrypt
    - crypto::tink::test::AsKeyData
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, GetPrimitiveWithoutFactoryAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:504,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:507,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:508,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:508,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::get_key_factory
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, NonexistentFactoryNewKeyFromMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:515,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:518,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:520,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:520,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:521,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 524
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, NonexistentFactoryNewKeyFromStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/core/key_manager_impl_test.cc:529,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_manager_impl_test.cc:532,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:533,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/key_manager_impl_test.cc:533,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl_test.cc:534,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 537
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - StatusIs
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerImplTest, NonexistentFactoryNewKeyFromKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateDeriverFunctionFor
      Src: /src/tink/cc/core/key_manager_impl_test.cc:541,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_impl_test.cc:542,1
    - Dst: deriver
      Src: /src/tink/cc/core/key_manager_impl_test.cc:542,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_impl_test.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - deriver
    - crypto::tink::internal::CreateDeriverFunctionFor
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(CreateDeriverFunctionForTest, DeriverWithoutFactory)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:59,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:60,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:61,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:62,1
    - Dst: PrimitiveSet<Mac>*::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:64,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - primitive_set
    - key_id_offset
    - primitives_count
    argTypes:
    - PrimitiveSet<Mac>*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: crypto::tink::add_primitives
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - PrimitiveSet<Mac>*::AddPrimitive
    linkageType: ''
    returnType: void
    signature: "void add_primitives(PrimitiveSet<Mac>* primitive_set, int key_id_offset,\n
      \                   int primitives_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:73,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:74,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:75,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:76,1
    - Dst: PrimitiveSet<Mac>::Builder*::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - primitive_set_builder
    - key_id_offset
    - primitives_count
    argTypes:
    - PrimitiveSet<Mac>::Builder*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: crypto::tink::add_primitives
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet<Mac>::Builder*::AddPrimitive
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    linkageType: ''
    returnType: void
    signature: "void add_primitives(PrimitiveSet<Mac>::Builder* primitive_set_builder,\n
      \                   int key_id_offset, int primitives_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:86,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:87,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:88,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:89,1
    - Dst: PrimitiveSet<Mac>*::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:91,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/core/primitive_set_test.cc:92,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - primitive_set
    - key_id_offset
    - primitives_count
    argTypes:
    - PrimitiveSet<Mac>*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: crypto::tink::access_primitives
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - PrimitiveSet<Mac>*::get_primitives
    - auto::ok
    - KeysetInfo::KeyInfo::set_key_id
    - auto::value
    - EXPECT_GE
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - crypto::tink::CryptoFormat::GetOutputPrefix
    linkageType: ''
    returnType: void
    signature: "void access_primitives(PrimitiveSet<Mac>* primitive_set, int key_id_offset,\n
      \                      int primitives_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::add_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:105,1
    - Dst: crypto::tink::add_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:107,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:108,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:112,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:112,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:113,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:113,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:118,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:119,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:124,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:125,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:126,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:127,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:129,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:129,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:129,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:132,1
    - Dst: auto::size
      Src: /src/tink/cc/core/primitive_set_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:134,1
    - Dst: auto::size
      Src: /src/tink/cc/core/primitive_set_test.cc:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::size
    - auto::ok
    - crypto::tink::add_primitives
    - EXPECT_EQ
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet::get_primitives
    - auto::value
    - ASSERT_TRUE
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - std::thread::join
    - crypto::tink::CryptoFormat::GetOutputPrefix
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, ConcurrentOperations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:141,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:143,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:145,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:147,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:149,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:151,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:155,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:156,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:157,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:161,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:162,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:163,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:167,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:168,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:169,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:173,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:174,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:175,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:179,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:180,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:181,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:185,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:186,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:187,1
    - Dst: crypto::tink::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:192,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:193,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:194,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:195,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:196,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:198,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:201,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:201,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:201,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:202,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:202,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/primitive_set_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:209,1
    - Dst: auto::get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:210,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:210,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:211,1
    - Dst: PrimitiveSet::get_raw_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:216,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:217,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:217,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:219,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:220,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:220,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:221,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:222,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:222,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:224,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:225,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:225,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:226,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:226,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:230,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:232,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:233,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:233,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:235,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:236,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:236,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:237,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:238,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:238,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:240,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:241,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:241,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:242,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:242,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:246,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:248,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:249,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:249,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:251,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:252,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:252,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:253,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:253,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:257,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:259,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:260,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:260,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:262,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:263,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:263,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:264,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 267
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - PrimitiveSet::get_primitives
    - DummyMac
    - ASSERT_TRUE
    - PrimitiveSet::get_primary
    - KeysetInfo::KeyInfo::key_id
    - EXPECT_FALSE
    - PrimitiveSet::get_raw_primitives
    - auto::status
    - auto::get_status
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_status
    - get_key_id
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - get_output_prefix_type
    - EXPECT_EQ
    - auto::get_primitive
    - KeysetInfo::KeyInfo::set_key_id
    - get_status
    - crypto::tink::size
    - get_primitive
    - crypto::tink::AddPrimitive
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:275,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:276,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:280,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:281,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:284,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:285,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:286,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:287,1
    - Dst: PrimitiveSet<Mac>::Builder::AddPrimaryPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:291,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:291,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:293,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:294,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:294,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:294,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:295,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:295,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:300,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:301,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:301,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:301,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:305,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:306,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:307,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:308,1
    - Dst: PrimitiveSet<Mac>::Builder::AddPrimaryPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:312,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:312,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:314,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:315,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:315,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:315,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:316,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:316,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:317,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:320,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:321,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:321,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:321,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:325,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:326,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:327,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:328,1
    - Dst: PrimitiveSet<Mac>::Builder::AddPrimaryPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:332,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:332,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:335,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:335,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:335,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:336,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:336,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:337,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:339,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:340,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:341,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:341,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 343
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - EXPECT_EQ
    - std::move
    - PrimitiveSet<Mac>::Builder::AddPrimaryPrimitive
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet::get_primitives
    - auto::value
    - crypto::tink::size
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - ASSERT_TRUE
    - PrimitiveSet::get_primary
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, PrimaryKeyWithIdCollisions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:347,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:351,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:352,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:353,1
    - Dst: crypto::tink::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:356,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:357,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/primitive_set_test.cc:359,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 360
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - crypto::tink::AddPrimitive
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, DisabledKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:367,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:368,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:369,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key_id
    - output_prefix_type
    - key_status
    - type_url
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: crypto::tink::CreateKey
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_type_url
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo CreateKey(uint32_t key_id,\n                              OutputPrefixType
      output_prefix_type,\n                              KeyStatusType key_status,\n
      \                             absl::string_view type_url)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ' first'
    - ' other'
    argTypes:
    - MacIdAndTypeUrl
    - MacIdAndTypeUrl
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: operator==(const MacIdAndTypeUrl& first, const MacIdAndTypeUrl&
      other)
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const MacIdAndTypeUrl& first, const MacIdAndTypeUrl&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:389,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:391,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:392,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:396,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:397,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:402,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:403,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:407,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:408,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:412,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:413,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:418,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:418,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:418,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:419,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:419,1
    - Dst: PrimitiveSet::get_all
      Src: /src/tink/cc/core/primitive_set_test.cc:422,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:423,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:424,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:424,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/core/primitive_set_test.cc:425,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:425,1
    - Dst: get_identifier
      Src: /src/tink/cc/core/primitive_set_test.cc:425,1
    - Dst: std::string
      Src: /src/tink/cc/core/primitive_set_test.cc:426,1
    - Dst: get_key_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:426,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:431,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:433,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:435,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:439,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:442,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tink/cc/core/primitive_set_test.cc:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 443
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - ASSERT_THAT
    - absl::StrCat
    - ASSERT_TRUE
    - auto::status
    - std::string
    - crypto::tink::CreateKey
    - IsOk
    - get_key_type_url
    - EXPECT_THAT
    - get_identifier
    - std::vector::push_back
    - get_primitive
    - UnorderedElementsAreArray
    - crypto::tink::AddPrimitive
    - auto::value
    - PrimitiveSet::get_all
    - absl::make_unique<DummyMac>
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, GetAll)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<KeysetDeriver>>
      Src: /src/tink/cc/core/primitive_set_test.cc:446,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:450,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:451,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:452,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:455,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:455,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/core/primitive_set_test.cc:456,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:457,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/core/primitive_set_test.cc:458,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:460,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:461,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:462,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:463,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:465,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:465,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/core/primitive_set_test.cc:466,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:467,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/core/primitive_set_test.cc:468,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:470,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:471,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:472,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:473,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:475,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:476,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/core/primitive_set_test.cc:476,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:478,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/core/primitive_set_test.cc:479,1
    - Dst: auto::get_all_in_keyset_order
      Src: /src/tink/cc/core/primitive_set_test.cc:482,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:483,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/primitive_set_test.cc:483,1
    - Dst: std::vector::size
      Src: /src/tink/cc/core/primitive_set_test.cc:483,1
    - Dst: std::vector::size
      Src: /src/tink/cc/core/primitive_set_test.cc:485,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:486,1
    - Dst: get_identifier
      Src: /src/tink/cc/core/primitive_set_test.cc:486,1
    - Dst: Eq
      Src: /src/tink/cc/core/primitive_set_test.cc:487,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:487,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:488,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:488,1
    - Dst: Eq
      Src: /src/tink/cc/core/primitive_set_test.cc:488,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:489,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:489,1
    - Dst: Eq
      Src: /src/tink/cc/core/primitive_set_test.cc:489,1
    - Dst: key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:489,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:490,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:490,1
    - Dst: Eq
      Src: /src/tink/cc/core/primitive_set_test.cc:491,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:491,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:492,1
    - Dst: get_key_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:492,1
    - Dst: Eq
      Src: /src/tink/cc/core/primitive_set_test.cc:492,1
    - Dst: type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 494
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - type_url
    - KeysetInfo::KeyInfo::set_type_url
    - SizeIs
    - auto::AddPrimitive
    - IsOk
    - std::vector::size
    - absl::make_unique<test::FakeKeysetDeriver>
    - get_key_type_url
    - EXPECT_THAT
    - get_identifier
    - KeysetInfo::KeyInfo::set_status
    - get_key_id
    - auto::get_all_in_keyset_order
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - output_prefix_type
    - absl::make_unique<PrimitiveSet<KeysetDeriver>>
    - get_output_prefix_type
    - KeysetInfo::KeyInfo::set_key_id
    - key_id
    - get_status
    - std::vector::push_back
    - Eq
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, GetAllInKeysetOrder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::add_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:504,1
    - Dst: crypto::tink::add_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:506,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:507,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:508,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:513,1
    - Dst: std::thread::join
      Src: /src/tink/cc/core/primitive_set_test.cc:514,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:519,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:520,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:521,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:522,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:523,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:524,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:524,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:524,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:527,1
    - Dst: auto::size
      Src: /src/tink/cc/core/primitive_set_test.cc:527,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:529,1
    - Dst: auto::size
      Src: /src/tink/cc/core/primitive_set_test.cc:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 532
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::size
    - crypto::tink::add_primitives
    - auto::ok
    - EXPECT_EQ
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet::get_primitives
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - std::thread::join
    - crypto::tink::CryptoFormat::GetOutputPrefix
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, LegacyConcurrentOperations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:536,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:538,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:540,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:542,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:544,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:546,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:550,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:551,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:552,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:556,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:557,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:558,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:562,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:563,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:564,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:568,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:569,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:570,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:574,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:575,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:576,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:580,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:581,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:582,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:585,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:585,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:586,1
    - Dst: PrimitiveSet::get_raw_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:588,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:589,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:593,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:593,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:594,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:594,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:594,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:596,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:596,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:597,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:597,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:597,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:599,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:599,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:600,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:600,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:601,1
    - Dst: PrimitiveSet::set_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:601,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:601,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:601,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:603,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:603,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:604,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:604,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:604,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:606,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:606,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:607,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:607,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:607,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:609,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:609,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:610,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:610,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:610,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:613,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:613,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/primitive_set_test.cc:614,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:615,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:616,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:621,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/primitive_set_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:623,1
    - Dst: auto::get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:623,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:624,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:624,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:625,1
    - Dst: PrimitiveSet::get_raw_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:630,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:630,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:631,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:631,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:632,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:633,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:633,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:634,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:634,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:634,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:635,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:636,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:636,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:637,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:638,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:638,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:639,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:639,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:639,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:640,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:640,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:644,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:645,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:646,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:647,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:647,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:648,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:649,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:650,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:650,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:651,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:652,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:652,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:654,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:655,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:655,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:656,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:656,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:660,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:662,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:663,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:663,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:665,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:665,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:666,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:666,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:666,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:667,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:667,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:671,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:673,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:673,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:674,1
    - Dst: DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:674,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:676,1
    - Dst: get_status
      Src: /src/tink/cc/core/primitive_set_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:677,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:677,1
    - Dst: get_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:677,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:678,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 681
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 681
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - PrimitiveSet::get_primitives
    - DummyMac
    - PrimitiveSet::get_primary
    - KeysetInfo::KeyInfo::key_id
    - EXPECT_FALSE
    - PrimitiveSet::get_raw_primitives
    - PrimitiveSet::set_primary
    - auto::status
    - auto::get_status
    - IsOk
    - EXPECT_THAT
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_status
    - get_key_id
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - get_output_prefix_type
    - EXPECT_EQ
    - auto::get_primitive
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet::AddPrimitive
    - get_status
    - crypto::tink::size
    - get_primitive
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, LegacyBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:689,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:690,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:694,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:695,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:698,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:699,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:700,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:701,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:703,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:703,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:707,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:707,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:708,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:708,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:708,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:709,1
    - Dst: PrimitiveSet::set_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:709,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:709,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:710,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:714,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:715,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:715,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:716,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:716,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:716,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:720,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:720,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:721,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:721,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:721,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:722,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:722,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:723,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:723,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:723,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:727,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:728,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:729,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:730,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:732,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:732,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:736,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:736,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:737,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:737,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:737,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:738,1
    - Dst: PrimitiveSet::set_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:738,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:738,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:739,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:741,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:743,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:744,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:744,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:745,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:745,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:745,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:749,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:749,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:750,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:750,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:750,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:751,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:751,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:752,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:752,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:752,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:756,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:757,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:758,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:759,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:761,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:761,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:765,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:765,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:766,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:766,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:766,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:767,1
    - Dst: PrimitiveSet::set_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:767,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:767,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:768,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/primitive_set_test.cc:770,1
    - Dst: PrimitiveSet::get_primitives
      Src: /src/tink/cc/core/primitive_set_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:773,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:773,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:774,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:774,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:774,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:778,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:778,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/primitive_set_test.cc:779,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:779,1
    - Dst: auto::status
      Src: /src/tink/cc/core/primitive_set_test.cc:779,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:780,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/primitive_set_test.cc:780,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/primitive_set_test.cc:781,1
    - Dst: PrimitiveSet::get_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:781,1
    - Dst: get
      Src: /src/tink/cc/core/primitive_set_test.cc:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 783
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - ASSERT_THAT
    - PrimitiveSet::get_primitives
    - PrimitiveSet::get_primary
    - PrimitiveSet::set_primary
    - auto::status
    - IsOk
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_status
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_EQ
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet::AddPrimitive
    - crypto::tink::size
    - get
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, LegacyPrimaryKeyWithIdCollisions)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/core/primitive_set_test.cc:787,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/primitive_set_test.cc:791,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/primitive_set_test.cc:792,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/core/primitive_set_test.cc:793,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:798,1
    - Dst: std::move
      Src: /src/tink/cc/core/primitive_set_test.cc:798,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/primitive_set_test.cc:799,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/primitive_set_test.cc:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 800
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 800
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - PrimitiveSet::AddPrimitive
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, LegacyDisabledKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:804,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:805,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:806,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:807,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:811,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:813,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:814,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:815,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:816,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:820,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:822,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:823,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:824,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:827,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:827,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:828,1
    - Dst: PrimitiveSet::set_primary
      Src: /src/tink/cc/core/primitive_set_test.cc:828,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:828,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:828,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:830,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:831,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:832,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:833,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:837,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:839,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/core/primitive_set_test.cc:840,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/core/primitive_set_test.cc:841,1
    - Dst: crypto::tink::CreateKey
      Src: /src/tink/cc/core/primitive_set_test.cc:842,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:846,1
    - Dst: PrimitiveSet::get_all
      Src: /src/tink/cc/core/primitive_set_test.cc:849,1
    - Dst: get_primitive
      Src: /src/tink/cc/core/primitive_set_test.cc:850,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:851,1
    - Dst: IsOk
      Src: /src/tink/cc/core/primitive_set_test.cc:851,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/core/primitive_set_test.cc:852,1
    - Dst: auto::value
      Src: /src/tink/cc/core/primitive_set_test.cc:852,1
    - Dst: get_identifier
      Src: /src/tink/cc/core/primitive_set_test.cc:852,1
    - Dst: std::string
      Src: /src/tink/cc/core/primitive_set_test.cc:853,1
    - Dst: get_key_type_url
      Src: /src/tink/cc/core/primitive_set_test.cc:853,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:858,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:860,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:862,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/primitive_set_test.cc:866,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/primitive_set_test.cc:869,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tink/cc/core/primitive_set_test.cc:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 870
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 870
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/primitive_set_test.cc
    functionUses: 0
    functionsReached:
    - PrimitiveSet::set_primary
    - get_primitive
    - std::string
    - crypto::tink::CreateKey
    - IsOk
    - UnorderedElementsAreArray
    - ASSERT_THAT
    - PrimitiveSet::AddPrimitive
    - auto::value
    - std::vector::push_back
    - EXPECT_THAT
    - PrimitiveSet::get_all
    - get_key_type_url
    - absl::StrCat
    - get_identifier
    - absl::make_unique<DummyMac>
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrimitiveSetTest, LegacyGetAll)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/core/private_key_type_manager.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: "crypto::tink::PrivateKeyTypeManager<KeyProto, KeyFormatProto, PublicKeyProto,\n
      \                           List<Primitives...>>::PrivateKeyTypeManager"
    functionSourceFile: /src/tink/cc/core/private_key_type_manager.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PrivateKeyTypeManager(\n      std::unique_ptr<typename KeyTypeManager<KeyProto,
      KeyFormatProto,\n                                              List<Primitives...>>::\n
      \                         template PrimitiveFactory<Primitives>>... primitives)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/core/keyset_handle.cc:74,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/keyset_handle.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle.cc:75,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle.cc:75,1
    - Dst: absl::make_unique<EncryptedKeyset>
      Src: /src/tink/cc/core/keyset_handle.cc:76,1
    - Dst: auto::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle.cc:77,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' keyset'
    - ' master_key_aead'
    - associated_data
    argTypes:
    - Keyset
    - Aead
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: crypto::tink::Encrypt
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 3
    functionsReached:
    - auto::status
    - auto::ok
    - absl::make_unique<EncryptedKeyset>
    - std::move
    - crypto::tink::Encrypt
    - auto::value
    - SerializeAsString
    - auto::set_encrypted_keyset
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EncryptedKeyset>>
    signature: "util::StatusOr<std::unique_ptr<EncryptedKeyset>> Encrypt(\n    const
      Keyset& keyset, const Aead& master_key_aead,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/core/keyset_handle.cc:85,1
    - Dst: encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle.cc:85,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle.cc:86,1
    - Dst: crypto::tink::util::SafeZeroString
      Src: /src/tink/cc/core/keyset_handle.cc:89,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' enc_keyset'
    - ' master_key_aead'
    - associated_data
    argTypes:
    - EncryptedKeyset
    - Aead
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: crypto::tink::Decrypt
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::Decrypt
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::value
    - crypto::tink::util::SafeZeroString
    - encrypted_keyset
    linkageType: ''
    returnType: util::StatusOr<util::SecretProto<Keyset>>
    signature: "util::StatusOr<util::SecretProto<Keyset>> Decrypt(\n    const EncryptedKeyset&
      enc_keyset, const Aead& master_key_aead,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:99,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:100,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:101,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:103,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: crypto::tink::ValidateNoSecret
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - key
    - key_data
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateNoSecret(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle.cc:115,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_handle.cc:116,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/core/keyset_handle.cc:119,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:120,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/keyset_handle.cc:121,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:121,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle.cc:121,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:122,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Keyset::Key
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: crypto::tink::ToProtoKeySerialization
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - key_id
    - key_data
    - output_prefix_type
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> ToProtoKeySerialization(\n
      \   const Keyset::Key& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:129,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle.cc:130,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_handle.cc:133,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/core/keyset_handle.cc:136,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:136,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:137,1
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/core/keyset_handle.cc:142,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_handle.cc:142,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:143,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:143,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle.cc:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: crypto::tink::KeysetHandle::ValidateAt
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::FromKeyStatusType
    - status
    - key_id
    - util::StatusOr::ok
    - key
    - key_data
    - crypto::tink::internal::IsPrintableAscii
    - output_prefix_type
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status KeysetHandle::ValidateAt(int index) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle.cc:151,1
    - Dst: crypto::tink::KeysetHandle::ValidateAt
      Src: /src/tink/cc/core/keyset_handle.cc:152,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/keyset_handle.cc:153,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:155,1
    - Dst: Keyset::Key::key_id
      Src: /src/tink/cc/core/keyset_handle.cc:156,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:156,1
    - Dst: Keyset::Key::status
      Src: /src/tink/cc/core/keyset_handle.cc:158,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:159,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:166,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:170,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle.cc:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: crypto::tink::KeysetHandle::Validate
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - primary_key_id
    - size
    - crypto::tink::internal::ExtractStatus
    - Keyset::Key::status
    - Keyset::Key::key_id
    - key
    - crypto::tink::KeysetHandle::ValidateAt
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status KeysetHandle::Validate() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle.cc:178,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/core/keyset_handle.cc:179,1
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_handle.cc:181,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:182,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:182,1
    - Dst: crypto::tink::internal::LogFatal
      Src: /src/tink/cc/core/keyset_handle.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: crypto::tink::KeysetHandle::GetPrimary
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - primary_key_id
    - key
    - crypto::tink::KeysetHandle::Validate
    - crypto::tink::internal::LogFatal
    - key_size
    - CHECK_OK
    linkageType: ''
    returnType: KeysetHandle::Entry
    signature: KeysetHandle::Entry KeysetHandle::GetPrimary() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/core/keyset_handle.cc:192,1
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle.cc:192,1
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle.cc:193,1
    - Dst: empty
      Src: /src/tink/cc/core/keyset_handle.cc:195,1
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle.cc:195,1
    - Dst: CreateEntryAt
      Src: /src/tink/cc/core/keyset_handle.cc:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: KeysetHandle::operator[](int index) const
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - CreateEntryAt
    - empty
    - size
    - CHECK
    linkageType: ''
    returnType: KeysetHandle::Entry
    signature: KeysetHandle::Entry KeysetHandle::operator[](int index) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/core/keyset_handle.cc:209,1
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle.cc:209,1
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle.cc:210,1
    - Dst: crypto::tink::KeysetHandle::ValidateAt
      Src: /src/tink/cc/core/keyset_handle.cc:212,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/core/keyset_handle.cc:213,1
    - Dst: crypto::tink::KeysetHandle::CreateEntry
      Src: /src/tink/cc/core/keyset_handle.cc:216,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:216,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:216,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/core/keyset_handle.cc:218,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: crypto::tink::KeysetHandle::CreateEntryAt
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - primary_key_id
    - size
    - crypto::tink::KeysetHandle::CreateEntry
    - util::StatusOr::status
    - CHECK
    - key
    - crypto::tink::KeysetHandle::ValidateAt
    - CHECK_OK
    linkageType: ''
    returnType: KeysetHandle::Entry
    signature: KeysetHandle::Entry KeysetHandle::CreateEntryAt(int index) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToProtoKeySerialization
      Src: /src/tink/cc/core/keyset_handle.cc:225,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:226,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:227,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/core/keyset_handle.cc:231,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle.cc:233,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:234,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:235,1
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/core/keyset_handle.cc:239,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_handle.cc:239,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:241,1
    - Dst: Entry
      Src: /src/tink/cc/core/keyset_handle.cc:244,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:244,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_handle.cc:244,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_handle.cc:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' proto_key'
    - primary_key_id
    argTypes:
    - Keyset::Key
    - uint32_t
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: crypto::tink::KeysetHandle::CreateEntry
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 1
    functionsReached:
    - Entry
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::internal::FromKeyStatusType
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - status
    - ToProtoKeySerialization
    - key_id
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<KeysetHandle::Entry>
    signature: "util::StatusOr<KeysetHandle::Entry> KeysetHandle::CreateEntry(\n    const
      Keyset::Key& proto_key, uint32_t primary_key_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::ReadWithAssociatedData
      Src: /src/tink/cc/core/keyset_handle.cc:252,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - ' master_key_aead'
    - "\n        monitoring_annotations"
    argTypes:
    - std::unique_ptr<KeysetReader>
    - Aead
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: crypto::tink::KeysetHandle::Read
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::ReadWithAssociatedData
    - std::move
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetHandle::Read(\n
      \   std::unique_ptr<KeysetReader> reader, const Aead& master_key_aead,\n    const
      absl::flat_hash_map<std::string, std::string>&\n        monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<KeysetReader>::ReadEncrypted
      Src: /src/tink/cc/core/keyset_handle.cc:263,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:264,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_handle.cc:265,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:267,1
    - Dst: Decrypt
      Src: /src/tink/cc/core/keyset_handle.cc:271,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/core/keyset_handle.cc:271,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle.cc:272,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_handle.cc:273,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle.cc:275,1
    - Dst: crypto::tink::KeysetHandle::GetEntriesFromKeyset
      Src: /src/tink/cc/core/keyset_handle.cc:278,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:279,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:280,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/keyset_handle.cc:282,1
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_handle.cc:282,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:283,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/keyset_handle.cc:286,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:286,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/keyset_handle.cc:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - reader
    - ' master_key_aead'
    - associated_data
    - "\n        monitoring_annotations"
    argTypes:
    - std::unique_ptr<KeysetReader>
    - Aead
    - absl::string_view
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 288
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 288
    functionName: crypto::tink::KeysetHandle::ReadWithAssociatedData
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - util::StatusOr::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - KeysetHandle::KeysetHandle
    - std::unique_ptr<KeysetReader>::ReadEncrypted
    - ToStatusF
    - absl::WrapUnique
    - util::StatusOr::ok
    - crypto::tink::KeysetHandle::GetEntriesFromKeyset
    - util::StatusOr::size
    - Decrypt
    - key_size
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetHandle::ReadWithAssociatedData(\n
      \   std::unique_ptr<KeysetReader> reader, const Aead& master_key_aead,\n    absl::string_view
      associated_data,\n    const absl::flat_hash_map<std::string, std::string>&\n
      \       monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::SecretProto::ParseFromString
      Src: /src/tink/cc/core/keyset_handle.cc:295,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:296,1
    - Dst: ValidateNoSecret
      Src: /src/tink/cc/core/keyset_handle.cc:299,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/keyset_handle.cc:300,1
    - Dst: crypto::tink::KeysetHandle::GetEntriesFromKeyset
      Src: /src/tink/cc/core/keyset_handle.cc:304,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:305,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:306,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/keyset_handle.cc:308,1
    - Dst: util::SecretProto::key_size
      Src: /src/tink/cc/core/keyset_handle.cc:308,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:309,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/keyset_handle.cc:312,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:313,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/keyset_handle.cc:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialized_keyset'
    - "\n        monitoring_annotations"
    argTypes:
    - std::string
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 314
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 314
    functionName: crypto::tink::KeysetHandle::ReadNoSecret
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 1
    functionsReached:
    - util::SecretProto::ParseFromString
    - util::Status::ok
    - util::StatusOr::status
    - util::SecretProto::key_size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - KeysetHandle::KeysetHandle
    - absl::WrapUnique
    - ValidateNoSecret
    - crypto::tink::KeysetHandle::GetEntriesFromKeyset
    - util::StatusOr::ok
    - util::StatusOr::size
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetHandle::ReadNoSecret(\n
      \   const std::string& serialized_keyset,\n    const absl::flat_hash_map<std::string,
      std::string>&\n        monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::WriteWithAssociatedData
      Src: /src/tink/cc/core/keyset_handle.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - ' master_key_aead'
    argTypes:
    - KeysetWriter*
    - Aead
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: crypto::tink::KeysetHandle::Write
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::WriteWithAssociatedData
    linkageType: ''
    returnType: util::Status
    signature: "util::Status KeysetHandle::Write(KeysetWriter* writer,\n                                 const
      Aead& master_key_aead) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:325,1
    - Dst: Encrypt
      Src: /src/tink/cc/core/keyset_handle.cc:328,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle.cc:329,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_handle.cc:330,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle.cc:332,1
    - Dst: KeysetWriter*::Write
      Src: /src/tink/cc/core/keyset_handle.cc:334,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle.cc:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - writer
    - ' master_key_aead'
    - associated_data
    argTypes:
    - KeysetWriter*
    - Aead
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: crypto::tink::KeysetHandle::WriteWithAssociatedData
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - KeysetWriter*::Write
    - crypto::tink::internal::ExtractStatus
    - ToStatusF
    - auto::value
    - Encrypt
    linkageType: ''
    returnType: util::Status
    signature: "util::Status KeysetHandle::WriteWithAssociatedData(\n    KeysetWriter*
      writer, const Aead& master_key_aead,\n    absl::string_view associated_data)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:339,1
    - Dst: ValidateNoSecret
      Src: /src/tink/cc/core/keyset_handle.cc:343,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/keyset_handle.cc:344,1
    - Dst: KeysetWriter*::Write
      Src: /src/tink/cc/core/keyset_handle.cc:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - KeysetWriter*
    constantsTouched: []
    func_position:
      end: 347
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 347
    functionName: crypto::tink::KeysetHandle::WriteNoSecret
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - util::Status::ok
    - ValidateNoSecret
    - KeysetWriter*::Write
    linkageType: ''
    returnType: util::Status
    signature: util::Status KeysetHandle::WriteNoSecret(KeysetWriter* writer) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/keyset_handle.cc:353,1
    - Dst: util::SecretProto<Keyset>
      Src: /src/tink/cc/core/keyset_handle.cc:354,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/keyset_handle.cc:354,1
    - Dst: auto::AddKey
      Src: /src/tink/cc/core/keyset_handle.cc:356,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:357,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:358,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' key_template'
    - ' config'
    - "\n        monitoring_annotations"
    argTypes:
    - KeyTemplate
    - KeyGenConfiguration
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: crypto::tink::KeysetHandle::GenerateNew
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - auto::AddKey
    - util::StatusOr::status
    - std::move
    - KeysetHandle::KeysetHandle
    - util::SecretProto<Keyset>
    - absl::WrapUnique
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetHandle::GenerateNew(\n
      \   const KeyTemplate& key_template, const KeyGenConfiguration& config,\n    const
      absl::flat_hash_map<std::string, std::string>&\n        monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_template'
    - ' config'
    argTypes:
    - KeyTemplate
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: crypto::tink::KeysetHandle::GenerateNew
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetHandle::GenerateNew(\n
      \   const KeyTemplate& key_template, const KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:370,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:371,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/core/keyset_handle.cc:377,1
    - Dst: crypto::tink::Registry::GetPublicKeyData
      Src: /src/tink/cc/core/keyset_handle.cc:378,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:378,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:379,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/core/keyset_handle.cc:382,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:383,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:384,1
    - Dst: Get
      Src: /src/tink/cc/core/keyset_handle.cc:387,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:387,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:388,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:389,1
    - Dst: dynamic_cast<const PrivateKeyFactory*>
      Src: /src/tink/cc/core/keyset_handle.cc:391,1
    - Dst: key_factory
      Src: /src/tink/cc/core/keyset_handle.cc:392,1
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/core/keyset_handle.cc:394,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:397,1
    - Dst: auto::GetPublicKeyData
      Src: /src/tink/cc/core/keyset_handle.cc:399,1
    - Dst: key_data
      Src: /src/tink/cc/core/keyset_handle.cc:399,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:401,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:402,1
    - Dst: absl::make_unique<Keyset::Key>
      Src: /src/tink/cc/core/keyset_handle.cc:405,1
    - Dst: auto::mutable_key_data
      Src: /src/tink/cc/core/keyset_handle.cc:406,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/core/keyset_handle.cc:406,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' key'
    - ' config'
    argTypes:
    - Keyset::Key
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 408
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 408
    functionName: crypto::tink::ExtractPublicKey
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<Keyset::Key>
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - crypto::tink::internal::ExtractStatus
    - key_factory
    - crypto::tink::Registry::GetPublicKeyData
    - std::move
    - dynamic_cast<const PrivateKeyFactory*>
    - Get
    - util::StatusOr::ok
    - crypto::tink::ToStatusF
    - key_data
    - auto::GetPublicKeyData
    - auto::mutable_key_data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset::Key>>
    signature: "util::StatusOr<std::unique_ptr<Keyset::Key>> ExtractPublicKey(\n    const
      Keyset::Key& key, const KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:413,1
    - Dst: ExtractPublicKey
      Src: /src/tink/cc/core/keyset_handle.cc:414,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle.cc:415,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle.cc:415,1
    - Dst: util::SecretProto::add_key
      Src: /src/tink/cc/core/keyset_handle.cc:416,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle.cc:416,1
    - Dst: util::SecretProto::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:418,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:418,1
    - Dst: crypto::tink::KeysetHandle::GetEntriesFromKeyset
      Src: /src/tink/cc/core/keyset_handle.cc:420,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:421,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:422,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/keyset_handle.cc:424,1
    - Dst: util::SecretProto::key_size
      Src: /src/tink/cc/core/keyset_handle.cc:424,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:425,1
    - Dst: absl::WrapUnique<KeysetHandle>
      Src: /src/tink/cc/core/keyset_handle.cc:428,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:429,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/keyset_handle.cc:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: crypto::tink::KeysetHandle::GetPublicKeysetHandle
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - absl::WrapUnique<KeysetHandle>
    - auto::ok
    - primary_key_id
    - util::StatusOr::status
    - util::SecretProto::key_size
    - util::SecretProto::set_primary_key_id
    - crypto::tink::internal::ExtractStatus
    - std::move
    - KeysetHandle::KeysetHandle
    - util::SecretProto::add_key
    - util::StatusOr::ok
    - auto::value
    - crypto::tink::KeysetHandle::GetEntriesFromKeyset
    - util::StatusOr::size
    - key
    - ExtractPublicKey
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetHandle::GetPublicKeysetHandle(const
      KeyGenConfiguration& config) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle.cc:435,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle.cc:437,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/core/keyset_handle.cc:443,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/core/keyset_handle.cc:444,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/core/keyset_handle.cc:447,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:448,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:449,1
    - Dst: Get
      Src: /src/tink/cc/core/keyset_handle.cc:452,1
    - Dst: type_url
      Src: /src/tink/cc/core/keyset_handle.cc:452,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:453,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:454,1
    - Dst: key_factory
      Src: /src/tink/cc/core/keyset_handle.cc:456,1
    - Dst: value
      Src: /src/tink/cc/core/keyset_handle.cc:456,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:458,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:459,1
    - Dst: Keyset*::add_key
      Src: /src/tink/cc/core/keyset_handle.cc:463,1
    - Dst: Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/core/keyset_handle.cc:464,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle.cc:464,1
    - Dst: Keyset::Key*::set_status
      Src: /src/tink/cc/core/keyset_handle.cc:465,1
    - Dst: Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_handle.cc:466,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle.cc:466,1
    - Dst: Keyset::Key*::set_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:469,1
    - Dst: Keyset*::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - ' key_template'
    - as_primary
    - ' config'
    - keyset
    argTypes:
    - google::crypto::tink::KeyTemplate
    - bool
    - KeyGenConfiguration
    - Keyset*
    constantsTouched: []
    func_position:
      end: 474
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 474
    functionName: crypto::tink::KeysetHandle::AddToKeyset
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - Keyset*::set_primary_key_id
    - util::StatusOr::status
    - crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
    - Keyset::Key*::set_output_prefix_type
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - crypto::tink::internal::ExtractStatus
    - key_factory
    - std::move
    - Keyset::Key*::mutable_key_data
    - Get
    - util::StatusOr::ok
    - Keyset*::add_key
    - type_url
    - value
    - Keyset::Key*::set_status
    - Keyset::Key*::set_key_id
    - output_prefix_type
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<uint32_t>
    signature: "crypto::tink::util::StatusOr<uint32_t> KeysetHandle::AddToKeyset(\n
      \   const google::crypto::tink::KeyTemplate& key_template, bool as_primary,\n
      \   const KeyGenConfiguration& config, Keyset* keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::AddToKeyset
      Src: /src/tink/cc/core/keyset_handle.cc:480,1
    - Dst: get
      Src: /src/tink/cc/core/keyset_handle.cc:480,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:481,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:482,1
    - Dst: crypto::tink::KeysetHandle::CreateEntry
      Src: /src/tink/cc/core/keyset_handle.cc:484,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:485,1
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_handle.cc:485,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:485,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:486,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:487,1
    - Dst: push_back
      Src: /src/tink/cc/core/keyset_handle.cc:489,1
    - Dst: std::make_shared<const Entry>
      Src: /src/tink/cc/core/keyset_handle.cc:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' key_template'
    - as_primary
    - ' config'
    argTypes:
    - google::crypto::tink::KeyTemplate
    - bool
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 491
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 491
    functionName: crypto::tink::KeysetHandle::AddKey
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - push_back
    - util::StatusOr::status
    - primary_key_id
    - crypto::tink::KeysetHandle::AddToKeyset
    - crypto::tink::KeysetHandle::CreateEntry
    - std::make_shared<const Entry>
    - util::StatusOr::ok
    - key
    - key_size
    - get
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<uint32_t>
    signature: "crypto::tink::util::StatusOr<uint32_t> KeysetHandle::AddKey(\n    const
      google::crypto::tink::KeyTemplate& key_template, bool as_primary,\n    const
      KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfoFromKeyset
      Src: /src/tink/cc/core/keyset_handle.cc:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: crypto::tink::KeysetHandle::GetKeysetInfo
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 0
    functionsReached:
    - KeysetInfoFromKeyset
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo KeysetHandle::GetKeysetInfo() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle.cc:500,1
    - Dst: crypto::tink::KeysetHandle::CreateEntry
      Src: /src/tink/cc/core/keyset_handle.cc:502,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle.cc:502,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle.cc:503,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle.cc:504,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/core/keyset_handle.cc:506,1
    - Dst: std::make_shared<const Entry>
      Src: /src/tink/cc/core/keyset_handle.cc:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 509
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 509
    functionName: crypto::tink::KeysetHandle::GetEntriesFromKeyset
    functionSourceFile: /src/tink/cc/core/keyset_handle.cc
    functionUses: 4
    functionsReached:
    - util::StatusOr::status
    - primary_key_id
    - crypto::tink::KeysetHandle::CreateEntry
    - std::make_shared<const Entry>
    - util::StatusOr::ok
    - std::vector::push_back
    - key
    linkageType: ''
    returnType: util::StatusOr<std::vector<std::shared_ptr<const KeysetHandle::Entry>>>
    signature: util::StatusOr<std::vector<std::shared_ptr<const KeysetHandle::Entry>>>
      KeysetHandle::GetEntriesFromKeyset(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:48,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:50,1
    - Dst: set_primary_key_id
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:52,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:53,1
    - Dst: set_encrypted_keyset
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:56,1
    - Dst: mutable_keyset_info
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:57,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:58,1
    - Dst: auto::add_key_info
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:59,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:60,1
    - Dst: auto::set_key_id
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:61,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: crypto::tink::BinaryKeysetReaderTest::SetUp
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - AddRawKey
    - mutable_keyset_info
    - set_primary_key_id
    - AddTinkKey
    - auto::set_primary_key_id
    - set_encrypted_keyset
    - auto::set_key_id
    - auto::set_type_url
    - SerializeAsString
    - auto::add_key_info
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:79,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:84,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:84,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:84,1
    - Dst: std::string
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:89,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:88,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:90,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:91,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:96,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:96,1
    - Dst: std::string
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:101,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:100,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:102,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:103,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::BinaryKeysetReader::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetReaderTest, testReaderCreation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:110,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:110,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:111,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:111,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:112,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:113,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:113,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:114,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:115,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:115,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:120,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:121,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:121,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:123,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:124,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::BinaryKeysetReader::New
    - auto::SerializeAsString
    - auto::value
    - EXPECT_FALSE
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetReaderTest, testReadFromString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:131,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:130,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:132,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:133,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:133,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:133,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:134,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:134,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:136,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:136,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:136,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:137,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:138,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:138,1
    - Dst: std::string
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:143,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:142,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:144,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:145,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:145,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:145,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:146,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:147,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::BinaryKeysetReader::New
    - auto::SerializeAsString
    - auto::value
    - EXPECT_FALSE
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetReaderTest, testReadFromStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:157,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:157,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:158,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:158,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:160,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:160,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:160,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:161,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:162,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:163,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:168,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:168,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:168,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:169,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:169,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:171,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:172,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::BinaryKeysetReader::New
    - auto::SerializeAsString
    - auto::value
    - auto::ReadEncrypted
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetReaderTest, testReadEncryptedFromString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:180,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:180,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:183,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:184,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:184,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:185,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:185,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:187,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:187,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:187,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:188,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:189,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:190,1
    - Dst: std::string
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:195,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:194,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:196,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:197,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:197,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:198,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:198,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:200,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:201,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_reader_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 204
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::BinaryKeysetReader::New
    - auto::SerializeAsString
    - auto::value
    - auto::ReadEncrypted
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetReaderTest, testReadEncryptedFromStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:53,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:57,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:58,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:58,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedBigIntegerTest, CreateAndGetSecret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:63,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:69,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:69,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:70,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:70,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:72,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:72,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - EXPECT_FALSE
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedBigIntegerTest, CreateAndGetSecretPadded)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:81,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:82,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:82,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedBigIntegerTest, CreateAndGetEmptyStringWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:91,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:91,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:92,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:92,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:92,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedBigIntegerTest, CreateAndGetNullCharactersWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:97,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:104,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:105,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedBigIntegerTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:117,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RestricteddBigIntegerTest, EqualsPadded)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:137,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:137,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:138,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:141,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 144
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - RestrictedBigInteger::SizeInBytes
    - EXPECT_THAT
    - EXPECT_FALSE
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedRestrictedBigIntegerTest, NotEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:162,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:163,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:163,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - RestrictedBigInteger::SizeInBytes
    - EXPECT_THAT
    - EXPECT_FALSE
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedRestrictedBigIntegerTest, NotEqualsDifferentSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:176,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:176,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:177,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:178,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:178,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:179,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:179,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedRestrictedBigIntegerTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:187,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:187,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:188,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:188,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:188,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:189,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedRestrictedBigIntegerTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:197,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:197,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:198,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:198,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:198,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:199,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedRestrictedBigIntegerTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:207,1
    - Dst: RestrictedBigInteger::SizeInBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:208,1
    - Dst: RestrictedBigInteger::GetSecret
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:208,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:208,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:209,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/restricted_big_integer_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_big_integer_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger::GetSecret
    - RestrictedBigInteger::SizeInBytes
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedRestrictedBigIntegerTest, MoveAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetHandleBuilder::Entry*::SetStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:53,1
    - Dst: KeysetHandleBuilder::Entry*::SetPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:55,1
    - Dst: KeysetHandleBuilder::Entry*::UnsetPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:57,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/core/keyset_handle_builder.cc:59,1
    - Dst: KeysetHandleBuilder::Entry*::SetFixedId
      Src: /src/tink/cc/core/keyset_handle_builder.cc:60,1
    - Dst: KeysetHandleBuilder::Entry*::SetRandomId
      Src: /src/tink/cc/core/keyset_handle_builder.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - status
    - is_primary
    - id
    - entry
    argTypes:
    - KeyStatus
    - bool
    - absl::optional<int>
    - KeysetHandleBuilder::Entry*
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: crypto::tink::SetBuilderEntryAttributes
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry*::UnsetPrimary
    - KeysetHandleBuilder::Entry*::SetFixedId
    - KeysetHandleBuilder::Entry*::SetRandomId
    - KeysetHandleBuilder::Entry*::SetPrimary
    - absl::optional<int>::has_value
    - KeysetHandleBuilder::Entry*::SetStatus
    linkageType: ''
    returnType: void
    signature: "void SetBuilderEntryAttributes(KeyStatus status, bool is_primary,\n
      \                              absl::optional<int> id,\n                               KeysetHandleBuilder::Entry*
      entry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::size
      Src: /src/tink/cc/core/keyset_handle_builder.cc:69,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder.cc:72,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:73,1
    - Dst: KeysetHandle::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:73,1
    - Dst: KeysetHandle::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:73,1
    - Dst: AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::CreateFromKey
    - AddEntry
    - std::move
    - KeysetHandle::Entry::IsPrimary
    - KeysetHandle::Entry::GetStatus
    - crypto::tink::KeysetHandleBuilder::size
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilder::KeysetHandleBuilder(const KeysetHandle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<const Key>::GetIdRequirement
      Src: /src/tink/cc/core/keyset_handle_builder.cc:80,1
    - Dst: absl::make_unique<internal::KeyEntry>
      Src: /src/tink/cc/core/keyset_handle_builder.cc:81,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:81,1
    - Dst: SetBuilderEntryAttributes
      Src: /src/tink/cc/core/keyset_handle_builder.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - status
    - is_primary
    argTypes:
    - std::shared_ptr<const Key>
    - KeyStatus
    - bool
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: "KeysetHandleBuilder::Entry::CreateFromKey(\n    std::shared_ptr<const
      Key> key, KeyStatus status, bool is_primary)"
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr<const Key>::GetIdRequirement
    - std::move
    - absl::make_unique<internal::KeyEntry>
    - SetBuilderEntryAttributes
    linkageType: ''
    returnType: KeysetHandleBuilder::Entry
    signature: "KeysetHandleBuilder::Entry KeysetHandleBuilder::Entry::CreateFromKey(\n
      \   std::shared_ptr<const Key> key, KeyStatus status, bool is_primary)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<internal::ParametersEntry>
      Src: /src/tink/cc/core/keyset_handle_builder.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:91,1
    - Dst: SetBuilderEntryAttributes
      Src: /src/tink/cc/core/keyset_handle_builder.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - parameters
    - status
    - is_primary
    - id
    argTypes:
    - std::shared_ptr<const Parameters>
    - KeyStatus
    - bool
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: "KeysetHandleBuilder::Entry::CreateFromParams(\n    std::shared_ptr<const
      Parameters> parameters, KeyStatus status,\n    bool is_primary, absl::optional<int>
      id)"
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<internal::ParametersEntry>
    - SetBuilderEntryAttributes
    linkageType: ''
    returnType: KeysetHandleBuilder::Entry
    signature: "KeysetHandleBuilder::Entry KeysetHandleBuilder::Entry::CreateFromParams(\n
      \   std::shared_ptr<const Parameters> parameters, KeyStatus status,\n    bool
      is_primary, absl::optional<int> id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::KeyIdStrategy::id_requirement::has_value
      Src: /src/tink/cc/core/keyset_handle_builder.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:101,1
    - Dst: find
      Src: /src/tink/cc/core/keyset_handle_builder.cc:108,1
    - Dst: end
      Src: /src/tink/cc/core/keyset_handle_builder.cc:108,1
    - Dst: crypto::tink::subtle::Random::GetRandomUInt32
      Src: /src/tink/cc/core/keyset_handle_builder.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - strategy
    - ' ids_so_far'
    argTypes:
    - internal::KeyIdStrategy
    - std::set<int>
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: crypto::tink::KeysetHandleBuilder::NextIdFromKeyIdStrategy
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::internal::ExtractStatus
    - internal::KeyIdStrategy::id_requirement::has_value
    - crypto::tink::subtle::Random::GetRandomUInt32
    - find
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: "util::StatusOr<int> KeysetHandleBuilder::NextIdFromKeyIdStrategy(\n
      \   internal::KeyIdStrategy strategy, const std::set<int>& ids_so_far)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnsetPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: crypto::tink::KeysetHandleBuilder::ClearPrimary
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - UnsetPrimary
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilder::ClearPrimary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/core/keyset_handle_builder.cc:125,1
    - Dst: KeysetHandleBuilder::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:128,1
    - Dst: ClearPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:129,1
    - Dst: push_back
      Src: /src/tink/cc/core/keyset_handle_builder.cc:131,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - entry
    argTypes:
    - KeysetHandleBuilder::Entry
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: "& KeysetHandleBuilder::AddEntry(\n    KeysetHandleBuilder::Entry
      entry)"
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - push_back
    - std::move
    - KeysetHandleBuilder::Entry::IsPrimary
    - ClearPrimary
    - CHECK
    linkageType: ''
    returnType: KeysetHandleBuilder
    signature: "KeysetHandleBuilder & KeysetHandleBuilder::AddEntry(\n    KeysetHandleBuilder::Entry
      entry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/core/keyset_handle_builder.cc:136,1
    - Dst: size
      Src: /src/tink/cc/core/keyset_handle_builder.cc:136,1
    - Dst: erase
      Src: /src/tink/cc/core/keyset_handle_builder.cc:138,1
    - Dst: begin
      Src: /src/tink/cc/core/keyset_handle_builder.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: '& KeysetHandleBuilder::RemoveEntry(int index)'
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - begin
    - erase
    - size
    - CHECK
    linkageType: ''
    returnType: KeysetHandleBuilder
    signature: KeysetHandleBuilder & KeysetHandleBuilder::RemoveEntry(int index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::size
      Src: /src/tink/cc/core/keyset_handle_builder.cc:145,1
    - Dst: HasRandomId
      Src: /src/tink/cc/core/keyset_handle_builder.cc:146,1
    - Dst: HasRandomId
      Src: /src/tink/cc/core/keyset_handle_builder.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:147,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: crypto::tink::KeysetHandleBuilder::CheckIdAssignments
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::KeysetHandleBuilder::size
    - crypto::tink::util::OkStatus
    - HasRandomId
    linkageType: ''
    returnType: util::Status
    signature: util::Status KeysetHandleBuilder::CheckIdAssignments()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - "\n        monitoring_annotations"
    argTypes:
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: "& KeysetHandleBuilder::SetMonitoringAnnotations(\n    const absl::flat_hash_map<std::string,
      std::string>&\n        monitoring_annotations)"
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetHandleBuilder
    signature: "KeysetHandleBuilder & KeysetHandleBuilder::SetMonitoringAnnotations(\n
      \   const absl::flat_hash_map<std::string, std::string>&\n        monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:164,1
    - Dst: crypto::tink::KeysetHandleBuilder::CheckIdAssignments
      Src: /src/tink/cc/core/keyset_handle_builder.cc:172,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/keyset_handle_builder.cc:173,1
    - Dst: crypto::tink::KeysetHandleBuilder::NextIdFromKeyIdStrategy
      Src: /src/tink/cc/core/keyset_handle_builder.cc:178,1
    - Dst: GetKeyIdStrategy
      Src: /src/tink/cc/core/keyset_handle_builder.cc:178,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle_builder.cc:179,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder.cc:179,1
    - Dst: std::set::find
      Src: /src/tink/cc/core/keyset_handle_builder.cc:181,1
    - Dst: std::set::end
      Src: /src/tink/cc/core/keyset_handle_builder.cc:181,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:182,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/core/keyset_handle_builder.cc:184,1
    - Dst: std::set::insert
      Src: /src/tink/cc/core/keyset_handle_builder.cc:186,1
    - Dst: CreateKeysetKey
      Src: /src/tink/cc/core/keyset_handle_builder.cc:189,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle_builder.cc:190,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder.cc:190,1
    - Dst: util::SecretProto::add_key
      Src: /src/tink/cc/core/keyset_handle_builder.cc:192,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder.cc:193,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/core/keyset_handle_builder.cc:194,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:195,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/core/keyset_handle_builder.cc:204,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_builder.cc:205,1
    - Dst: util::SecretProto::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_builder.cc:208,1
    - Dst: crypto::tink::KeysetHandle::GetEntriesFromKeyset
      Src: /src/tink/cc/core/keyset_handle_builder.cc:210,1
    - Dst: KeysetHandle
      Src: /src/tink/cc/core/keyset_handle_builder.cc:211,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:211,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder.cc:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 213
    functionName: crypto::tink::KeysetHandleBuilder::Build
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::set::find
    - GetKeyIdStrategy
    - crypto::tink::KeysetHandleBuilder::CheckIdAssignments
    - util::Status::ok
    - crypto::tink::KeysetHandleBuilder::NextIdFromKeyIdStrategy
    - util::StatusOr::ok
    - CreateKeysetKey
    - util::SecretProto::add_key
    - std::set::insert
    - KeysetHandle
    - absl::optional::has_value
    - std::set::end
    - util::StatusOr::status
    - IsPrimary
    - crypto::tink::internal::ExtractStatus
    - util::SecretProto::set_primary_key_id
    - crypto::tink::KeysetHandle::GetEntriesFromKeyset
    - absl::StrFormat
    linkageType: ''
    returnType: util::StatusOr<KeysetHandle>
    signature: util::StatusOr<KeysetHandle> KeysetHandleBuilder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializeToOstream
      Src: /src/tink/cc/core/binary_keyset_writer.cc:41,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/binary_keyset_writer.cc:42,1
    - Dst: std::ostream*::fail
      Src: /src/tink/cc/core/binary_keyset_writer.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/binary_keyset_writer.cc:46,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/binary_keyset_writer.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' proto'
    - destination
    argTypes:
    - portable_proto::MessageLite
    - std::ostream*
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: crypto::tink::WriteProto
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - SerializeToOstream
    - crypto::tink::util::OkStatus
    - std::ostream*::fail
    linkageType: ''
    returnType: util::Status
    signature: "util::Status WriteProto(const portable_proto::MessageLite& proto,\n
      \                       std::ostream* destination)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/binary_keyset_writer.cc:59,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/binary_keyset_writer.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer.cc:63,1
    - Dst: BinaryKeysetWriter::BinaryKeysetWriter
      Src: /src/tink/cc/core/binary_keyset_writer.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - destination_stream
    argTypes:
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: crypto::tink::BinaryKeysetWriter::New
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer.cc
    functionUses: 1
    functionsReached:
    - BinaryKeysetWriter::BinaryKeysetWriter
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>
    signature: "util::StatusOr<std::unique_ptr<BinaryKeysetWriter>> BinaryKeysetWriter::New(\n
      \   std::unique_ptr<std::ostream> destination_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteProto
      Src: /src/tink/cc/core/binary_keyset_writer.cc:67,1
    - Dst: get
      Src: /src/tink/cc/core/binary_keyset_writer.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: crypto::tink::BinaryKeysetWriter::Write
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - WriteProto
    - get
    linkageType: ''
    returnType: util::Status
    signature: util::Status BinaryKeysetWriter::Write(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WriteProto
      Src: /src/tink/cc/core/binary_keyset_writer.cc:72,1
    - Dst: get
      Src: /src/tink/cc/core/binary_keyset_writer.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encrypted_keyset'
    argTypes:
    - EncryptedKeyset
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: crypto::tink::BinaryKeysetWriter::Write
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - WriteProto
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status BinaryKeysetWriter::Write(\n    const EncryptedKeyset&
      encrypted_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetManager>
      Src: /src/tink/cc/core/keyset_manager.cc:47,1
    - Dst: auto::Rotate
      Src: /src/tink/cc/core/keyset_manager.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager.cc:49,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_manager.cc:49,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_manager.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: crypto::tink::KeysetManager::New
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - absl::make_unique<KeysetManager>
    - auto::Rotate
    - auto::ok
    - std::move
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<KeysetManager>>
    signature: "StatusOr<std::unique_ptr<KeysetManager>> KeysetManager::New(\n    const
      KeyTemplate& key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetManager>
      Src: /src/tink/cc/core/keyset_manager.cc:56,1
    - Dst: get_keyset
      Src: /src/tink/cc/core/keyset_manager.cc:58,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_manager.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: crypto::tink::KeysetManager::New
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<KeysetManager>
    - std::move
    - get_keyset
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<KeysetManager>>
    signature: "StatusOr<std::unique_ptr<KeysetManager>> KeysetManager::New(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/keyset_manager.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: crypto::tink::KeysetManager::GetKeysetHandle
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - KeysetHandle::KeysetHandle
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: std::unique_ptr<KeysetHandle> KeysetManager::GetKeysetHandle()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetManager::Add
      Src: /src/tink/cc/core/keyset_manager.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: crypto::tink::KeysetManager::Add
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::KeysetManager::Add
    linkageType: ''
    returnType: StatusOr<uint32_t>
    signature: StatusOr<uint32_t> KeysetManager::Add(const KeyTemplate& key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/core/keyset_manager.cc:76,1
    - Dst: Status::ok
      Src: /src/tink/cc/core/keyset_manager.cc:77,1
    - Dst: crypto::tink::KeysetHandle::AddToKeyset
      Src: /src/tink/cc/core/keyset_manager.cc:81,1
    - Dst: get
      Src: /src/tink/cc/core/keyset_manager.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key_template'
    - as_primary
    argTypes:
    - google::crypto::tink::KeyTemplate
    - bool
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: crypto::tink::KeysetManager::Add
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
    - Status::ok
    - get
    - crypto::tink::KeysetHandle::AddToKeyset
    linkageType: ''
    returnType: StatusOr<uint32_t>
    signature: "StatusOr<uint32_t> KeysetManager::Add(\n    const google::crypto::tink::KeyTemplate&
      key_template, bool as_primary)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetManager::Add
      Src: /src/tink/cc/core/keyset_manager.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: crypto::tink::KeysetManager::Rotate
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetManager::Add
    linkageType: ''
    returnType: StatusOr<uint32_t>
    signature: StatusOr<uint32_t> KeysetManager::Rotate(const KeyTemplate& key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mutable_key
      Src: /src/tink/cc/core/keyset_manager.cc:91,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_manager.cc:92,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:93,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:94,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:95,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/core/keyset_manager.cc:97,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:97,1
    - Dst: set_status
      Src: /src/tink/cc/core/keyset_manager.cc:99,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_manager.cc:100,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: crypto::tink::KeysetManager::Enable
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - mutable_key
    - status
    - set_status
    - ToStatusF
    - key_id
    - crypto::tink::util::Enums::KeyStatusName
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status KeysetManager::Enable(uint32_t key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_manager.cc:109,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:110,1
    - Dst: mutable_key
      Src: /src/tink/cc/core/keyset_manager.cc:113,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_manager.cc:114,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:115,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:116,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:117,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/core/keyset_manager.cc:119,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:119,1
    - Dst: set_status
      Src: /src/tink/cc/core/keyset_manager.cc:121,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_manager.cc:122,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: crypto::tink::KeysetManager::Disable
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - primary_key_id
    - mutable_key
    - status
    - set_status
    - key_id
    - ToStatusF
    - crypto::tink::util::Enums::KeyStatusName
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status KeysetManager::Disable(uint32_t key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_manager.cc:131,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:132,1
    - Dst: mutable_key
      Src: /src/tink/cc/core/keyset_manager.cc:135,1
    - Dst: auto::begin
      Src: /src/tink/cc/core/keyset_manager.cc:136,1
    - Dst: auto::end
      Src: /src/tink/cc/core/keyset_manager.cc:136,1
    - Dst: auto::key_id
      Src: /src/tink/cc/core/keyset_manager.cc:139,1
    - Dst: mutable_key
      Src: /src/tink/cc/core/keyset_manager.cc:140,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_manager.cc:141,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: crypto::tink::KeysetManager::Delete
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - auto::begin
    - auto::key_id
    - primary_key_id
    - mutable_key
    - ToStatusF
    - auto::end
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status KeysetManager::Delete(uint32_t key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_manager.cc:150,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:151,1
    - Dst: mutable_key
      Src: /src/tink/cc/core/keyset_manager.cc:154,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_manager.cc:155,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:156,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:157,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:158,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:159,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/core/keyset_manager.cc:161,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:161,1
    - Dst: clear_key_data
      Src: /src/tink/cc/core/keyset_manager.cc:163,1
    - Dst: set_status
      Src: /src/tink/cc/core/keyset_manager.cc:164,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_manager.cc:165,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: crypto::tink::KeysetManager::Destroy
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - primary_key_id
    - mutable_key
    - clear_key_data
    - status
    - set_status
    - key_id
    - ToStatusF
    - crypto::tink::util::Enums::KeyStatusName
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status KeysetManager::Destroy(uint32_t key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/tink/cc/core/keyset_manager.cc:174,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_manager.cc:175,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_manager.cc:176,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:177,1
    - Dst: set_primary_key_id
      Src: /src/tink/cc/core/keyset_manager.cc:182,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_manager.cc:183,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/keyset_manager.cc:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - key_id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: crypto::tink::KeysetManager::SetPrimary
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - set_primary_key_id
    - status
    - ToStatusF
    - key_id
    - key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status KeysetManager::SetPrimary(uint32_t key_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_manager.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: crypto::tink::KeysetManager::KeyCount
    functionSourceFile: /src/tink/cc/core/keyset_manager.cc
    functionUses: 0
    functionsReached:
    - key_size
    linkageType: ''
    returnType: int
    signature: int KeysetManager::KeyCount() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/core/keyset_manager_test.cc:42,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:43,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: crypto::tink::KeysetManagerTest::SetUp
    functionSourceFile: /src/tink/cc/core/keyset_manager_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - crypto::tink::DeterministicAeadConfig::Register
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: crypto::tink::KeysetManagerTest::TearDown
    functionSourceFile: /src/tink/cc/core/keyset_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/keyset_manager_test.cc:50,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/core/keyset_manager_test.cc:52,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/core/keyset_manager_test.cc:52,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_manager_test.cc:53,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/core/keyset_manager_test.cc:54,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/core/keyset_manager_test.cc:54,1
    - Dst: crypto::tink::KeysetManager::New
      Src: /src/tink/cc/core/keyset_manager_test.cc:57,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:58,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:58,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_manager_test.cc:58,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_manager_test.cc:59,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_manager_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:60,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:60,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:64,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:65,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:65,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:67,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:68,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:69,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:70,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/core/keyset_manager_test.cc:70,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:72,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:72,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_manager_test.cc:75,1
    - Dst: auto::Add
      Src: /src/tink/cc/core/keyset_manager_test.cc:76,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:77,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_manager_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:78,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:78,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_manager_test.cc:79,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:80,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:81,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:82,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:82,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:83,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:83,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:85,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:86,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:87,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/core/keyset_manager_test.cc:87,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:89,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:89,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_manager_test.cc:92,1
    - Dst: auto::Rotate
      Src: /src/tink/cc/core/keyset_manager_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:94,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:94,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_manager_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:95,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_manager_test.cc:96,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:97,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:98,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:99,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:99,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:100,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:100,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:102,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:102,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:104,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:105,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:106,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/core/keyset_manager_test.cc:106,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:108,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:108,1
    - Dst: auto::SetPrimary
      Src: /src/tink/cc/core/keyset_manager_test.cc:111,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:112,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:112,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:113,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:114,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:115,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:116,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_manager_test.cc:120,1
    - Dst: crypto::tink::KeysetManager::New
      Src: /src/tink/cc/core/keyset_manager_test.cc:120,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:120,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:122,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:123,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/keyset_manager_test.cc:123,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/keyset_manager_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:126,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:126,1
    - Dst: auto::Disable
      Src: /src/tink/cc/core/keyset_manager_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:129,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:129,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:130,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:131,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:131,1
    - Dst: auto::SetPrimary
      Src: /src/tink/cc/core/keyset_manager_test.cc:133,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:134,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:135,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:135,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:136,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:137,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:137,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:138,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:139,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:142,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:142,1
    - Dst: auto::Enable
      Src: /src/tink/cc/core/keyset_manager_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:144,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:145,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:146,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:148,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:148,1
    - Dst: auto::Disable
      Src: /src/tink/cc/core/keyset_manager_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:150,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:150,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:151,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:152,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:155,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:155,1
    - Dst: auto::Enable
      Src: /src/tink/cc/core/keyset_manager_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:157,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:157,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:158,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:159,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:160,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:160,1
    - Dst: auto::Destroy
      Src: /src/tink/cc/core/keyset_manager_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:163,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:164,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:164,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:165,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:166,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:167,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:167,1
    - Dst: auto::Enable
      Src: /src/tink/cc/core/keyset_manager_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:170,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:171,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:171,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:172,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:173,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:173,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:174,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:175,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:176,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:176,1
    - Dst: auto::Delete
      Src: /src/tink/cc/core/keyset_manager_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:180,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:181,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:181,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:182,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:184,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:184,1
    - Dst: auto::Destroy
      Src: /src/tink/cc/core/keyset_manager_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:187,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:187,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:188,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:189,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:189,1
    - Dst: auto::Delete
      Src: /src/tink/cc/core/keyset_manager_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:192,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:192,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:193,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:194,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:194,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:197,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:199,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:199,1
    - Dst: auto::Disable
      Src: /src/tink/cc/core/keyset_manager_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:202,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:202,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:203,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:204,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:204,1
    - Dst: auto::Destroy
      Src: /src/tink/cc/core/keyset_manager_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:207,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:207,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:208,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:209,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:209,1
    - Dst: auto::Delete
      Src: /src/tink/cc/core/keyset_manager_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:212,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:212,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:213,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:214,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:214,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:216,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:217,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_manager_test.cc:217,1
    - Dst: auto::Delete
      Src: /src/tink/cc/core/keyset_manager_test.cc:220,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_manager_test.cc:221,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:221,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_manager_test.cc:222,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_manager_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:223,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:224,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_manager_test.cc:224,1
    - Dst: auto::SetPrimary
      Src: /src/tink/cc/core/keyset_manager_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_manager_test.cc:227,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_manager_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:228,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_manager_test.cc:228,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_manager_test.cc:229,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_manager_test.cc:230,1
    - Dst: auto::message
      Src: /src/tink/cc/core/keyset_manager_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_manager_test.cc:231,1
    - Dst: auto::KeyCount
      Src: /src/tink/cc/core/keyset_manager_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 232
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::Delete
    - AesGcmKeyFormat::SerializeAsString
    - TestKeysetHandle::GetKeyset
    - auto::Disable
    - auto::message
    - EXPECT_FALSE
    - auto::SetPrimary
    - auto::status
    - std::string
    - KeyTemplate::set_output_prefix_type
    - auto::GetKeysetHandle
    - AesGcmKeyFormat::set_key_size
    - auto::SerializeAsString
    - auto::code
    - auto::KeyCount
    - auto::Rotate
    - EXPECT_EQ
    - AesGcmKeyManager
    - EXPECT_PRED_FORMAT2
    - auto::Destroy
    - KeyTemplate::set_type_url
    - auto::Add
    - KeyTemplate::set_value
    - auto::key
    - crypto::tink::KeysetManager::New
    - auto::value
    - auto::primary_key_id
    - auto::Enable
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetManagerTest, testBasicOperations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<KeysetReader>::Read
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:47,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:48,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:49,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:51,1
    - Dst: crypto::tink::KeysetHandle::GetEntriesFromKeyset
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:54,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:56,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:58,1
    - Dst: key_size
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:59,1
    - Dst: util::SecretProto<Keyset>
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:63,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - "\n        monitoring_annotations"
    argTypes:
    - std::unique_ptr<KeysetReader>
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: crypto::tink::CleartextKeysetHandle::Read
    functionSourceFile: /src/tink/cc/core/cleartext_keyset_handle.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::move
    - KeysetHandle::KeysetHandle
    - util::SecretProto<Keyset>
    - ToStatusF
    - std::unique_ptr<KeysetReader>::Read
    - util::StatusOr::ok
    - crypto::tink::KeysetHandle::GetEntriesFromKeyset
    - util::StatusOr::size
    - key_size
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> CleartextKeysetHandle::Read(\n
      \   std::unique_ptr<KeysetReader> reader,\n    const absl::flat_hash_map<std::string,
      std::string>&\n        monitoring_annotations)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:72,1
    - Dst: KeysetWriter*::Write
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:75,1
    - Dst: get_keyset
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - writer
    - ' keyset_handle'
    argTypes:
    - KeysetWriter*
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: crypto::tink::CleartextKeysetHandle::Write
    functionSourceFile: /src/tink/cc/core/cleartext_keyset_handle.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - get_keyset
    - KeysetWriter*::Write
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status CleartextKeysetHandle::Write(\n    KeysetWriter*
      writer, const KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:82,1
    - Dst: util::SecretProto<Keyset>
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:82,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    functionSourceFile: /src/tink/cc/core/cleartext_keyset_handle.cc
    functionUses: 0
    functionsReached:
    - KeysetHandle::KeysetHandle
    - util::SecretProto<Keyset>
    - absl::WrapUnique
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: "std::unique_ptr<KeysetHandle> CleartextKeysetHandle::GetKeysetHandle(\n
      \   const Keyset& keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_keyset
      Src: /src/tink/cc/core/cleartext_keyset_handle.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: "& CleartextKeysetHandle::GetKeyset(\n    const KeysetHandle& keyset_handle)"
    functionSourceFile: /src/tink/cc/core/cleartext_keyset_handle.cc
    functionUses: 0
    functionsReached:
    - get_keyset
    linkageType: ''
    returnType: Keyset
    signature: "Keyset & CleartextKeysetHandle::GetKeyset(\n    const KeysetHandle&
      keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*::get_key_type
      Src: /src/tink/cc/core/private_key_manager_impl.h:59,1
    - Dst: KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*::key_material_type
      Src: /src/tink/cc/core/private_key_manager_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key_manager
    - public_key_manager
    argTypes:
    - "PrivateKeyTypeManager<PrivateKeyProto, PrivateKeyFormatProto,\n                            PublicKeyProto,
      PrivatePrimitivesList>*"
    - KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: crypto::tink::internal::PrivateKeyFactoryImpl::PrivateKeyFactoryImpl
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 0
    functionsReached:
    - KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*::key_material_type
    - KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*::get_key_type
    linkageType: ''
    returnType: void
    signature: "void PrivateKeyFactoryImpl(\n      PrivateKeyTypeManager<PrivateKeyProto,
      PrivateKeyFormatProto,\n                            PublicKeyProto, PrivatePrimitivesList>*\n
      \         private_key_manager,\n      KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*\n
      \         public_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
      Src: /src/tink/cc/core/private_key_manager_impl.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - portable_proto::MessageLite
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(const portable_proto::MessageLite& key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
      Src: /src/tink/cc/core/private_key_manager_impl.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrivateKeyFactoryImpl::NewKeyData
      Src: /src/tink/cc/core/private_key_manager_impl.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::PrivateKeyFactoryImpl::NewKeyData
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::PrivateKeyFactoryImpl::NewKeyData
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
      NewKeyData(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKeyProto::ParseFromString
      Src: /src/tink/cc/core/private_key_manager_impl.h:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/private_key_manager_impl.h:81,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/private_key_manager_impl.h:83,1
    - Dst: PrivateKeyProto
      Src: /src/tink/cc/core/private_key_manager_impl.h:84,1
    - Dst: ValidateKey
      Src: /src/tink/cc/core/private_key_manager_impl.h:86,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/private_key_manager_impl.h:87,1
    - Dst: absl::make_unique<google::crypto::tink::KeyData>
      Src: /src/tink/cc/core/private_key_manager_impl.h:88,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/core/private_key_manager_impl.h:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/private_key_manager_impl.h:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/private_key_manager_impl.h:91,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/private_key_manager_impl.h:92,1
    - Dst: auto::set_value
      Src: /src/tink/cc/core/private_key_manager_impl.h:93,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/core/private_key_manager_impl.h:93,1
    - Dst: auto::set_key_material_type
      Src: /src/tink/cc/core/private_key_manager_impl.h:94,1
    - Dst: std::move
      Src: /src/tink/cc/core/private_key_manager_impl.h:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - serialized_private_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::PrivateKeyFactoryImpl::GetPublicKeyData
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 0
    functionsReached:
    - auto::set_value
    - auto::ok
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::move
    - ValidateKey
    - PrivateKeyProto
    - absl::make_unique<google::crypto::tink::KeyData>
    - auto::set_key_material_type
    - util::StatusOr::ok
    - absl::StrCat
    - auto::set_type_url
    - PrivateKeyProto::ParseFromString
    - GetPublicKey
    - util::StatusOr::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
      GetPublicKeyData(absl::string_view serialized_private_key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key_manager
    - public_key_manager
    argTypes:
    - "PrivateKeyTypeManager<PrivateKeyProto, KeyFormatProto, PublicKeyProto,\n                            PrivatePrimitivesList>*"
    - KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: "crypto::tink::internal::PrivateKeyManagerImpl<\n    Primitive,\n
      \   PrivateKeyTypeManager<PrivateKeyProto, KeyFormatProto, PublicKeyProto,\n
      \                         PrivatePrimitivesList>,\n    KeyTypeManager<PublicKeyProto,
      void, PublicPrimitivesList>>::PrivateKeyManagerImpl"
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PrivateKeyManagerImpl(\n      PrivateKeyTypeManager<PrivateKeyProto,
      KeyFormatProto, PublicKeyProto,\n                            PrivatePrimitivesList>*
      private_key_manager,\n      KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*\n
      \         public_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: '& get_key_factory() const override'
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PrivateKeyFactory
    signature: PrivateKeyFactory & get_key_factory() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<PrivateKeyManagerImpl<\n      Primitive,\n      PrivateKeyTypeManager<PrivateKeyProto,
        KeyFormatProto, PublicKeyProto,\n                            PrivatePrimitivesList>,\n
        \     KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>>>"
      Src: /src/tink/cc/core/private_key_manager_impl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - private_key_manager
    - public_key_manager
    argTypes:
    - "PrivateKeyTypeManager<PrivateKeyProto, KeyFormatProto, PublicKeyProto,\n                          PrivatePrimitivesList>*"
    - KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: crypto::tink::internal::MakePrivateKeyManager
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl.h
    functionUses: 0
    functionsReached:
    - "absl::make_unique<PrivateKeyManagerImpl<\n      Primitive,\n      PrivateKeyTypeManager<PrivateKeyProto,
      KeyFormatProto, PublicKeyProto,\n                            PrivatePrimitivesList>,\n
      \     KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>>>"
    linkageType: ''
    returnType: std::unique_ptr<KeyManager<Primitive>>
    signature: "std::unique_ptr<KeyManager<Primitive>> MakePrivateKeyManager(\n    PrivateKeyTypeManager<PrivateKeyProto,
      KeyFormatProto, PublicKeyProto,\n                          PrivatePrimitivesList>*
      private_key_manager,\n    KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*\n
      \       public_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsClients::KmsClients
      Src: /src/tink/cc/core/kms_clients.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: '& KmsClients::GlobalInstance()'
    functionSourceFile: /src/tink/cc/core/kms_clients.cc
    functionUses: 0
    functionsReached:
    - KmsClients::KmsClients
    linkageType: ''
    returnType: KmsClients
    signature: KmsClients & KmsClients::GlobalInstance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/core/kms_clients.cc:45,1
    - Dst: push_back
      Src: /src/tink/cc/core/kms_clients.cc:49,1
    - Dst: std::move
      Src: /src/tink/cc/core/kms_clients.cc:49,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/kms_clients.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - kms_client
    argTypes:
    - std::unique_ptr<KmsClient>
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: crypto::tink::KmsClients::LocalAdd
    functionSourceFile: /src/tink/cc/core/kms_clients.cc
    functionUses: 0
    functionsReached:
    - Status
    - std::move
    - push_back
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status KmsClients::LocalAdd(std::unique_ptr<KmsClient> kms_client)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/core/kms_clients.cc:54,1
    - Dst: Status
      Src: /src/tink/cc/core/kms_clients.cc:55,1
    - Dst: DoesSupport
      Src: /src/tink/cc/core/kms_clients.cc:60,1
    - Dst: get
      Src: /src/tink/cc/core/kms_clients.cc:60,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/kms_clients.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/core/kms_clients.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: crypto::tink::KmsClients::LocalGet
    functionSourceFile: /src/tink/cc/core/kms_clients.cc
    functionUses: 0
    functionsReached:
    - std::string
    - DoesSupport
    - ToStatusF
    - Status
    - absl::string_view::empty
    - get
    linkageType: ''
    returnType: StatusOr<const KmsClient*>
    signature: StatusOr<const KmsClient*> KmsClients::LocalGet(absl::string_view key_uri)
  - 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: crypto::tink::AlwaysFailingKeyFactory::AlwaysFailingKeyFactory
    functionSourceFile: /src/tink/cc/core/key_manager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlwaysFailingKeyFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - crypto::tink::util::Status
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: crypto::tink::AlwaysFailingKeyFactory::AlwaysFailingKeyFactory
    functionSourceFile: /src/tink/cc/core/key_manager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlwaysFailingKeyFactory(const crypto::tink::util::Status& status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - portable_proto::MessageLite
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: crypto::tink::AlwaysFailingKeyFactory::NewKey
    functionSourceFile: /src/tink/cc/core/key_manager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(const portable_proto::MessageLite& key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: crypto::tink::AlwaysFailingKeyFactory::NewKey
    functionSourceFile: /src/tink/cc/core/key_manager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: crypto::tink::AlwaysFailingKeyFactory::NewKeyData
    functionSourceFile: /src/tink/cc/core/key_manager.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
      NewKeyData(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailingKeyFactory>
      Src: /src/tink/cc/core/key_manager.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - crypto::tink::util::Status
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: crypto::tink::KeyFactory::AlwaysFailingFactory
    functionSourceFile: /src/tink/cc/core/key_manager.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AlwaysFailingKeyFactory>
    linkageType: ''
    returnType: std::unique_ptr<KeyFactory>
    signature: "std::unique_ptr<KeyFactory> KeyFactory::AlwaysFailingFactory(\n    const
      crypto::tink::util::Status& status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/restricted_data_test.cc:36,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:39,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:39,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:39,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_data_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - RestrictedData::GetSecret
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, CreateAndGetSecret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:45,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:45,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:45,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/restricted_data_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:46,1
    - Dst: RestrictedData::size
      Src: /src/tink/cc/core/restricted_data_test.cc:46,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_data_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - RestrictedData::size
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - RestrictedData::GetSecret
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, GenerateRandomAndSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/restricted_data_test.cc:50,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/restricted_data_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedData
    - EXPECT_DEATH_IF_SUPPORTED
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, GenerateRandomNegative)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/restricted_data_test.cc:56,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_data_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_data_test.cc:61,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_data_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_data_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/core/restricted_data_test.cc:68,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/core/restricted_data_test.cc:68,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:69,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/core/restricted_data_test.cc:71,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/core/restricted_data_test.cc:71,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_data_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/restricted_data_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_data_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/restricted_data_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - EXPECT_TRUE
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, NotEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:84,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/restricted_data_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:85,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:85,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_data_test.cc:86,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:86,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - RestrictedData::GetSecret
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:93,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/restricted_data_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:94,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:94,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:94,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_data_test.cc:95,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:95,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:95,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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - RestrictedData::GetSecret
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/restricted_data_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:103,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/restricted_data_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:104,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:104,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:104,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_data_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - RestrictedData::GetSecret
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/restricted_data_test.cc:108,1
    - Dst: std::move
      Src: /src/tink/cc/core/restricted_data_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:112,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/restricted_data_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/restricted_data_test.cc:113,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/core/restricted_data_test.cc:113,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/restricted_data_test.cc:113,1
    - Dst: Eq
      Src: /src/tink/cc/core/restricted_data_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/restricted_data_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - RestrictedData::GetSecret
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RestrictedDataTest, MoveAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:55,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:56,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:56,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - absl::HexStringToBytes
    - BigInteger::GetValue
    - Eq
    - BigInteger::SizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, CreateAndGet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:60,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:65,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:65,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:66,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:67,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:67,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - absl::HexStringToBytes
    - BigInteger::GetValue
    - EXPECT_FALSE
    - Eq
    - BigInteger::SizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, CreateAndGetPadded)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:74,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:75,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger::GetValue
    - EXPECT_THAT
    - BigInteger::SizeInBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, CreateAndGetEmptyStringWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:82,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:83,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger::GetValue
    - EXPECT_THAT
    - BigInteger::SizeInBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, CreateAndGetNullCharactersWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:93,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:102,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:103,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, EqualsPadded)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:121,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:122,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:124,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_THAT
    - absl::HexStringToBytes
    - EXPECT_FALSE
    - Eq
    - BigInteger::SizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, NotEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:143,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:143,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:144,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:144,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/big_integer_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/big_integer_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_THAT
    - EXPECT_FALSE
    - Eq
    - BigInteger::SizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, NotEqualsDifferentSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:156,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:156,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:157,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:157,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger::GetValue
    - EXPECT_THAT
    - BigInteger::SizeInBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:164,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:164,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:165,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:165,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:165,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger::GetValue
    - EXPECT_THAT
    - BigInteger::SizeInBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:172,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:172,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:173,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:173,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:173,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger::SizeInBytes
    - BigInteger::GetValue
    - EXPECT_THAT
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/core/big_integer_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:180,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/core/big_integer_test.cc:180,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/big_integer_test.cc:181,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/core/big_integer_test.cc:181,1
    - Dst: Eq
      Src: /src/tink/cc/core/big_integer_test.cc:181,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/core/big_integer_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/big_integer_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - BigInteger::GetValue
    - EXPECT_THAT
    - absl::HexStringToBytes
    - Eq
    - BigInteger::SizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BigIntegerTest, MoveAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key_value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:62,1
    - Dst: set_version
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:63,1
    - Dst: set_key_value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:65,1
    - Dst: set_version
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:66,1
    - Dst: mutable_params
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:67,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:69,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:71,1
    - Dst: set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:73,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:74,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:101,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:101,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:102,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:102,1
    - Dst: set_encrypted_keyset
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:107,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:109,1
    - Dst: mutable_keyset_info
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:110,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:111,1
    - Dst: auto::add_key_info
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:112,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:113,1
    - Dst: auto::set_key_id
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:114,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:115,1
    - Dst: auto::set_status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 134
    functionName: crypto::tink::JsonKeysetReaderTest::SetUp
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - set_key_value
    - AddRawKey
    - mutable_keyset_info
    - set_primary_key_id
    - auto::set_output_prefix_type
    - AddTinkKey
    - absl::Base64Escape
    - auto::set_primary_key_id
    - set_encrypted_keyset
    - auto::set_key_id
    - auto::set_type_url
    - auto::set_status
    - mutable_params
    - set_version
    - SerializeAsString
    - auto::add_key_info
    - absl::Substitute
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:150,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:151,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:152,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:153,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:158,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:158,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:158,1
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:163,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:162,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:164,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:165,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:165,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:165,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:170,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:170,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:170,1
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:175,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:174,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:176,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:177,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:177,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::JsonKeysetReader::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, testReaderCreation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:184,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:184,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:185,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:185,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:187,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:187,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:187,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:188,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:189,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:189,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:189,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:193,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:194,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:194,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:194,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:195,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:195,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:197,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:198,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:198,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:202,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:203,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:203,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:203,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:204,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:204,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:206,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:207,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 209
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::SerializeAsString
    - auto::value
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, testReadFromString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:214,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:213,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:215,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:215,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:216,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:216,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:216,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:217,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:217,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:219,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:219,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:219,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:220,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:221,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:221,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:221,1
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:226,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:225,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:227,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:228,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:228,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:228,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:229,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:229,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:230,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:231,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:232,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 234
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::SerializeAsString
    - auto::value
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, testReadFromStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:239,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:239,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:239,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:240,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:240,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:242,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:242,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:242,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:243,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:244,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:244,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:245,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:249,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:250,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:250,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:250,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:251,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:251,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:253,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:254,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::SerializeAsString
    - auto::value
    - auto::ReadEncrypted
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, testReadEncryptedFromString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:262,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:262,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:265,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:265,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:266,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:266,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:266,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:267,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:267,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:268,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:269,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:269,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:269,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:270,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:271,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:271,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:272,1
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:277,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:276,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:278,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:278,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:279,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:279,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:279,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:280,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:280,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:282,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:283,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - std::string
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::SerializeAsString
    - auto::value
    - auto::ReadEncrypted
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, testReadEncryptedFromStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Substitute
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:290,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:316,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:316,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:317,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:317,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:319,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:320,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:320,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:322,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:323,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:323,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:324,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:324,1
    - Dst: Eq
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 325
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::move
    - absl::Base64Escape
    - ASSERT_THAT
    - auto::value
    - auto::primary_key_id
    - EXPECT_THAT
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    - Eq
    - absl::Substitute
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, ReadLargeKeyId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Substitute
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:329,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:355,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:355,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:356,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:356,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:358,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:358,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:359,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:359,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:360,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:361,1
    - Dst: Not
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:361,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 362
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - std::move
    - absl::Base64Escape
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    - absl::Substitute
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, RejectsNegativeKeyIds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Substitute
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:367,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:393,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:393,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:394,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:394,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:396,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:397,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:397,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:398,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:399,1
    - Dst: Not
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 400
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - std::move
    - absl::Base64Escape
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    - absl::Substitute
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, RejectsKeyIdLargerThanUint32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:406,1
    - Dst: std::string::append
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:408,1
    - Dst: std::string::append
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:410,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:413,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:414,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:414,1
    - Dst: Read
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:416,1
    - Dst: Not
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_reader_test.cc:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - std::string::append
    - ASSERT_THAT
    - Read
    - EXPECT_THAT
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetReaderTest, parseRecursiveJsonStringFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - value
    - buf
    argTypes:
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: crypto::tink::uint32_as_big_endian
    functionSourceFile: /src/tink/cc/core/crypto_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void uint32_as_big_endian(uint32_t value, char* buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_id
      Src: /src/tink/cc/core/crypto_format.cc:59,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/crypto_format.cc:60,1
    - Dst: uint32_as_big_endian
      Src: /src/tink/cc/core/crypto_format.cc:65,1
    - Dst: key_id
      Src: /src/tink/cc/core/crypto_format.cc:65,1
    - Dst: uint32_as_big_endian
      Src: /src/tink/cc/core/crypto_format.cc:74,1
    - Dst: key_id
      Src: /src/tink/cc/core/crypto_format.cc:74,1
    - Dst: std::string
      Src: /src/tink/cc/core/crypto_format.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/crypto_format.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' key_info'
    argTypes:
    - google::crypto::tink::KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: crypto::tink::CryptoFormat::GetOutputPrefix
    functionSourceFile: /src/tink/cc/core/crypto_format.cc
    functionUses: 9
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - uint32_as_big_endian
    - key_id
    - output_prefix_type
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> CryptoFormat::GetOutputPrefix(\n
      \   const google::crypto::tink::KeysetInfo::KeyInfo& key_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type_manager
    argTypes:
    - "KeyTypeManager<KeyProto, KeyFormatProto,\n                                         List<Primitives...>>*"
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::KeyFactoryImpl"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void KeyFactoryImpl(KeyTypeManager<KeyProto, KeyFormatProto,\n                                         List<Primitives...>>*
      key_type_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetTypeName
      Src: /src/tink/cc/core/key_manager_impl.h:66,1
    - Dst: KeyFormatProto
      Src: /src/tink/cc/core/key_manager_impl.h:66,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:67,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_manager_impl.h:69,1
    - Dst: GetTypeName
      Src: /src/tink/cc/core/key_manager_impl.h:69,1
    - Dst: ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl.h:72,1
    - Dst: static_cast<const KeyFormatProto&>
      Src: /src/tink/cc/core/key_manager_impl.h:73,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:74,1
    - Dst: CreateKey
      Src: /src/tink/cc/core/key_manager_impl.h:78,1
    - Dst: static_cast<const KeyFormatProto&>
      Src: /src/tink/cc/core/key_manager_impl.h:79,1
    - Dst: crypto::tink::util::StatusOr<KeyProto>::ok
      Src: /src/tink/cc/core/key_manager_impl.h:80,1
    - Dst: crypto::tink::util::StatusOr<KeyProto>::status
      Src: /src/tink/cc/core/key_manager_impl.h:80,1
    - Dst: absl::implicit_cast<std::unique_ptr<portable_proto::MessageLite>>
      Src: /src/tink/cc/core/key_manager_impl.h:81,1
    - Dst: absl::make_unique<KeyProto>
      Src: /src/tink/cc/core/key_manager_impl.h:82,1
    - Dst: std::move
      Src: /src/tink/cc/core/key_manager_impl.h:82,1
    - Dst: crypto::tink::util::StatusOr<KeyProto>::value
      Src: /src/tink/cc/core/key_manager_impl.h:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - portable_proto::MessageLite
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::NewKey"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - KeyFormatProto
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::util::StatusOr<KeyProto>::value
    - GetTypeName
    - CreateKey
    - absl::make_unique<KeyProto>
    - static_cast<const KeyFormatProto&>
    - absl::StrCat
    - crypto::tink::util::StatusOr<KeyProto>::status
    - absl::implicit_cast<std::unique_ptr<portable_proto::MessageLite>>
    - crypto::tink::util::StatusOr<KeyProto>::ok
    - ValidateKeyFormat
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(const portable_proto::MessageLite& key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyFormatProto::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl.h:88,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:89,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_manager_impl.h:91,1
    - Dst: KeyFormatProto
      Src: /src/tink/cc/core/key_manager_impl.h:92,1
    - Dst: ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl.h:94,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:95,1
    - Dst: "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto,
        KeyFormatProto, List<Primitives...>>>::NewKey"
      Src: /src/tink/cc/core/key_manager_impl.h:98,1
    - Dst: static_cast<const portable_proto::MessageLite&>
      Src: /src/tink/cc/core/key_manager_impl.h:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::NewKey"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 1
    functionsReached:
    - KeyFormatProto
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto, KeyFormatProto,
      List<Primitives...>>>::NewKey"
    - static_cast<const portable_proto::MessageLite&>
    - absl::StrCat
    - KeyFormatProto::ParseFromString
    - ValidateKeyFormat
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto,
        KeyFormatProto, List<Primitives...>>>::NewKey"
      Src: /src/tink/cc/core/key_manager_impl.h:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:104,1
    - Dst: auto::status
      Src: /src/tink/cc/core/key_manager_impl.h:104,1
    - Dst: static_cast<const KeyProto&>
      Src: /src/tink/cc/core/key_manager_impl.h:105,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl.h:105,1
    - Dst: absl::make_unique<google::crypto::tink::KeyData>
      Src: /src/tink/cc/core/key_manager_impl.h:106,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/key_manager_impl.h:107,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_manager_impl.h:108,1
    - Dst: KeyProto
      Src: /src/tink/cc/core/key_manager_impl.h:108,1
    - Dst: auto::set_value
      Src: /src/tink/cc/core/key_manager_impl.h:109,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/key_manager_impl.h:109,1
    - Dst: auto::set_key_material_type
      Src: /src/tink/cc/core/key_manager_impl.h:110,1
    - Dst: key_material_type
      Src: /src/tink/cc/core/key_manager_impl.h:110,1
    - Dst: std::move
      Src: /src/tink/cc/core/key_manager_impl.h:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::NewKeyData"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::set_value
    - key_material_type
    - auto::ok
    - std::move
    - static_cast<const KeyProto&>
    - auto::set_key_material_type
    - absl::make_unique<google::crypto::tink::KeyData>
    - "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto, KeyFormatProto,
      List<Primitives...>>>::NewKey"
    - auto::value
    - auto::SerializeAsString
    - auto::set_type_url
    - absl::StrCat
    - KeyProto
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
      NewKeyData(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type_manager
    argTypes:
    - KeyTypeManager<KeyProto, void, List<Primitives...>>*
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto,
      void, List<Primitives...>>>::KeyFactoryImpl
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void KeyFactoryImpl(\n      KeyTypeManager<KeyProto, void, List<Primitives...>>*
      key_type_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - portable_proto::MessageLite
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto,
      void, List<Primitives...>>>::NewKey
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(const portable_proto::MessageLite& key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto,
      void, List<Primitives...>>>::NewKey
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
      NewKey(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto,
      void, List<Primitives...>>>::NewKeyData
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>
      NewKeyData(absl::string_view serialized_key_format) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<KeyFactoryImpl<\n                KeyTypeManager<KeyProto,
        KeyFormatProto, List<Primitives...>>>>"
      Src: /src/tink/cc/core/key_manager_impl.h:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type_manager
    argTypes:
    - "KeyTypeManager<KeyProto, KeyFormatProto,\n                                         List<Primitives...>>*"
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::KeyManagerImpl"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - "absl::make_unique<KeyFactoryImpl<\n                KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>>"
    linkageType: ''
    returnType: void
    signature: "void KeyManagerImpl(KeyTypeManager<KeyProto, KeyFormatProto,\n                                         List<Primitives...>>*
      key_type_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
        KeyFormatProto, List<Primitives...>>>::DoesSupport"
      Src: /src/tink/cc/core/key_manager_impl.h:185,1
    - Dst: type_url
      Src: /src/tink/cc/core/key_manager_impl.h:185,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/key_manager_impl.h:186,1
    - Dst: type_url
      Src: /src/tink/cc/core/key_manager_impl.h:188,1
    - Dst: crypto::tink::util::SecretProto<KeyProto>::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl.h:191,1
    - Dst: value
      Src: /src/tink/cc/core/key_manager_impl.h:191,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/key_manager_impl.h:192,1
    - Dst: type_url
      Src: /src/tink/cc/core/key_manager_impl.h:194,1
    - Dst: ValidateKey
      Src: /src/tink/cc/core/key_manager_impl.h:196,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:197,1
    - Dst: template GetPrimitive<Primitive>
      Src: /src/tink/cc/core/key_manager_impl.h:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - google::crypto::tink::KeyData
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::GetPrimitive"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - auto::ok
    - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::DoesSupport"
    - ToStatusF
    - crypto::tink::util::SecretProto<KeyProto>::ParseFromString
    - type_url
    - value
    - ValidateKey
    - template GetPrimitive<Primitive>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Primitive>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Primitive>> GetPrimitive(\n
      \     const google::crypto::tink::KeyData& key_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_manager_impl.h:205,1
    - Dst: GetTypeName
      Src: /src/tink/cc/core/key_manager_impl.h:205,1
    - Dst: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
        KeyFormatProto, List<Primitives...>>>::DoesSupport"
      Src: /src/tink/cc/core/key_manager_impl.h:206,1
    - Dst: ToStatusF
      Src: /src/tink/cc/core/key_manager_impl.h:207,1
    - Dst: static_cast<const KeyProto&>
      Src: /src/tink/cc/core/key_manager_impl.h:211,1
    - Dst: ValidateKey
      Src: /src/tink/cc/core/key_manager_impl.h:212,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:213,1
    - Dst: template GetPrimitive<Primitive>
      Src: /src/tink/cc/core/key_manager_impl.h:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - portable_proto::MessageLite
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::GetPrimitive"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - auto::ok
    - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::DoesSupport"
    - static_cast<const KeyProto&>
    - GetTypeName
    - ToStatusF
    - absl::StrCat
    - ValidateKey
    - template GetPrimitive<Primitive>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Primitive>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Primitive>> GetPrimitive(\n
      \     const portable_proto::MessageLite& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
        KeyFormatProto, List<Primitives...>>>::get_version"
      Src: /src/tink/cc/core/key_manager_impl.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::get_version"
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 1
    functionsReached:
    - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>>::get_version"
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/core/key_manager_impl.h: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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() 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: '& get_key_factory() const override'
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyFactory
    signature: KeyFactory & get_key_factory() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<\n      KeyManagerImpl<Primitive, KeyTypeManager<KeyProto,
        KeyFormatProto,\n                                               List<Primitives...>>>>"
      Src: /src/tink/cc/core/key_manager_impl.h:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_type_manager
    argTypes:
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: crypto::tink::internal::MakeKeyManager
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 19
    functionsReached:
    - "absl::make_unique<\n      KeyManagerImpl<Primitive, KeyTypeManager<KeyProto,
      KeyFormatProto,\n                                               List<Primitives...>>>>"
    linkageType: ''
    returnType: std::unique_ptr<KeyManager<Primitive>>
    signature: "std::unique_ptr<KeyManager<Primitive>> MakeKeyManager(\n    KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>*\n        key_type_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyFormatProto::ParseFromString
      Src: /src/tink/cc/core/key_manager_impl.h:266,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:267,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_manager_impl.h:269,1
    - Dst: KeyFormatProto
      Src: /src/tink/cc/core/key_manager_impl.h:270,1
    - Dst: KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::ValidateKeyFormat
      Src: /src/tink/cc/core/key_manager_impl.h:272,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:273,1
    - Dst: KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::DeriveKey
      Src: /src/tink/cc/core/key_manager_impl.h:276,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:277,1
    - Dst: auto::status
      Src: /src/tink/cc/core/key_manager_impl.h:278,1
    - Dst: KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::ValidateKey
      Src: /src/tink/cc/core/key_manager_impl.h:280,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl.h:280,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/key_manager_impl.h:281,1
    - Dst: google::crypto::tink::KeyData::set_type_url
      Src: /src/tink/cc/core/key_manager_impl.h:285,1
    - Dst: KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::get_key_type
      Src: /src/tink/cc/core/key_manager_impl.h:285,1
    - Dst: google::crypto::tink::KeyData::set_value
      Src: /src/tink/cc/core/key_manager_impl.h:286,1
    - Dst: auto::value
      Src: /src/tink/cc/core/key_manager_impl.h:286,1
    - Dst: google::crypto::tink::KeyData::set_key_material_type
      Src: /src/tink/cc/core/key_manager_impl.h:287,1
    - Dst: KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::key_material_type
      Src: /src/tink/cc/core/key_manager_impl.h:287,1
    - Dst: std::move
      Src: /src/tink/cc/core/key_manager_impl.h:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - key_type_manager
    argTypes:
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*
    constantsTouched: []
    func_position:
      end: 290
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 290
    functionName: crypto::tink::internal::CreateDeriverFunctionFor
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 5
    functionsReached:
    - auto::status
    - google::crypto::tink::KeyData::set_value
    - KeyFormatProto
    - google::crypto::tink::KeyData::set_type_url
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::KeyData::set_key_material_type
    - std::move
    - auto::value
    - absl::StrCat
    - KeyFormatProto::ParseFromString
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::ValidateKeyFormat
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::DeriveKey
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::get_key_type
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::ValidateKey
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*::key_material_type
    linkageType: ''
    returnType: "std::function<crypto::tink::util::StatusOr<google::crypto::tink::KeyData>(\n
      \   absl::string_view, InputStream*)>"
    signature: "std::function<crypto::tink::util::StatusOr<google::crypto::tink::KeyData>(\n
      \   absl::string_view, InputStream*)> CreateDeriverFunctionFor(\n    KeyTypeManager<KeyProto,
      KeyFormatProto, List<Primitives...>>*\n        key_type_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_impl.h:303,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_manager_impl.h:305,1
    - Dst: KeyTypeManager<KeyProto, void, List<Primitives...>>*::get_key_type
      Src: /src/tink/cc/core/key_manager_impl.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_type_manager
    argTypes:
    - KeyTypeManager<KeyProto, void, List<Primitives...>>*
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: crypto::tink::internal::CreateDeriverFunctionFor
    functionSourceFile: /src/tink/cc/core/key_manager_impl.h
    functionUses: 5
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - KeyTypeManager<KeyProto, void, List<Primitives...>>*::get_key_type
    - absl::StrCat
    linkageType: ''
    returnType: "std::function<crypto::tink::util::StatusOr<google::crypto::tink::KeyData>(\n
      \   absl::string_view, InputStream*)>"
    signature: "std::function<crypto::tink::util::StatusOr<google::crypto::tink::KeyData>(\n
      \   absl::string_view, InputStream*)> CreateDeriverFunctionFor(\n    KeyTypeManager<KeyProto,
      void, List<Primitives...>>*\n        key_type_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:110,1
    - Dst: crypto::tink::TinkConfig::Register
      Src: /src/tink/cc/core/keyset_handle_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:112,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:112,1
    - Dst: crypto::tink::internal::UnSetFipsRestricted
      Src: /src/tink/cc/core/keyset_handle_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: crypto::tink::KeysetHandleTest::SetUp
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::TinkConfig::Register
    - auto::ok
    - crypto::tink::internal::UnSetFipsRestricted
    - ASSERT_TRUE
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 126
    functionName: crypto::tink::FakeAeadKeyManager::AeadFactory::AeadFactory
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AeadFactory(absl::string_view key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: crypto::tink::FakeAeadKeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyAead>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> Create(\n        const AesGcmKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/core/keyset_handle_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: crypto::tink::FakeAeadKeyManager::FakeAeadKeyManager
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void FakeAeadKeyManager(absl::string_view key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: crypto::tink::FakeAeadKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: crypto::tink::FakeAeadKeyManager::get_version
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: crypto::tink::FakeAeadKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKey(const AesGcmKey& key) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: crypto::tink::FakeAeadKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: crypto::tink::FakeAeadKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: crypto::tink::FakeAeadKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:185,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:187,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: crypto::tink::GetTestKeyset
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::set_primary_key_id
    - AddTinkKey
    - AddRawKey
    linkageType: ''
    returnType: Keyset
    signature: Keyset GetTestKeyset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:197,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:199,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: crypto::tink::GetPublicTestKeyset
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::set_primary_key_id
    - AddTinkKey
    - AddRawKey
    linkageType: ''
    returnType: Keyset
    signature: Keyset GetPublicTestKeyset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:207,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:208,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:208,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:209,1
    - Dst: KeysetHandle::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:210,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:210,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandle::Validate
    - Not
    - IsOk
    - KeysetHandle::size
    - EXPECT_THAT
    - KeysetHandle::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, DefaultCtor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:216,1
    - Dst: crypto::tink::GetPublicTestKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:218,1
    - Dst: NotNull
      Src: /src/tink/cc/core/keyset_handle_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:219,1
    - Dst: crypto::tink::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:220,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:220,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:220,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:221,1
    - Dst: GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:221,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:223,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:224,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:224,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:225,1
    - Dst: KeysetHandle::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:225,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:226,1
    - Dst: GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:228,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:228,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:229,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:229,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:231,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:232,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:232,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:233,1
    - Dst: KeysetHandle::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:233,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:234,1
    - Dst: GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandle::Validate
    - crypto::tink::KeysetHandle::ReadNoSecret
    - EXPECT_EQ
    - IsOk
    - Not
    - ASSERT_THAT
    - KeysetHandle::size
    - crypto::tink::size
    - EXPECT_THAT
    - GetPrimary
    - NotNull
    - crypto::tink::Validate
    - KeysetHandle::GetPrimary
    - Eq
    - crypto::tink::GetPublicTestKeyset
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, CopyCtorAndAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:239,1
    - Dst: crypto::tink::GetPublicTestKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:241,1
    - Dst: NotNull
      Src: /src/tink/cc/core/keyset_handle_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:242,1
    - Dst: crypto::tink::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:243,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:243,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:244,1
    - Dst: GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:244,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:244,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:247,1
    - Dst: crypto::tink::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:247,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:247,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:248,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:248,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:248,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:250,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:251,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:251,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:252,1
    - Dst: KeysetHandle::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:252,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:254,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:254,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:255,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:255,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:255,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:258,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:258,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:259,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:259,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:259,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:261,1
    - Dst: KeysetHandle::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:262,1
    - Dst: KeysetHandle::size
      Src: /src/tink/cc/core/keyset_handle_test.cc:262,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:263,1
    - Dst: KeysetHandle::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:263,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 264
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandle::Validate
    - crypto::tink::KeysetHandle::ReadNoSecret
    - IsOk
    - Not
    - std::move
    - ASSERT_THAT
    - KeysetHandle::size
    - crypto::tink::size
    - EXPECT_THAT
    - GetPrimary
    - NotNull
    - crypto::tink::Validate
    - KeysetHandle::GetPrimary
    - Eq
    - crypto::tink::GetPublicTestKeyset
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, MoveCtorAndAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:269,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:271,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:273,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:278,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:278,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:281,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:282,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:283,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:283,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:284,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:284,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:285,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:285,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:285,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:286,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:286,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:287,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:287,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:288,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:294,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:294,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:297,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:298,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:299,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:299,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:301,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:301,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:302,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:303,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:303,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:309,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:312,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:313,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:314,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:314,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:315,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:316,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:316,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:317,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:317,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:324,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:325,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:326,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:326,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:327,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:328,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:328,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:329,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 331
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - AddRawKey
    - EXPECT_EQ
    - std::move
    - DummyAead::Encrypt
    - Keyset::SerializeAsString
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::BinaryKeysetReader::New
    - EncryptedKeyset::set_encrypted_keyset
    - auto::value
    - EncryptedKeyset::SerializeAsString
    - crypto::tink::KeysetHandle::Read
    - TestKeysetHandle::GetKeyset
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedKeysetBinary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetTestKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:337,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:340,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:340,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:342,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:344,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:344,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:346,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:347,1
    - Dst: absl::make_unique<MockAeadPrimitiveWrapper>
      Src: /src/tink/cc/core/keyset_handle_test.cc:353,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/keyset_handle_test.cc:355,1
    - Dst: crypto::tink::Wrap
      Src: /src/tink/cc/core/keyset_handle_test.cc:355,1
    - Dst: crypto::tink::get_annotations
      Src: /src/tink/cc/core/keyset_handle_test.cc:359,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:360,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:363,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:364,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_test.cc:364,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:365,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:366,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:366,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:370,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:370,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:373,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:375,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:375,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:378,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 381
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - std::move
    - Keyset::SerializeAsString
    - ASSERT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::Wrap
    - IsOk
    - crypto::tink::BinaryKeysetReader::New
    - crypto::tink::KeysetHandle::Read
    - crypto::tink::GetTestKeyset
    - absl::make_unique<FakeAeadKeyManager>
    - EXPECT_EQ
    - EXPECT_CALL
    - DummyAead::Encrypt
    - crypto::tink::get_annotations
    - crypto::tink::Registry::Reset
    - absl::make_unique<MockAeadPrimitiveWrapper>
    - EncryptedKeyset::set_encrypted_keyset
    - absl::make_unique<DummyAead>
    - EncryptedKeyset::SerializeAsString
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedWithAnnotations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:386,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:388,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:390,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:395,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:395,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:398,1
    - Dst: EncryptedKeyset::mutable_keyset_info
      Src: /src/tink/cc/core/keyset_handle_test.cc:399,1
    - Dst: auto*::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:400,1
    - Dst: auto*::add_key_info
      Src: /src/tink/cc/core/keyset_handle_test.cc:401,1
    - Dst: auto*::set_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:402,1
    - Dst: auto*::set_type_url
      Src: /src/tink/cc/core/keyset_handle_test.cc:403,1
    - Dst: auto*::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:404,1
    - Dst: auto*::set_status
      Src: /src/tink/cc/core/keyset_handle_test.cc:405,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:407,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:408,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:408,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:409,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:409,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:409,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:410,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:411,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:411,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/keyset_handle_test.cc:412,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:413,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:413,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:414,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:415,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:416,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:417,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:417,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:417,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:418,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:418,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:419,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:419,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:420,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:426,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:426,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:429,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:430,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:431,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:431,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:433,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:433,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:434,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:435,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:435,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:441,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:444,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:445,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:446,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:446,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:447,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:447,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:448,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:448,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:449,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:449,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:456,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:457,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:458,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:458,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:459,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:459,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:460,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:461,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 463
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto*::set_key_id
    - EXPECT_TRUE
    - auto::ok
    - AddRawKey
    - auto*::set_primary_key_id
    - std::move
    - Keyset::SerializeAsString
    - crypto::tink::JsonKeysetWriter::New
    - TestKeysetHandle::GetKeyset
    - ASSERT_TRUE
    - crypto::tink::JsonKeysetReader::New
    - EXPECT_FALSE
    - auto::status
    - Keyset::set_primary_key_id
    - auto*::set_type_url
    - auto*::set_output_prefix_type
    - crypto::tink::KeysetHandle::Read
    - EncryptedKeyset::mutable_keyset_info
    - std::ostream::ostream
    - EXPECT_EQ
    - DummyAead::Encrypt
    - AddTinkKey
    - auto*::set_status
    - auto*::add_key_info
    - std::stringbuf::str
    - EncryptedKeyset::set_encrypted_keyset
    - auto::value
    - EncryptedKeyset::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedKeysetJson)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:469,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:471,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:473,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:475,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:475,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:475,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:477,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:477,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:477,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:482,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:484,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:484,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:484,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/keyset_handle_test.cc:487,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:487,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:488,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:488,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:489,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/keyset_handle_test.cc:489,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:490,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:490,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:490,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:491,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:492,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:492,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:492,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:493,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:493,1
    - Dst: DummyAead::Decrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:494,1
    - Dst: auto::encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:494,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:496,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:496,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:496,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:498,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:498,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/keyset_handle_test.cc:501,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:502,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:503,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_handle_test.cc:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 465
    functionDepth: 4
    functionLinenumber: 465
    functionLinenumberEnd: 504
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - AddRawKey
    - std::move
    - Keyset::SerializeAsString
    - crypto::tink::JsonKeysetWriter::New
    - auto::Write
    - crypto::tink::JsonKeysetReader::New
    - EXPECT_FALSE
    - auto::status
    - Keyset::set_primary_key_id
    - crypto::tink::BinaryKeysetReader::New
    - auto::code
    - std::ostream::ostream
    - auto::encrypted_keyset
    - EXPECT_EQ
    - AddTinkKey
    - DummyAead::Decrypt
    - crypto::tink::CleartextKeysetHandle::Read
    - std::stringbuf::str
    - auto::value
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteEncryptedKeyset_Json)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:509,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:511,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:513,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:517,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:517,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:519,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:520,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:521,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:521,1
    - Dst: crypto::tink::KeysetHandle::ReadWithAssociatedData
      Src: /src/tink/cc/core/keyset_handle_test.cc:523,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:524,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:524,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:525,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:526,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:526,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 528
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - AddRawKey
    - EXPECT_EQ
    - IsOk
    - std::move
    - DummyAead::Encrypt
    - Keyset::SerializeAsString
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::BinaryKeysetReader::New
    - EncryptedKeyset::set_encrypted_keyset
    - crypto::tink::KeysetHandle::ReadWithAssociatedData
    - EncryptedKeyset::SerializeAsString
    - EXPECT_THAT
    - TestKeysetHandle::GetKeyset
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedKeysetWithAssociatedDataGoodKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetTestKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:535,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:538,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:538,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:540,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:542,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:542,1
    - Dst: crypto::tink::KeysetHandle::ReadWithAssociatedData
      Src: /src/tink/cc/core/keyset_handle_test.cc:544,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:544,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:546,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:546,1
    - Dst: absl::make_unique<MockAeadPrimitiveWrapper>
      Src: /src/tink/cc/core/keyset_handle_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/keyset_handle_test.cc:550,1
    - Dst: crypto::tink::Wrap
      Src: /src/tink/cc/core/keyset_handle_test.cc:550,1
    - Dst: crypto::tink::get_annotations
      Src: /src/tink/cc/core/keyset_handle_test.cc:554,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:555,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:558,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:559,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_test.cc:559,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:559,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:560,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:561,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:561,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:562,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:564,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:565,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:565,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:566,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:568,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:570,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:570,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:571,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:573,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 576
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - std::move
    - Keyset::SerializeAsString
    - ASSERT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::Wrap
    - IsOk
    - crypto::tink::BinaryKeysetReader::New
    - crypto::tink::GetTestKeyset
    - absl::make_unique<FakeAeadKeyManager>
    - EXPECT_EQ
    - EXPECT_CALL
    - DummyAead::Encrypt
    - crypto::tink::get_annotations
    - crypto::tink::Registry::Reset
    - absl::make_unique<MockAeadPrimitiveWrapper>
    - EncryptedKeyset::set_encrypted_keyset
    - crypto::tink::KeysetHandle::ReadWithAssociatedData
    - EncryptedKeyset::SerializeAsString
    - absl::make_unique<DummyAead>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedWithAssociatedDataAndAnnotations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:581,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:583,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:585,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:588,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:588,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:590,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:591,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:592,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:592,1
    - Dst: crypto::tink::KeysetHandle::ReadWithAssociatedData
      Src: /src/tink/cc/core/keyset_handle_test.cc:593,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:593,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:595,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:595,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:596,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 597
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - AddRawKey
    - EXPECT_EQ
    - Not
    - IsOk
    - std::move
    - DummyAead::Encrypt
    - Keyset::SerializeAsString
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::BinaryKeysetReader::New
    - EncryptedKeyset::set_encrypted_keyset
    - crypto::tink::KeysetHandle::ReadWithAssociatedData
    - EncryptedKeyset::SerializeAsString
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedKeysetWithAssociatedDataWrongAad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:602,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:604,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:606,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:609,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:609,1
    - Dst: EncryptedKeyset::set_encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:611,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:612,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:613,1
    - Dst: EncryptedKeyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:613,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:614,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:614,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:615,1
    - Dst: Not
      Src: /src/tink/cc/core/keyset_handle_test.cc:615,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:616,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 617
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - AddRawKey
    - EXPECT_EQ
    - Not
    - IsOk
    - std::move
    - DummyAead::Encrypt
    - Keyset::SerializeAsString
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::BinaryKeysetReader::New
    - EncryptedKeyset::set_encrypted_keyset
    - EncryptedKeyset::SerializeAsString
    - crypto::tink::KeysetHandle::Read
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadEncryptedKeysetWithAssociatedDataEmptyAad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:623,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:625,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:627,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:629,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:629,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:629,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:631,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/core/keyset_handle_test.cc:631,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:631,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:636,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:638,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:638,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:638,1
    - Dst: auto::WriteWithAssociatedData
      Src: /src/tink/cc/core/keyset_handle_test.cc:642,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:642,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:643,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:643,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:644,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/keyset_handle_test.cc:644,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:645,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:645,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:645,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:646,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:647,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:647,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:647,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:648,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:648,1
    - Dst: DummyAead::Decrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:650,1
    - Dst: auto::encrypted_keyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:650,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:651,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:651,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:651,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:652,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:653,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:653,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/keyset_handle_test.cc:656,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:657,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:657,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:658,1
    - Dst: auto::code
      Src: /src/tink/cc/core/keyset_handle_test.cc:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 659
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - AddRawKey
    - std::move
    - Keyset::SerializeAsString
    - auto::Write
    - EXPECT_FALSE
    - auto::status
    - Keyset::set_primary_key_id
    - crypto::tink::BinaryKeysetReader::New
    - auto::code
    - std::ostream::ostream
    - auto::encrypted_keyset
    - EXPECT_EQ
    - AddTinkKey
    - DummyAead::Decrypt
    - crypto::tink::BinaryKeysetWriter::New
    - auto::WriteWithAssociatedData
    - crypto::tink::CleartextKeysetHandle::Read
    - std::stringbuf::str
    - auto::value
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteEncryptedKeysetWithAssociatedData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:663,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:664,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/core/keyset_handle_test.cc:665,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/core/keyset_handle_test.cc:666,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:669,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:669,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:669,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:672,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:672,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:672,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - AeadKeyTemplates::Aes256CtrHmacSha256
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GenerateNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:680,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:681,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:681,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:682,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:684,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:684,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:685,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:686,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:687,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:688,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:688,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 690
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - absl::make_unique<AesGcmKeyManager>
    - StatusIs
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GenerateNewWithBespokeConfig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:693,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:693,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:693,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:694,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GenerateNewWithGlobalRegistryConfig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:704,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:704,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:705,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:706,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:706,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:710,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:710,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:711,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:712,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:712,1
    - Dst: absl::make_unique<MockAeadPrimitiveWrapper>
      Src: /src/tink/cc/core/keyset_handle_test.cc:715,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/keyset_handle_test.cc:717,1
    - Dst: crypto::tink::Wrap
      Src: /src/tink/cc/core/keyset_handle_test.cc:717,1
    - Dst: crypto::tink::get_annotations
      Src: /src/tink/cc/core/keyset_handle_test.cc:722,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:723,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:727,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:728,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_test.cc:729,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:729,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:730,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:731,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:731,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:732,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:735,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:737,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:737,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:737,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:739,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 744
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - std::move
    - ASSERT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Wrap
    - IsOk
    - EXPECT_THAT
    - absl::make_unique<FakeAeadKeyManager>
    - EXPECT_EQ
    - EXPECT_CALL
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::get_annotations
    - crypto::tink::Registry::Reset
    - absl::make_unique<MockAeadPrimitiveWrapper>
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<DummyAead>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GenerateNewWithAnnotations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/core/keyset_handle_test.cc:748,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:749,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:752,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:752,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:753,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:753,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:754,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 755
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - auto::ok
    - EXPECT_EQ
    - KeyTemplate::set_output_prefix_type
    - crypto::tink::KeyGenConfigGlobalRegistry
    - KeyTemplate::set_type_url
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GenerateNewErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:759,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:761,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:761,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:762,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 763
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 763
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::ok
    - KeyTemplate::set_output_prefix_type
    - crypto::tink::KeyGenConfigGlobalRegistry
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, UnknownPrefixIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:767,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_handle_test.cc:767,1
    - Dst: status
      Src: /src/tink/cc/core/keyset_handle_test.cc:767,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:768,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:768,1
    - Dst: key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:768,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:769,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:769,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' expected'
    - ' actual'
    argTypes:
    - Keyset::Key
    - Keyset::Key
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: crypto::tink::CompareKeyMetadata
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - output_prefix_type
    - key_id
    - status
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void CompareKeyMetadata(const Keyset::Key& expected,\n                        const
      Keyset::Key& actual)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/core/keyset_handle_test.cc:777,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/core/keyset_handle_test.cc:777,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:778,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:781,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:781,1
    - Dst: EcdsaSignKeyManager::CreateKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:782,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/core/keyset_handle_test.cc:785,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha384
      Src: /src/tink/cc/core/keyset_handle_test.cc:786,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:787,1
    - Dst: AddLegacyKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:790,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:790,1
    - Dst: EcdsaSignKeyManager::CreateKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:791,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/core/keyset_handle_test.cc:794,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha512
      Src: /src/tink/cc/core/keyset_handle_test.cc:795,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:796,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:799,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:799,1
    - Dst: EcdsaSignKeyManager::CreateKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:800,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 805
    functionName: crypto::tink::CreateEcdsaMultiKeyset
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SignatureKeyTemplates::EcdsaP384Sha384
    - SignatureKeyTemplates::EcdsaP384Sha512
    - AddLegacyKey
    - crypto::tink::internal::ExtractStatus
    - AddRawKey
    - Keyset::set_primary_key_id
    - AddTinkKey
    - EcdsaKeyFormat::ParseFromString
    - EcdsaSignKeyManager
    - SignatureKeyTemplates::EcdsaP256
    - EcdsaSignKeyManager::CreateKey
    linkageType: ''
    returnType: util::StatusOr<const Keyset>
    signature: util::StatusOr<const Keyset> CreateEcdsaMultiKeyset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:810,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/core/keyset_handle_test.cc:811,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:811,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:812,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:812,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:812,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:813,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:813,1
    - Dst: auto::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:815,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:815,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:816,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:816,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:816,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:817,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:819,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:819,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:820,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:820,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:821,1
    - Dst: auto::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:821,1
    - Dst: auto::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:821,1
    - Dst: crypto::tink::CompareKeyMetadata
      Src: /src/tink/cc/core/keyset_handle_test.cc:822,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:822,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:823,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:824,1
    - Dst: crypto::tink::CreateEcdsaMultiKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:827,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:828,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:828,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:830,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:832,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:832,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:833,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:833,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:835,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:836,1
    - Dst: util::StatusOr::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:836,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:836,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:837,1
    - Dst: util::StatusOr::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:837,1
    - Dst: auto::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:837,1
    - Dst: util::StatusOr::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:838,1
    - Dst: crypto::tink::CompareKeyMetadata
      Src: /src/tink/cc/core/keyset_handle_test.cc:839,1
    - Dst: util::StatusOr::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:839,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:840,1
    - Dst: auto::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 844
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 844
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::key
    - auto::ok
    - std::move
    - ASSERT_THAT
    - TestKeysetHandle::GetKeyset
    - ASSERT_TRUE
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - util::StatusOr::key_size
    - IsOk
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - std::unique_ptr::GetPublicKeysetHandle
    - SignatureKeyTemplates::EcdsaP256
    - EXPECT_EQ
    - crypto::tink::KeyGenConfigGlobalRegistry
    - auto::key_size
    - util::StatusOr::primary_key_id
    - auto::GetPublicKeysetHandle
    - auto::key
    - auto::value
    - auto::primary_key_id
    - crypto::tink::CreateEcdsaMultiKeyset
    - crypto::tink::CompareKeyMetadata
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPublicKeysetHandle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:848,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/core/keyset_handle_test.cc:849,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:849,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:850,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:850,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:850,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:851,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:851,1
    - Dst: auto::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:853,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:853,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:854,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:854,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_handle_test.cc:855,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_handle_test.cc:856,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:856,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:862,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/core/keyset_handle_test.cc:862,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/core/keyset_handle_test.cc:863,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:865,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:866,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:866,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:868,1
    - Dst: AddLegacyKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:870,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:870,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:872,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:876,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:877,1
    - Dst: auto::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:879,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:879,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:880,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:880,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/core/keyset_handle_test.cc:881,1
    - Dst: std::string
      Src: /src/tink/cc/core/keyset_handle_test.cc:882,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 884
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - ASSERT_FALSE
    - ASSERT_TRUE
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - std::string
    - Keyset::set_primary_key_id
    - AeadKeyTemplates::Aes128Eax
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - EcdsaKeyFormat::ParseFromString
    - EcdsaSignKeyManager
    - SignatureKeyTemplates::EcdsaP256
    - EXPECT_PRED_FORMAT2
    - AddLegacyKey
    - AesGcmKeyManager
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AddTinkKey
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - auto::GetPublicKeysetHandle
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPublicKeysetHandleErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateEcdsaMultiKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:887,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:888,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:888,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:890,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:893,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/core/keyset_handle_test.cc:893,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:894,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:895,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:896,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:898,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:899,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:899,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:901,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:902,1
    - Dst: util::StatusOr::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:902,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:902,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:903,1
    - Dst: util::StatusOr::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:903,1
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:903,1
    - Dst: util::StatusOr::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:904,1
    - Dst: crypto::tink::CompareKeyMetadata
      Src: /src/tink/cc/core/keyset_handle_test.cc:905,1
    - Dst: util::StatusOr::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:905,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle_test.cc:905,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:906,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle_test.cc:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 909
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 909
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::key
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - util::StatusOr::key_size
    - primary_key_id
    - EXPECT_EQ
    - IsOk
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::GetPublicKeysetHandle
    - util::StatusOr::primary_key_id
    - absl::make_unique<EcdsaVerifyKeyManager>
    - crypto::tink::CreateEcdsaMultiKeyset
    - TestKeysetHandle::GetKeyset
    - key
    - absl::make_unique<EcdsaSignKeyManager>
    - key_size
    - crypto::tink::CompareKeyMetadata
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPublicKeysetHandleWithBespokeConfigSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:913,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:913,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:914,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:915,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:917,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:917,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:918,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:918,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:919,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:919,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 921
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::GetPublicKeysetHandle
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPublicKeysetHandleWithBespokeConfigFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateEcdsaMultiKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:925,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:926,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:926,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:928,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:931,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:931,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:932,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:932,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:934,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:935,1
    - Dst: util::StatusOr::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:935,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:935,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:936,1
    - Dst: util::StatusOr::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:936,1
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:936,1
    - Dst: util::StatusOr::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:937,1
    - Dst: crypto::tink::CompareKeyMetadata
      Src: /src/tink/cc/core/keyset_handle_test.cc:938,1
    - Dst: util::StatusOr::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:938,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle_test.cc:938,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:939,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle_test.cc:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 923
    functionDepth: 2
    functionLinenumber: 923
    functionLinenumberEnd: 942
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::key
    - util::StatusOr::key_size
    - primary_key_id
    - EXPECT_EQ
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::GetPublicKeysetHandle
    - crypto::tink::CreateEcdsaMultiKeyset
    - TestKeysetHandle::GetKeyset
    - key
    - util::StatusOr::primary_key_id
    - key_size
    - crypto::tink::CompareKeyMetadata
    linkageType: ''
    returnType: void
    signature: "void TEST_F(KeysetHandleTest,\n       GetPublicKeysetHandleWithGlobalRegistryConfigSucceeds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:946,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:946,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:947,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:948,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:948,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:949,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:950,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:950,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::GetPublicKeysetHandle
    - crypto::tink::KeyGenConfigGlobalRegistry
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPublicKeysetHandleWithGlobalRegistryConfigFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:957,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:957,1
    - Dst: AddKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:958,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:962,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:962,1
    - Dst: AddKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:963,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:967,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:967,1
    - Dst: AddKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:968,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:971,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:973,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:977,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:977,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:978,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:978,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:978,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:979,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:979,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:983,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:984,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:984,1
    - Dst: Registry::GetPrimitive<Aead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:987,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:988,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:988,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:990,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:991,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/core/keyset_handle_test.cc:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 992
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 992
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::unique_ptr::GetPrimitive
    - auto::ok
    - std::unique_ptr::Encrypt
    - EXPECT_EQ
    - std::move
    - Keyset::set_primary_key_id
    - std::unique_ptr::Decrypt
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - Registry::GetPrimitive<Aead>
    - ASSERT_TRUE
    - crypto::tink::ConfigGlobalRegistry
    - EXPECT_FALSE
    - AddKeyData
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:996,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:996,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:997,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:998,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:1000,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:1000,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1001,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1001,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1004,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:1004,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1005,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1006,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1007,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_test.cc:1007,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1008,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1009,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1011,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1011,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1012
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - absl::make_unique<AeadWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::GetPrimitive
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveWithBespokeConfigSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1016,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:1016,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1017,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1018,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:1020,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:1020,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1021,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1021,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1024,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1024,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetPrimitive
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveWithBespokeConfigFailsIfEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:1030,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:1030,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:1031,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1032,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1032,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1034,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1034,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:1034,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveWithGlobalRegistryConfig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/core/keyset_handle_test.cc:1038,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/core/keyset_handle_test.cc:1039,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:1043,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:1043,1
    - Dst: crypto::tink::KeyGenConfigFips140_2
      Src: /src/tink/cc/core/keyset_handle_test.cc:1044,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1045,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1046,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1046,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/core/keyset_handle_test.cc:1046,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1047
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::ConfigFips140_2
    - IsOk
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::GetPrimitive
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::KeyGenConfigFips140_2
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveWithConfigFips1402)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/core/keyset_handle_test.cc:1050,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/core/keyset_handle_test.cc:1051,1
    - Dst: AesGcmSivKey::mutable_key_value
      Src: /src/tink/cc/core/keyset_handle_test.cc:1056,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/keyset_handle_test.cc:1056,1
    - Dst: crypto::tink::test::AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1057,1
    - Dst: AeadKeyTemplates::Aes256GcmSiv
      Src: /src/tink/cc/core/keyset_handle_test.cc:1057,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1060,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1063,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1064,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1064,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/core/keyset_handle_test.cc:1064,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1066
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmSiv
    - std::unique_ptr::GetPrimitive
    - crypto::tink::ConfigFips140_2
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::test::AddTinkKey
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - AesGcmSivKey::mutable_key_value
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveWithConfigFips1402FailsWithNonFipsHandle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:1072,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/core/keyset_handle_test.cc:1072,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:1072,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1075,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1077,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1078,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1078,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1080
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPrimitive
    - test::StatusIs
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - AddKeyData
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveNullptrKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:1088,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/keyset_handle_test.cc:1088,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:1089,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1090,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1090,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1090,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1091,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:1091,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:1092,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1093,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_test.cc:1094,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1094,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1097,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1098,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:1098,1
    - Dst: crypto::tink::internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1101,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1103,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1103,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1104
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager<Aead>
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - std::unique_ptr::GetPrimitive
    - auto::ok
    - std::move
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::unique_ptr::get
    - ASSERT_FALSE
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - ASSERT_TRUE
    - absl::make_unique<AeadWrapper>
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimitiveCustomKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/keyset_handle_test.cc:1110,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/core/keyset_handle_test.cc:1110,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:1111,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1112,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1112,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1112,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1113,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1115
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - auto::ok
    - std::move
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AeadKeyTemplates::Aes128Eax
    - auto::value
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, Copiable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1120,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1122,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1124,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1125,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:1125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1126,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1126,1
    - Dst: auto::value
      Src: /src/tink/cc/core/keyset_handle_test.cc:1127,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:1129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1132,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1132,1
    - Dst: Keyset::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1132,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1133,1
    - Dst: key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:1133,1
    - Dst: Keyset::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:1133,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1134,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle_test.cc:1134,1
    - Dst: Keyset::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:1134,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1135,1
    - Dst: key
      Src: /src/tink/cc/core/keyset_handle_test.cc:1135,1
    - Dst: Keyset::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1136
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::key
    - ASSERT_EQ
    - crypto::tink::KeysetHandle::ReadNoSecret
    - CleartextKeysetHandle::GetKeyset
    - AddRawKey
    - EXPECT_EQ
    - IsOk
    - primary_key_id
    - Keyset::primary_key_id
    - Keyset::set_primary_key_id
    - Keyset::SerializeAsString
    - AddTinkKey
    - ASSERT_THAT
    - auto::value
    - key
    - Keyset::key_size
    - key_size
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPublicTestKeyset
      Src: /src/tink/cc/core/keyset_handle_test.cc:1141,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1143,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:1143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1144,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1144,1
    - Dst: absl::make_unique<MockAeadPrimitiveWrapper>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1145,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/keyset_handle_test.cc:1147,1
    - Dst: crypto::tink::Wrap
      Src: /src/tink/cc/core/keyset_handle_test.cc:1147,1
    - Dst: crypto::tink::get_annotations
      Src: /src/tink/cc/core/keyset_handle_test.cc:1151,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1152,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:1155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1156,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_test.cc:1156,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1156,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1158,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:1158,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1159,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1162,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_test.cc:1162,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_test.cc:1163,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1167,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_test.cc:1167,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_test.cc:1168,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1170,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_test.cc:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1173
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - std::move
    - Keyset::SerializeAsString
    - ASSERT_THAT
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::GetPrimitive
    - crypto::tink::Wrap
    - crypto::tink::KeysetHandle::ReadNoSecret
    - IsOk
    - EXPECT_THAT
    - absl::make_unique<FakeAeadKeyManager>
    - EXPECT_EQ
    - EXPECT_CALL
    - crypto::tink::get_annotations
    - crypto::tink::Registry::Reset
    - absl::make_unique<MockAeadPrimitiveWrapper>
    - absl::make_unique<DummyAead>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::GetPublicTestKeyset
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecretWithAnnotations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1178,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1180,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1181,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:1181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1182,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1182,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1183
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::KeysetHandle::ReadNoSecret
    - Keyset::set_primary_key_id
    - Keyset::SerializeAsString
    - AddTinkKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecretFailForTypeUnknown)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1188,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1190,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1191,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:1191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1192,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1192,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::KeysetHandle::ReadNoSecret
    - Keyset::set_primary_key_id
    - Keyset::SerializeAsString
    - AddTinkKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecretFailForTypeSymmetric)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1198,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1200,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1201,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:1201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1202,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1202,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1203
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::KeysetHandle::ReadNoSecret
    - Keyset::set_primary_key_id
    - Keyset::SerializeAsString
    - AddTinkKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecretFailForTypeAssymmetricPrivate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1208,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1211,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/keyset_handle_test.cc:1211,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1214,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1217,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/keyset_handle_test.cc:1217,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1221,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1222,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_test.cc:1222,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1223,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1223,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1224
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::KeysetHandle::ReadNoSecret
    - AddRawKey
    - Keyset::set_primary_key_id
    - AddTinkKey
    - Keyset::SerializeAsString
    - EXPECT_THAT
    - absl::StrCat
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecretFailForHidden)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1227,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1228,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1228,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1229,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1230
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::KeysetHandle::ReadNoSecret
    - auto::ok
    - EXPECT_EQ
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, ReadNoSecretFailForInvalidString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1235,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1237,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1239,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1241,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:1244,1
    - Dst: crypto::tink::test::DummyKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:1246,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1246,1
    - Dst: auto::WriteNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1247,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:1247,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1248,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1249
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - std::ostream::ostream
    - auto::ok
    - AddRawKey
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::WriteNoSecret
    - crypto::tink::test::DummyKeysetWriter::New
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteNoSecret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1254,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1256,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1258,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:1261,1
    - Dst: crypto::tink::test::DummyKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:1263,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1263,1
    - Dst: auto::WriteNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1264,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:1264,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1265,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1266
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - std::ostream::ostream
    - auto::ok
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::WriteNoSecret
    - crypto::tink::test::DummyKeysetWriter::New
    - auto::get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteNoSecretFailForTypeUnknown)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1271,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1273,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1275,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:1278,1
    - Dst: crypto::tink::test::DummyKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:1280,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1280,1
    - Dst: auto::WriteNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1281,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:1281,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1282,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1268
    functionDepth: 1
    functionLinenumber: 1268
    functionLinenumberEnd: 1283
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - std::ostream::ostream
    - auto::ok
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::WriteNoSecret
    - crypto::tink::test::DummyKeysetWriter::New
    - auto::get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteNoSecretFailForTypeSymmetric)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1288,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1290,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1292,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:1295,1
    - Dst: crypto::tink::test::DummyKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:1297,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1297,1
    - Dst: auto::WriteNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1298,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:1298,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1299,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1300
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - std::ostream::ostream
    - auto::ok
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::WriteNoSecret
    - crypto::tink::test::DummyKeysetWriter::New
    - auto::get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteNoSecretFailForTypeAssymmetricPrivate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1305,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1308,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/keyset_handle_test.cc:1308,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1311,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1314,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/keyset_handle_test.cc:1314,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1318,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1320,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/keyset_handle_test.cc:1323,1
    - Dst: crypto::tink::test::DummyKeysetWriter::New
      Src: /src/tink/cc/core/keyset_handle_test.cc:1325,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_test.cc:1325,1
    - Dst: auto::WriteNoSecret
      Src: /src/tink/cc/core/keyset_handle_test.cc:1326,1
    - Dst: auto::get
      Src: /src/tink/cc/core/keyset_handle_test.cc:1326,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/keyset_handle_test.cc:1327,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/keyset_handle_test.cc:1327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1328
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - std::ostream::ostream
    - auto::ok
    - AddRawKey
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::WriteNoSecret
    - crypto::tink::test::DummyKeysetWriter::New
    - auto::get
    - absl::StrCat
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, WriteNoSecretFailForHidden)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1333,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1336,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/keyset_handle_test.cc:1336,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1339,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1342,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/keyset_handle_test.cc:1342,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1345,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1347,1
    - Dst: auto::GetKeysetInfo
      Src: /src/tink/cc/core/keyset_handle_test.cc:1348,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1350,1
    - Dst: Keyset::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1350,1
    - Dst: auto::primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1350,1
    - Dst: Keyset::key_size
      Src: /src/tink/cc/core/keyset_handle_test.cc:1351,1
    - Dst: auto::key_info
      Src: /src/tink/cc/core/keyset_handle_test.cc:1352,1
    - Dst: Keyset::key
      Src: /src/tink/cc/core/keyset_handle_test.cc:1353,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1354,1
    - Dst: auto::key_data
      Src: /src/tink/cc/core/keyset_handle_test.cc:1354,1
    - Dst: auto::type_url
      Src: /src/tink/cc/core/keyset_handle_test.cc:1354,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1355,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1355,1
    - Dst: auto::status
      Src: /src/tink/cc/core/keyset_handle_test.cc:1355,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1356,1
    - Dst: auto::key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1356,1
    - Dst: auto::key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1356,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_test.cc:1357,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:1357,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_test.cc:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1359
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - Keyset::key
    - auto::key_id
    - Keyset::primary_key_id
    - AddRawKey
    - EXPECT_EQ
    - auto::key_data
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::output_prefix_type
    - auto::primary_key_id
    - auto::key_info
    - absl::StrCat
    - Keyset::key_size
    - auto::type_url
    - auto::GetKeysetInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetKeysetInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1364,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1366,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1368,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1369,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1369,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1370,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1370,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1372,1
    - Dst: std::unique_ptr::ValidateAt
      Src: /src/tink/cc/core/keyset_handle_test.cc:1372,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1372,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1375,1
    - Dst: KeysetHandle::Entry::GetId
      Src: /src/tink/cc/core/keyset_handle_test.cc:1375,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1375,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1376,1
    - Dst: KeysetHandle::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:1376,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1376,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1377,1
    - Dst: KeysetHandle::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1377,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_test.cc:1377,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1378,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1378,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1378,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1379,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1379,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_test.cc:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1380
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - KeysetHandle::Entry::IsPrimary
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - KeysetHandle::Entry::GetId
    - KeysetHandle::Entry::GetStatus
    - EXPECT_THAT
    - KeysetHandle::Entry::GetKey
    - IsTrue
    - Eq
    - std::unique_ptr::ValidateAt
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetEntryFromSingleKeyKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1385,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1387,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1389,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1391,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1394,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1395,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1395,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1396,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1398,1
    - Dst: std::unique_ptr::ValidateAt
      Src: /src/tink/cc/core/keyset_handle_test.cc:1398,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1398,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1400,1
    - Dst: KeysetHandle::Entry::GetId
      Src: /src/tink/cc/core/keyset_handle_test.cc:1400,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1400,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1401,1
    - Dst: KeysetHandle::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:1401,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1401,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1402,1
    - Dst: KeysetHandle::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1402,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_test.cc:1402,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1403,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1403,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1403,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1404,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1404,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_test.cc:1404,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1406,1
    - Dst: std::unique_ptr::ValidateAt
      Src: /src/tink/cc/core/keyset_handle_test.cc:1406,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1406,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1408,1
    - Dst: KeysetHandle::Entry::GetId
      Src: /src/tink/cc/core/keyset_handle_test.cc:1408,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1408,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1409,1
    - Dst: KeysetHandle::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:1409,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1409,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1410,1
    - Dst: KeysetHandle::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1410,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_test.cc:1410,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1411,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1411,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1411,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1412,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1412,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_test.cc:1412,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1414,1
    - Dst: std::unique_ptr::ValidateAt
      Src: /src/tink/cc/core/keyset_handle_test.cc:1414,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1414,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1416,1
    - Dst: KeysetHandle::Entry::GetId
      Src: /src/tink/cc/core/keyset_handle_test.cc:1416,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1416,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1417,1
    - Dst: KeysetHandle::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:1417,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1417,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1418,1
    - Dst: KeysetHandle::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1418,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_test.cc:1418,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1419,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1419,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1419,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1420,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1420,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_test.cc:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1421
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AddRawKey
    - IsOk
    - KeysetHandle::Entry::IsPrimary
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - KeysetHandle::Entry::GetId
    - KeysetHandle::Entry::GetStatus
    - EXPECT_THAT
    - IsFalse
    - IsTrue
    - Eq
    - std::unique_ptr::ValidateAt
    - KeysetHandle::Entry::GetKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetEntryFromMultipleKeyKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1426,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1428,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1430,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1431,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1431,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1431,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1432,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1432,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1434,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1438
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - EXPECT_DEATH_IF_SUPPORTED
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleDeathTest, EntryWithIndexOutOfBoundsCrashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1443,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1445,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1447,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1448,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1448,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1450,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1450,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1450,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1451,1
    - Dst: std::unique_ptr::ValidateAt
      Src: /src/tink/cc/core/keyset_handle_test.cc:1451,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1452,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1454
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - EXPECT_THAT
    - StatusIs
    - EXPECT_DEATH_IF_SUPPORTED
    - std::unique_ptr::ValidateAt
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleDeathTest, EntryWithUnknownStatusFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddRawKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1459,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1461,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1464,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1465,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1465,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1467,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1467,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1468,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1469,1
    - Dst: std::unique_ptr::ValidateAt
      Src: /src/tink/cc/core/keyset_handle_test.cc:1469,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1470,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1473
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AddRawKey
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - EXPECT_THAT
    - StatusIs
    - EXPECT_DEATH_IF_SUPPORTED
    - std::unique_ptr::ValidateAt
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleDeathTest, EntryWithUnprintableTypeUrlFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1478,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1480,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1482,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1484,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1486,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1487,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1487,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1487,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1488,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1488,1
    - Dst: std::unique_ptr::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1490,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1491,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_test.cc:1491,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1493,1
    - Dst: util::StatusOr::GetId
      Src: /src/tink/cc/core/keyset_handle_test.cc:1493,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1493,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1494,1
    - Dst: util::StatusOr::GetStatus
      Src: /src/tink/cc/core/keyset_handle_test.cc:1494,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_test.cc:1494,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1495,1
    - Dst: util::StatusOr::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1495,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_test.cc:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1496
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - util::StatusOr::GetId
    - EXPECT_THAT
    - util::StatusOr::IsPrimary
    - util::StatusOr::GetStatus
    - IsTrue
    - Eq
    - std::unique_ptr::GetPrimary
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleTest, GetPrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1501,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1504,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1505,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1505,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1507,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1507,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1508,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1509,1
    - Dst: std::unique_ptr::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1510
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - EXPECT_THAT
    - StatusIs
    - EXPECT_DEATH_IF_SUPPORTED
    - std::unique_ptr::GetPrimary
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleDeathTest, NonexistentPrimaryFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1515,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1517,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1520,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1522,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1523,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1523,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1525,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1525,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1526,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1527,1
    - Dst: std::unique_ptr::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1529
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - EXPECT_THAT
    - StatusIs
    - EXPECT_DEATH_IF_SUPPORTED
    - std::unique_ptr::GetPrimary
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleDeathTest, MultiplePrimariesFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_test.cc:1534,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/keyset_handle_test.cc:1536,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/keyset_handle_test.cc:1538,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1539,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1539,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_test.cc:1541,1
    - Dst: std::unique_ptr::Validate
      Src: /src/tink/cc/core/keyset_handle_test.cc:1541,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_test.cc:1542,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_test.cc:1543,1
    - Dst: std::unique_ptr::GetPrimary
      Src: /src/tink/cc/core/keyset_handle_test.cc:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1545
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - ASSERT_THAT
    - std::unique_ptr::Validate
    - EXPECT_THAT
    - StatusIs
    - EXPECT_DEATH_IF_SUPPORTED
    - std::unique_ptr::GetPrimary
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleDeathTest, GetDisabledPrimaryFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_key_value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:61,1
    - Dst: set_version
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:62,1
    - Dst: set_key_value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:64,1
    - Dst: set_version
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:65,1
    - Dst: mutable_params
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:66,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:68,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:70,1
    - Dst: set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:72,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:74,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:100,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:100,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:101,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:101,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:102,1
    - Dst: Parse
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:102,1
    - Dst: std::string::c_str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:102,1
    - Dst: set_encrypted_keyset
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:105,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:107,1
    - Dst: mutable_keyset_info
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:108,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:109,1
    - Dst: auto::add_key_info
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:110,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:111,1
    - Dst: auto::set_key_id
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:112,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:113,1
    - Dst: auto::set_status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:114,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:129,1
    - Dst: Parse
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:129,1
    - Dst: c_str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 131
    functionName: crypto::tink::JsonKeysetWriterTest::SetUp
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - AddRawKey
    - mutable_keyset_info
    - set_primary_key_id
    - absl::Base64Escape
    - auto::set_primary_key_id
    - ASSERT_FALSE
    - auto::set_key_id
    - c_str
    - set_version
    - SerializeAsString
    - Parse
    - std::string::c_str
    - auto::set_type_url
    - absl::Substitute
    - set_key_value
    - AddTinkKey
    - mutable_params
    - auto::add_key_info
    - auto::set_output_prefix_type
    - set_encrypted_keyset
    - auto::set_status
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:145,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:145,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:146,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:147,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:148,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:152,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:153,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:154,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:154,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::JsonKeysetWriter::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, testWriterCreation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:160,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:161,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:161,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:162,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:162,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:162,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:163,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:163,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:165,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:167,1
    - Dst: rapidjson::Document::Parse
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:167,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::ostream::ostream
    - auto::ok
    - std::move
    - rapidjson::Document::Parse
    - std::stringbuf::str
    - crypto::tink::JsonKeysetWriter::New
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, testWriteKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:173,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:174,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:174,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:175,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:175,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:175,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:176,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:176,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:178,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:178,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:180,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:181,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:181,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:181,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:182,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:182,1
    - Dst: auto::Read
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:184,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:184,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:185,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:186,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:186,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 187
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::ostream::ostream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - std::stringbuf::str
    - crypto::tink::JsonKeysetWriter::New
    - auto::SerializeAsString
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    - auto::Read
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, testWriteAndReadKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:191,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:192,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:192,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:193,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:193,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:193,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:194,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:194,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:196,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:198,1
    - Dst: rapidjson::Document::Parse
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:199,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:199,1
    - Dst: static_cast<unsigned>
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:201,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:201,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:203,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:204,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:205,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 208
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - static_cast<unsigned>
    - rapidjson::Document::GetParseError
    - std::ostream::ostream
    - auto::ok
    - rapidjson::GetParseError_En
    - rapidjson::Document::GetErrorOffset
    - std::move
    - rapidjson::Document::Parse
    - std::stringbuf::str
    - crypto::tink::JsonKeysetWriter::New
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, testWriteEncryptedKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:212,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:213,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:213,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:214,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:214,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:214,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:215,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:215,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:216,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:217,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:217,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:219,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:220,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:220,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:220,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:221,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:221,1
    - Dst: auto::ReadEncrypted
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:223,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:223,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:223,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:224,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:225,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:225,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::ostream::ostream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - std::stringbuf::str
    - crypto::tink::JsonKeysetWriter::New
    - auto::SerializeAsString
    - auto::value
    - auto::ReadEncrypted
    - auto::Write
    - ASSERT_TRUE
    - SerializeAsString
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, testWriteAndReadEncryptedKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:231,1
    - Dst: std::unique_ptr::setstate
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:232,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:233,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:233,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:234,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:234,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:234,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:235,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:235,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:238,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:239,1
    - Dst: auto::code
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:239,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:243,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:244,1
    - Dst: auto::code
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::ostream::ostream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - std::unique_ptr::setstate
    - crypto::tink::JsonKeysetWriter::New
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - auto::code
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, testDestinationStreamErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:250,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:252,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:255,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:256,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:257,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:258,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:259,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:259,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:260,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:260,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:261,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:261,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/json_keyset_writer_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/json_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - std::ostream::ostream
    - IsOk
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - std::stringbuf::str
    - ASSERT_THAT
    - crypto::tink::JsonKeysetWriter::New
    - auto::value
    - HasSubstr
    - auto::Write
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JsonKeysetWriterTest, WriteLargeKeyId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::ExamplePrivateKeyTypeManager::PrivatePrimitiveFactory::Create
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PrivatePrimitive>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<PrivatePrimitive>> Create(\n
      \       const EcdsaPrivateKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrivatePrimitiveFactory>
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::ExamplePrivateKeyTypeManager::ExamplePrivateKeyTypeManager
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrivatePrimitiveFactory>
    linkageType: ''
    returnType: void
    signature: void ExamplePrivateKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::ExamplePrivateKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:101,1
    - Dst: params
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:101,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::ExamplePrivateKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - params
    - EcdsaPrivateKey::mutable_public_key
    - EcdsaPublicKey::mutable_params
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPrivateKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPrivateKey> CreateKey(\n      const
      EcdsaKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: crypto::tink::internal::ExamplePrivateKeyTypeManager::GetPublicKey
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPublicKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPublicKey> GetPublicKey(\n      const
      EcdsaPrivateKey& private_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::PublicPrimitiveFactory::Create
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PublicPrimitive>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<PublicPrimitive>> Create(\n
      \       const EcdsaPublicKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicPrimitiveFactory>
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::TestPublicKeyTypeManager
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicPrimitiveFactory>
    linkageType: ''
    returnType: void
    signature: void TestPublicKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakePrivateKeyManager
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:154,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:157,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:159,1
    - Dst: dynamic_cast<EcdsaPrivateKey&>
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get_key_factory
    - EcdsaKeyFormat::mutable_params
    - EXPECT_THAT
    - dynamic_cast<EcdsaPrivateKey&>
    - Eq
    - crypto::tink::internal::MakePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(PrivateKeyManagerImplTest, FactoryNewKeyFromMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakePrivateKeyManager
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:168,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:171,1
    - Dst: dynamic_cast<const PrivateKeyFactory&>
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:175,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:175,1
    - Dst: EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:178,1
    - Dst: auto::type_url
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:178,1
    - Dst: Eq
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:178,1
    - Dst: TestPublicKeyTypeManager::get_key_type
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:178,1
    - Dst: EcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:180,1
    - Dst: auto::value
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:181,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:181,1
    - Dst: Eq
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - TestPublicKeyTypeManager::get_key_type
    - dynamic_cast<const PrivateKeyFactory&>
    - EcdsaPublicKey::ParseFromString
    - EcdsaPublicKey::params
    - EcdsaPrivateKey::mutable_public_key
    - EcdsaPrivateKey::SerializeAsString
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - Eq
    - auto::type_url
    - crypto::tink::internal::MakePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(PrivateKeyManagerImplTest, GetPublicKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:187,1
    - Dst: Return
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:188,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:188,1
    - Dst: crypto::tink::internal::MakePrivateKeyManager
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:194,1
    - Dst: dynamic_cast<const PrivateKeyFactory&>
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:195,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:195,1
    - Dst: EcdsaPrivateKey
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:196,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:198,1
    - Dst: HasSubstr
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const PrivateKeyFactory&>
    - EcdsaPrivateKey
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - StatusIs
    - HasSubstr
    - EXPECT_THAT
    - std::unique_ptr::get_key_factory
    - Return
    - crypto::tink::internal::MakePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(PrivateKeyManagerImplTest, GetPublicKeyDataValidatePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakePrivateKeyManager
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:208,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:213,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:215,1
    - Dst: dynamic_cast<EcdsaPrivateKey&>
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:216,1
    - Dst: Eq
      Src: /src/tink/cc/core/private_key_manager_impl_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/core/private_key_manager_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::get_key_factory
    - EcdsaKeyFormat::mutable_params
    - EXPECT_THAT
    - dynamic_cast<EcdsaPrivateKey&>
    - Eq
    - crypto::tink::internal::MakePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(PrivateKeyManagerImplTest, PublicKeyManagerCanHaveShortLifetime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:33,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:33,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:34,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:34,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:38,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/core/ec_point_test.cc:38,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:38,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:39,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/core/ec_point_test.cc:39,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EcPoint::GetX
    - EcPoint::GetY
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:43,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:43,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:44,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:44,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:49,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/core/ec_point_test.cc:49,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:49,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:50,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/core/ec_point_test.cc:50,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EcPoint::GetX
    - EcPoint::GetY
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:54,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:54,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:55,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:55,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:60,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/core/ec_point_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:61,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/core/ec_point_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EcPoint::GetX
    - EcPoint::GetY
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:65,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:65,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:66,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:71,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/core/ec_point_test.cc:71,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:72,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/core/ec_point_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EcPoint::GetX
    - EcPoint::GetY
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:76,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:76,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:77,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/core/ec_point_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:82,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/core/ec_point_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/ec_point_test.cc:83,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/core/ec_point_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/core/ec_point_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EcPoint::GetX
    - EcPoint::GetY
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, MoveAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:87,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:87,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:88,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/ec_point_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/ec_point_test.cc:94,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/ec_point_test.cc:95,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/ec_point_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - BigInteger
    - EXPECT_FALSE
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:100,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:100,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:101,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:101,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:102,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:102,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/ec_point_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/ec_point_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/ec_point_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/ec_point_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - BigInteger
    - EXPECT_FALSE
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, DifferentXNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:114,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:114,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:115,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:115,1
    - Dst: BigInteger
      Src: /src/tink/cc/core/ec_point_test.cc:116,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/ec_point_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/ec_point_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/ec_point_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/ec_point_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/ec_point_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/ec_point_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - BigInteger
    - EXPECT_FALSE
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(EcPointTest, DifferentYNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeyFactory::AlwaysFailingFactory
      Src: /src/tink/cc/core/key_manager_test.cc:35,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_test.cc:36,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_test.cc:38,1
    - Dst: std::unique_ptr::NewKey
      Src: /src/tink/cc/core/key_manager_test.cc:38,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeyFactory::AlwaysFailingFactory
    - crypto::tink::internal::ExtractStatus
    - std::unique_ptr::NewKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailingFactoryTest, NewKeyFromProtoLite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeyFactory::AlwaysFailingFactory
      Src: /src/tink/cc/core/key_manager_test.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_test.cc:44,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_test.cc:45,1
    - Dst: std::unique_ptr::NewKey
      Src: /src/tink/cc/core/key_manager_test.cc:45,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeyFactory::AlwaysFailingFactory
    - crypto::tink::internal::ExtractStatus
    - std::unique_ptr::NewKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailingFactoryTest, NewKeyFromStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeyFactory::AlwaysFailingFactory
      Src: /src/tink/cc/core/key_manager_test.cc:50,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_manager_test.cc:51,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_manager_test.cc:52,1
    - Dst: std::unique_ptr::NewKeyData
      Src: /src/tink/cc/core/key_manager_test.cc:52,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/key_manager_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::NewKeyData
    - crypto::tink::KeyFactory::AlwaysFailingFactory
    - crypto::tink::internal::ExtractStatus
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailingFactoryTest, NewKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/binary_keyset_reader.cc:44,1
    - Dst: std::unique_ptr<std::istream>::rdbuf
      Src: /src/tink/cc/core/binary_keyset_reader.cc:48,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/binary_keyset_reader.cc:49,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/core/binary_keyset_reader.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - keyset_stream
    argTypes:
    - std::unique_ptr<std::istream>
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: crypto::tink::BinaryKeysetReader::New
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader.cc
    functionUses: 14
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::stringstream::str
    - std::unique_ptr<std::istream>::rdbuf
    - crypto::tink::BinaryKeysetReader::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetReader>>
    signature: "util::StatusOr<std::unique_ptr<KeysetReader>> BinaryKeysetReader::New(\n
      \   std::unique_ptr<std::istream> keyset_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BinaryKeysetReader::BinaryKeysetReader
      Src: /src/tink/cc/core/binary_keyset_reader.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: crypto::tink::BinaryKeysetReader::New
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader.cc
    functionUses: 14
    functionsReached:
    - std::move
    - BinaryKeysetReader::BinaryKeysetReader
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetReader>>
    signature: "util::StatusOr<std::unique_ptr<KeysetReader>> BinaryKeysetReader::New(\n
      \   absl::string_view serialized_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<Keyset>
      Src: /src/tink/cc/core/binary_keyset_reader.cc:61,1
    - Dst: auto::ParseFromString
      Src: /src/tink/cc/core/binary_keyset_reader.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/binary_keyset_reader.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: crypto::tink::BinaryKeysetReader::Read
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<Keyset>
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset>>
    signature: util::StatusOr<std::unique_ptr<Keyset>> BinaryKeysetReader::Read()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<EncryptedKeyset>
      Src: /src/tink/cc/core/binary_keyset_reader.cc:71,1
    - Dst: auto::ParseFromString
      Src: /src/tink/cc/core/binary_keyset_reader.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/binary_keyset_reader.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_reader.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: crypto::tink::BinaryKeysetReader::ReadEncrypted
    functionSourceFile: /src/tink/cc/core/binary_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<EncryptedKeyset>
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EncryptedKeyset>>
    signature: util::StatusOr<std::unique_ptr<EncryptedKeyset>> BinaryKeysetReader::ReadEncrypted()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:53,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:55,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:57,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:60,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:60,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:60,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:62,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:62,1
    - Dst: auto::status
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:63,1
    - Dst: auto::value
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:64,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:64,1
    - Dst: TestKeysetHandle::GetKeyset
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:70,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:70,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:71,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:71,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:72,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/cleartext_keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - AddRawKey
    - EXPECT_EQ
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - Keyset::SerializeAsString
    - crypto::tink::BinaryKeysetReader::New
    - auto::value
    - TestKeysetHandle::GetKeyset
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(CleartextKeysetHandleTest, testRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:80,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:82,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:84,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:86,1
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:89,1
    - Dst: crypto::tink::test::DummyKeysetWriter::New
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:94,1
    - Dst: crypto::tink::CleartextKeysetHandle::Write
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:94,1
    - Dst: auto::get
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:94,1
    - Dst: auto::get
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:94,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:95,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:98,1
    - Dst: crypto::tink::CleartextKeysetHandle::Write
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:98,1
    - Dst: auto::get
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:98,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/cleartext_keyset_handle_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/cleartext_keyset_handle_test.cc
    functionUses: 0
    functionsReached:
    - std::ostream::ostream
    - AddRawKey
    - EXPECT_EQ
    - EXPECT_NE
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::CleartextKeysetHandle::Write
    - crypto::tink::test::DummyKeysetWriter::New
    - auto::get
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(CleartextKeysetHandleTest, testWrite)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:41,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:42,1
    - Dst: auto::status
      Src: /src/tink/cc/core/kms_clients_test.cc:42,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/kms_clients_test.cc:42,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:44,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:45,1
    - Dst: auto::status
      Src: /src/tink/cc/core/kms_clients_test.cc:45,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/kms_clients_test.cc:46,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/core/kms_clients_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:49,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/kms_clients_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/kms_clients_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::KmsClients::Add
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::KmsClients::Get
    linkageType: ''
    returnType: void
    signature: void TEST(KmsClientsTest, Empty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/core/kms_clients_test.cc:63,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/core/kms_clients_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:65,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/kms_clients_test.cc:68,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:68,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/kms_clients_test.cc:69,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:69,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/core/kms_clients_test.cc:73,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/kms_clients_test.cc:73,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/core/kms_clients_test.cc:76,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/core/kms_clients_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:78,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/kms_clients_test.cc:81,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:81,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/kms_clients_test.cc:82,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:82,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/core/kms_clients_test.cc:86,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/kms_clients_test.cc:86,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/core/kms_clients_test.cc:89,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/core/kms_clients_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:91,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/kms_clients_test.cc:94,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:94,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/kms_clients_test.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:95,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/kms_clients_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:96,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/kms_clients_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/kms_clients_test.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:102,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/core/kms_clients_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/kms_clients_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/core/kms_clients_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/kms_clients_test.cc:106,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:106,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/kms_clients_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/core/kms_clients_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/kms_clients_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KmsClients::Add
    - auto::value
    - EXPECT_THAT
    - absl::make_unique<DummyKmsClient>
    - StatusIs
    - crypto::tink::KmsClients::Get
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(KmsClientsTest, AddAndGet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:60,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:60,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:63,1
    - Dst: AddRawKey
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:65,1
    - Dst: set_primary_key_id
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:67,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:68,1
    - Dst: set_encrypted_keyset
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:71,1
    - Dst: mutable_keyset_info
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:72,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:73,1
    - Dst: auto::add_key_info
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:74,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:75,1
    - Dst: auto::set_key_id
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:76,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: crypto::tink::BinaryKeysetWriterTest::SetUp
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::DeterministicAeadConfig::Register
    - AddRawKey
    - mutable_keyset_info
    - IsOk
    - set_primary_key_id
    - AddTinkKey
    - auto::set_primary_key_id
    - ASSERT_THAT
    - set_encrypted_keyset
    - auto::set_key_id
    - auto::set_type_url
    - SerializeAsString
    - auto::add_key_info
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:89,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:89,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:90,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:92,1
    - Dst: std::stringstream::stringstream
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:96,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:97,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:98,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::stringstream::stringstream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_FALSE
    - crypto::tink::BinaryKeysetWriter::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetWriterTest, testWriterCreation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:104,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:105,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:106,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:106,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:107,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:109,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:110,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::ostream::ostream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - std::stringbuf::str
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - crypto::tink::BinaryKeysetWriter::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetWriterTest, testWriteKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:115,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:117,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:117,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:117,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:118,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:118,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:121,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::ostream::ostream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - std::stringbuf::str
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - crypto::tink::BinaryKeysetWriter::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetWriterTest, testWriteEncryptedKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream::ostream
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:126,1
    - Dst: std::unique_ptr::setstate
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:127,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:128,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:129,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:129,1
    - Dst: auto::status
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:129,1
    - Dst: std::move
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:130,1
    - Dst: auto::value
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:130,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:132,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:133,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:134,1
    - Dst: auto::code
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:134,1
    - Dst: auto::Write
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:137,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:138,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:139,1
    - Dst: auto::code
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::ostream::ostream
    - auto::ok
    - EXPECT_EQ
    - std::move
    - std::unique_ptr::setstate
    - auto::value
    - auto::Write
    - ASSERT_TRUE
    - auto::code
    - EXPECT_FALSE
    - crypto::tink::BinaryKeysetWriter::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetWriterTest, testDestinationStreamErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:145,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:145,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:147,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:149,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:150,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:153,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:153,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:155,1
    - Dst: crypto::tink::SerializeKeysetToProtoKeysetFormat
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:158,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:160,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:162,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:164,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:168,1
    - Dst: absl::make_unique<std::ostream>
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:170,1
    - Dst: Write
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:172,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::get
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:178,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:178,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:179,1
    - Dst: Le
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:179,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/binary_keyset_writer_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 180
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/binary_keyset_writer_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Le
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - SizeIs
    - IsOk
    - util::StatusOr::size
    - EXPECT_THAT
    - Write
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::SerializeKeysetToProtoKeysetFormat
    - crypto::tink::BinaryKeysetWriter::New
    - crypto::tink::util::StatusOr<std::unique_ptr<BinaryKeysetWriter>>::get
    - std::stringbuf::str
    - absl::make_unique<std::ostream>
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: void
    signature: void TEST_F(BinaryKeysetWriterTest, EncryptedKeysetOverhead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:57,1
    - Dst: type_url
      Src: /src/tink/cc/core/json_keyset_writer.cc:57,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:58,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:61,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/core/json_keyset_writer.cc:61,1
    - Dst: key_material_type
      Src: /src/tink/cc/core/json_keyset_writer.cc:61,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:63,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_writer.cc:66,1
    - Dst: value
      Src: /src/tink/cc/core/json_keyset_writer.cc:66,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:68,1
    - Dst: std::string::c_str
      Src: /src/tink/cc/core/json_keyset_writer.cc:68,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:69,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ' key_data'
    - json_key_data
    - allocator
    argTypes:
    - KeyData
    - rapidjson::Value*
    - rapidjson::Document::AllocatorType*
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: crypto::tink::ToJson
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - key_material_type
    - std::string::c_str
    - crypto::tink::util::Enums::KeyMaterialName
    - crypto::tink::util::OkStatus
    - absl::Base64Escape
    - type_url
    - value
    - rapidjson::Value*::AddMember
    - rapidjson::Value::SetString
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ToJson(const KeyData& key_data,\n                        rapidjson::Value*
      json_key_data,\n                        rapidjson::Document::AllocatorType*
      allocator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::SetUint
      Src: /src/tink/cc/core/json_keyset_writer.cc:78,1
    - Dst: key_id
      Src: /src/tink/cc/core/json_keyset_writer.cc:78,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:79,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:82,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/core/json_keyset_writer.cc:82,1
    - Dst: status
      Src: /src/tink/cc/core/json_keyset_writer.cc:82,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:83,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:86,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/core/json_keyset_writer.cc:86,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/json_keyset_writer.cc:86,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:88,1
    - Dst: crypto::tink::ToJson
      Src: /src/tink/cc/core/json_keyset_writer.cc:91,1
    - Dst: key_data
      Src: /src/tink/cc/core/json_keyset_writer.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer.cc:92,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:93,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ' key'
    - json_key
    - allocator
    argTypes:
    - Keyset::Key
    - rapidjson::Value*
    - rapidjson::Document::AllocatorType*
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: crypto::tink::ToJson
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::ToJson
    - rapidjson::Value::SetUint
    - auto::ok
    - crypto::tink::util::Enums::OutputPrefixName
    - status
    - crypto::tink::util::OkStatus
    - key_id
    - crypto::tink::util::Enums::KeyStatusName
    - key_data
    - rapidjson::Value*::AddMember
    - output_prefix_type
    - rapidjson::Value::SetString
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ToJson(const Keyset::Key& key,\n                        rapidjson::Value*
      json_key,\n                        rapidjson::Document::AllocatorType* allocator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Document::GetAllocator
      Src: /src/tink/cc/core/json_keyset_writer.cc:99,1
    - Dst: rapidjson::Value::SetUint
      Src: /src/tink/cc/core/json_keyset_writer.cc:102,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/json_keyset_writer.cc:102,1
    - Dst: rapidjson::Document::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:103,1
    - Dst: key
      Src: /src/tink/cc/core/json_keyset_writer.cc:106,1
    - Dst: crypto::tink::ToJson
      Src: /src/tink/cc/core/json_keyset_writer.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer.cc:109,1
    - Dst: rapidjson::Value::PushBack
      Src: /src/tink/cc/core/json_keyset_writer.cc:110,1
    - Dst: rapidjson::Document::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:112,1
    - Dst: rapidjson::Document::Accept
      Src: /src/tink/cc/core/json_keyset_writer.cc:115,1
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_writer.cc:116,1
    - Dst: rapidjson::StringBuffer::GetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: crypto::tink::ToJsonString
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - rapidjson::Document::AddMember
    - crypto::tink::ToJson
    - rapidjson::Value::SetUint
    - std::string
    - primary_key_id
    - auto::ok
    - rapidjson::StringBuffer::GetString
    - rapidjson::Document::Accept
    - rapidjson::Document::GetAllocator
    - key
    - rapidjson::Value::PushBack
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ToJsonString(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:123,1
    - Dst: type_url
      Src: /src/tink/cc/core/json_keyset_writer.cc:123,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:124,1
    - Dst: rapidjson::Value::SetUint
      Src: /src/tink/cc/core/json_keyset_writer.cc:127,1
    - Dst: key_id
      Src: /src/tink/cc/core/json_keyset_writer.cc:127,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:128,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:131,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/core/json_keyset_writer.cc:131,1
    - Dst: status
      Src: /src/tink/cc/core/json_keyset_writer.cc:131,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:132,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:135,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/core/json_keyset_writer.cc:135,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/core/json_keyset_writer.cc:135,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:137,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ' key_info'
    - json_key_info
    - allocator
    argTypes:
    - KeysetInfo::KeyInfo
    - rapidjson::Value*
    - rapidjson::Document::AllocatorType*
    constantsTouched: []
    func_position:
      end: 139
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 139
    functionName: crypto::tink::ToJson
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 2
    functionsReached:
    - rapidjson::Value::SetUint
    - crypto::tink::util::Enums::OutputPrefixName
    - status
    - crypto::tink::util::OkStatus
    - key_id
    - type_url
    - crypto::tink::util::Enums::KeyStatusName
    - rapidjson::Value*::AddMember
    - output_prefix_type
    - rapidjson::Value::SetString
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ToJson(const KeysetInfo::KeyInfo& key_info,\n                        rapidjson::Value*
      json_key_info,\n                        rapidjson::Document::AllocatorType*
      allocator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::SetUint
      Src: /src/tink/cc/core/json_keyset_writer.cc:145,1
    - Dst: primary_key_id
      Src: /src/tink/cc/core/json_keyset_writer.cc:145,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:146,1
    - Dst: key_info
      Src: /src/tink/cc/core/json_keyset_writer.cc:149,1
    - Dst: crypto::tink::ToJson
      Src: /src/tink/cc/core/json_keyset_writer.cc:151,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer.cc:152,1
    - Dst: rapidjson::Value::PushBack
      Src: /src/tink/cc/core/json_keyset_writer.cc:153,1
    - Dst: rapidjson::Value*::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:155,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' keyset_info'
    - json_keyset_info
    - allocator
    argTypes:
    - KeysetInfo
    - rapidjson::Value*
    - rapidjson::Document::AllocatorType*
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: crypto::tink::ToJson
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::ToJson
    - rapidjson::Value::SetUint
    - key_info
    - primary_key_id
    - auto::ok
    - rapidjson::Value::PushBack
    - rapidjson::Value*::AddMember
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ToJson(const KeysetInfo& keyset_info,\n                        rapidjson::Value*
      json_keyset_info,\n                        rapidjson::Document::AllocatorType*
      allocator)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Document::GetAllocator
      Src: /src/tink/cc/core/json_keyset_writer.cc:161,1
    - Dst: absl::Base64Escape
      Src: /src/tink/cc/core/json_keyset_writer.cc:164,1
    - Dst: encrypted_keyset
      Src: /src/tink/cc/core/json_keyset_writer.cc:164,1
    - Dst: rapidjson::Value::SetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:166,1
    - Dst: std::string::c_str
      Src: /src/tink/cc/core/json_keyset_writer.cc:166,1
    - Dst: rapidjson::Document::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:167,1
    - Dst: has_keyset_info
      Src: /src/tink/cc/core/json_keyset_writer.cc:169,1
    - Dst: crypto::tink::ToJson
      Src: /src/tink/cc/core/json_keyset_writer.cc:171,1
    - Dst: keyset_info
      Src: /src/tink/cc/core/json_keyset_writer.cc:171,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer.cc:172,1
    - Dst: rapidjson::Document::AddMember
      Src: /src/tink/cc/core/json_keyset_writer.cc:173,1
    - Dst: rapidjson::Document::Accept
      Src: /src/tink/cc/core/json_keyset_writer.cc:178,1
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_writer.cc:179,1
    - Dst: rapidjson::StringBuffer::GetString
      Src: /src/tink/cc/core/json_keyset_writer.cc:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - EncryptedKeyset
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: crypto::tink::ToJsonString
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - rapidjson::Document::AddMember
    - crypto::tink::ToJson
    - rapidjson::StringBuffer::GetString
    - std::string
    - auto::ok
    - std::string::c_str
    - rapidjson::Document::Accept
    - absl::Base64Escape
    - keyset_info
    - has_keyset_info
    - rapidjson::Document::GetAllocator
    - encrypted_keyset
    - rapidjson::Value::SetString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ToJsonString(const EncryptedKeyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ostream*::fail
      Src: /src/tink/cc/core/json_keyset_writer.cc:184,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:185,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - data
    - destination
    argTypes:
    - absl::string_view
    - std::ostream*
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: crypto::tink::WriteData
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - std::ostream*::fail
    linkageType: ''
    returnType: util::Status
    signature: util::Status WriteData(absl::string_view data, std::ostream* destination)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_writer.cc:198,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer.cc:202,1
    - Dst: JsonKeysetWriter::JsonKeysetWriter
      Src: /src/tink/cc/core/json_keyset_writer.cc:202,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_writer.cc:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - destination_stream
    argTypes:
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: crypto::tink::JsonKeysetWriter::New
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 9
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - JsonKeysetWriter::JsonKeysetWriter
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<JsonKeysetWriter>>
    signature: "util::StatusOr<std::unique_ptr<JsonKeysetWriter>> JsonKeysetWriter::New(\n
      \   std::unique_ptr<std::ostream> destination_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJsonString
      Src: /src/tink/cc/core/json_keyset_writer.cc:207,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer.cc:208,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer.cc:208,1
    - Dst: WriteData
      Src: /src/tink/cc/core/json_keyset_writer.cc:209,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer.cc:209,1
    - Dst: get
      Src: /src/tink/cc/core/json_keyset_writer.cc:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: crypto::tink::JsonKeysetWriter::Write
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - WriteData
    - auto::value
    - ToJsonString
    - get
    linkageType: ''
    returnType: util::Status
    signature: util::Status JsonKeysetWriter::Write(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToJsonString
      Src: /src/tink/cc/core/json_keyset_writer.cc:214,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_writer.cc:215,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_writer.cc:215,1
    - Dst: WriteData
      Src: /src/tink/cc/core/json_keyset_writer.cc:216,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_writer.cc:216,1
    - Dst: get
      Src: /src/tink/cc/core/json_keyset_writer.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' encrypted_keyset'
    argTypes:
    - EncryptedKeyset
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: crypto::tink::JsonKeysetWriter::Write
    functionSourceFile: /src/tink/cc/core/json_keyset_writer.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - WriteData
    - auto::value
    - ToJsonString
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status JsonKeysetWriter::Write(\n    const EncryptedKeyset&
      encrypted_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_GE
      Src: /src/tink/cc/core/restricted_data.cc:31,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/restricted_data.cc:33,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/restricted_data.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_random_bytes
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: crypto::tink::RestrictedData::RestrictedData
    functionSourceFile: /src/tink/cc/core/restricted_data.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::util::SecretDataFromStringView
    - CHECK_GE
    linkageType: ''
    returnType: void
    signature: void RestrictedData::RestrictedData(int64_t num_random_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/core/restricted_data.cc:38,1
    - Dst: secret_::size
      Src: /src/tink/cc/core/restricted_data.cc:38,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/core/restricted_data.cc:41,1
    - Dst: data
      Src: /src/tink/cc/core/restricted_data.cc:41,1
    - Dst: secret_::data
      Src: /src/tink/cc/core/restricted_data.cc:41,1
    - Dst: size
      Src: /src/tink/cc/core/restricted_data.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: RestrictedData::operator==(const RestrictedData& other) const
    functionSourceFile: /src/tink/cc/core/restricted_data.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - size
    - secret_::size
    - data
    - secret_::data
    linkageType: ''
    returnType: bool
    signature: bool RestrictedData::operator==(const RestrictedData& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeyAccess::PublicAccess
      Src: /src/tink/cc/core/key_access_test.cc:27,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/core/key_access_test.cc:28,1
    - Dst: KeyAccess::CanAccessSecret
      Src: /src/tink/cc/core/key_access_test.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_access_test.cc
    functionUses: 0
    functionsReached:
    - KeyAccess::CanAccessSecret
    - EXPECT_FALSE
    - crypto::tink::KeyAccess::PublicAccess
    linkageType: ''
    returnType: void
    signature: void TEST(KeyAccessTest, PublicHasNoSecretAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SecretKeyAccess::SecretAccess
      Src: /src/tink/cc/core/key_access_test.cc:32,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/key_access_test.cc:33,1
    - Dst: KeyAccess::CanAccessSecret
      Src: /src/tink/cc/core/key_access_test.cc:33,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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_access_test.cc
    functionUses: 0
    functionsReached:
    - KeyAccess::CanAccessSecret
    - EXPECT_TRUE
    - crypto::tink::SecretKeyAccess::SecretAccess
    linkageType: ''
    returnType: void
    signature: void TEST(KeyAccessTest, SecretKeyAccessHasSecretAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/restricted_big_integer.cc:33,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/core/restricted_big_integer.cc:33,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/restricted_big_integer.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - secret_big_integer
    - token
    argTypes:
    - absl::string_view
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: crypto::tink::RestrictedBigInteger::RestrictedBigInteger
    functionSourceFile: /src/tink/cc/core/restricted_big_integer.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - crypto::tink::util::SecretDataFromStringView
    linkageType: ''
    returnType: void
    signature: "void RestrictedBigInteger::RestrictedBigInteger(absl::string_view
      secret_big_integer,\n                                           SecretKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/core/restricted_big_integer.cc:40,1
    - Dst: secret_::size
      Src: /src/tink/cc/core/restricted_big_integer.cc:40,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/core/restricted_big_integer.cc:44,1
    - Dst: data
      Src: /src/tink/cc/core/restricted_big_integer.cc:44,1
    - Dst: secret_::data
      Src: /src/tink/cc/core/restricted_big_integer.cc:44,1
    - Dst: size
      Src: /src/tink/cc/core/restricted_big_integer.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: RestrictedBigInteger::operator==(const RestrictedBigInteger& other)
      const
    functionSourceFile: /src/tink/cc/core/restricted_big_integer.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - size
    - secret_::size
    - data
    - secret_::data
    linkageType: ''
    returnType: bool
    signature: bool RestrictedBigInteger::operator==(const RestrictedBigInteger& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:54,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:55,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:56,1
    - Dst: IsObject
      Src: /src/tink/cc/core/json_keyset_reader.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:58,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' json_doc'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: crypto::tink::ValidateEncryptedKeyset
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - IsObject
    - crypto::tink::internal::ExtractStatus
    - HasMember
    - IsString
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateEncryptedKeyset(const rapidjson::Document& json_doc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:65,1
    - Dst: IsUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:66,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:67,1
    - Dst: IsArray
      Src: /src/tink/cc/core/json_keyset_reader.cc:67,1
    - Dst: Size
      Src: /src/tink/cc/core/json_keyset_reader.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:69,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: crypto::tink::ValidateKeysetInfo
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - IsArray
    - HasMember
    - Size
    - crypto::tink::util::OkStatus
    - IsUint
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKeysetInfo(const rapidjson::Value& json_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:76,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:76,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:77,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:77,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:78,1
    - Dst: IsUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:78,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:79,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:81,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: crypto::tink::ValidateKeyInfo
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - HasMember
    - IsString
    - crypto::tink::util::OkStatus
    - IsUint
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKeyInfo(const rapidjson::Value& json_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateKeyInfo
      Src: /src/tink/cc/core/json_keyset_reader.cc:89,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:90,1
    - Dst: absl::make_unique<KeysetInfo::KeyInfo>
      Src: /src/tink/cc/core/json_keyset_reader.cc:92,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/json_keyset_reader.cc:93,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:93,1
    - Dst: auto::set_status
      Src: /src/tink/cc/core/json_keyset_reader.cc:94,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:94,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:94,1
    - Dst: auto::set_key_id
      Src: /src/tink/cc/core/json_keyset_reader.cc:95,1
    - Dst: GetUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:95,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/core/json_keyset_reader.cc:96,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/core/json_keyset_reader.cc:97,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: crypto::tink::KeyInfoFromJson
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::KeyStatus
    - auto::ok
    - auto::set_output_prefix_type
    - std::move
    - GetUint
    - auto::set_key_id
    - crypto::tink::ValidateKeyInfo
    - auto::set_type_url
    - GetString
    - auto::set_status
    - absl::make_unique<KeysetInfo::KeyInfo>
    - crypto::tink::util::Enums::OutputPrefix
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetInfo::KeyInfo>>
    signature: "util::StatusOr<std::unique_ptr<KeysetInfo::KeyInfo>> KeyInfoFromJson(\n
      \   const rapidjson::Value& json_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateKeysetInfo
      Src: /src/tink/cc/core/json_keyset_reader.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:104,1
    - Dst: absl::make_unique<KeysetInfo>
      Src: /src/tink/cc/core/json_keyset_reader.cc:105,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_reader.cc:106,1
    - Dst: GetUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:106,1
    - Dst: GetArray
      Src: /src/tink/cc/core/json_keyset_reader.cc:107,1
    - Dst: crypto::tink::KeyInfoFromJson
      Src: /src/tink/cc/core/json_keyset_reader.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:109,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader.cc:109,1
    - Dst: auto::add_key_info
      Src: /src/tink/cc/core/json_keyset_reader.cc:110,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader.cc:110,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: crypto::tink::KeysetInfoFromJson
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - auto::status
    - auto::ok
    - std::move
    - GetUint
    - auto::set_primary_key_id
    - absl::make_unique<KeysetInfo>
    - crypto::tink::ValidateKeysetInfo
    - auto::value
    - crypto::tink::KeyInfoFromJson
    - auto::add_key_info
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetInfo>>
    signature: "util::StatusOr<std::unique_ptr<KeysetInfo>> KeysetInfoFromJson(\n
      \   const rapidjson::Value& json_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateEncryptedKeyset
      Src: /src/tink/cc/core/json_keyset_reader.cc:117,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:118,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/core/json_keyset_reader.cc:120,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:120,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:122,1
    - Dst: absl::make_unique<EncryptedKeyset>
      Src: /src/tink/cc/core/json_keyset_reader.cc:125,1
    - Dst: auto::set_encrypted_keyset
      Src: /src/tink/cc/core/json_keyset_reader.cc:126,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:127,1
    - Dst: crypto::tink::KeysetInfoFromJson
      Src: /src/tink/cc/core/json_keyset_reader.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:129,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader.cc:130,1
    - Dst: auto::mutable_keyset_info
      Src: /src/tink/cc/core/json_keyset_reader.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' json_doc'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: crypto::tink::EncryptedKeysetFromJson
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - absl::make_unique<EncryptedKeyset>
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ValidateEncryptedKeyset
    - std::move
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - crypto::tink::KeysetInfoFromJson
    - HasMember
    - auto::mutable_keyset_info
    - auto::value
    - GetString
    - auto::set_encrypted_keyset
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EncryptedKeyset>>
    signature: "util::StatusOr<std::unique_ptr<EncryptedKeyset>> EncryptedKeysetFromJson(\n
      \   const rapidjson::Document& json_doc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:139,1
    - Dst: IsUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:140,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:140,1
    - Dst: IsArray
      Src: /src/tink/cc/core/json_keyset_reader.cc:141,1
    - Dst: Size
      Src: /src/tink/cc/core/json_keyset_reader.cc:141,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:142,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ' json_doc'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: crypto::tink::ValidateKeyset
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - IsArray
    - HasMember
    - Size
    - crypto::tink::util::OkStatus
    - IsUint
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKeyset(const rapidjson::Document& json_doc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:149,1
    - Dst: IsObject
      Src: /src/tink/cc/core/json_keyset_reader.cc:149,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:150,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:150,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:151,1
    - Dst: IsUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:151,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:152,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:153,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:154,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: crypto::tink::ValidateKey
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - IsObject
    - crypto::tink::internal::ExtractStatus
    - HasMember
    - IsString
    - crypto::tink::util::OkStatus
    - IsUint
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const rapidjson::Value& json_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:160,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:160,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:161,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:161,1
    - Dst: HasMember
      Src: /src/tink/cc/core/json_keyset_reader.cc:162,1
    - Dst: IsString
      Src: /src/tink/cc/core/json_keyset_reader.cc:163,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:164,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: crypto::tink::ValidateKeyData
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - HasMember
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - IsString
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKeyData(const rapidjson::Value& json_value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateKeyData
      Src: /src/tink/cc/core/json_keyset_reader.cc:172,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:173,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/core/json_keyset_reader.cc:175,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:175,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:176,1
    - Dst: absl::make_unique<KeyData>
      Src: /src/tink/cc/core/json_keyset_reader.cc:179,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/core/json_keyset_reader.cc:180,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:180,1
    - Dst: auto::set_value
      Src: /src/tink/cc/core/json_keyset_reader.cc:181,1
    - Dst: auto::set_key_material_type
      Src: /src/tink/cc/core/json_keyset_reader.cc:182,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/core/json_keyset_reader.cc:183,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:183,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 185
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 185
    functionName: crypto::tink::KeyDataFromJson
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - auto::set_value
    - crypto::tink::ValidateKeyData
    - crypto::tink::util::Enums::KeyMaterial
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - auto::set_key_material_type
    - absl::make_unique<KeyData>
    - GetString
    - auto::set_type_url
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeyData>>
    signature: "util::StatusOr<std::unique_ptr<KeyData>> KeyDataFromJson(\n    const
      rapidjson::Value& json_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateKey
      Src: /src/tink/cc/core/json_keyset_reader.cc:189,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:190,1
    - Dst: crypto::tink::KeyDataFromJson
      Src: /src/tink/cc/core/json_keyset_reader.cc:191,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:192,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader.cc:192,1
    - Dst: absl::make_unique<Keyset::Key>
      Src: /src/tink/cc/core/json_keyset_reader.cc:194,1
    - Dst: auto::set_key_id
      Src: /src/tink/cc/core/json_keyset_reader.cc:195,1
    - Dst: GetUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:195,1
    - Dst: auto::set_status
      Src: /src/tink/cc/core/json_keyset_reader.cc:196,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:196,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:196,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/core/json_keyset_reader.cc:197,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/core/json_keyset_reader.cc:198,1
    - Dst: GetString
      Src: /src/tink/cc/core/json_keyset_reader.cc:198,1
    - Dst: auto::mutable_key_data
      Src: /src/tink/cc/core/json_keyset_reader.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader.cc:199,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' json_value'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: crypto::tink::KeyFromJson
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<Keyset::Key>
    - auto::status
    - crypto::tink::util::Enums::KeyStatus
    - auto::ok
    - auto::set_output_prefix_type
    - std::move
    - GetUint
    - crypto::tink::ValidateKey
    - auto::set_key_id
    - auto::value
    - auto::set_status
    - GetString
    - crypto::tink::KeyDataFromJson
    - crypto::tink::util::Enums::OutputPrefix
    - auto::mutable_key_data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset::Key>>
    signature: "util::StatusOr<std::unique_ptr<Keyset::Key>> KeyFromJson(\n    const
      rapidjson::Value& json_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/core/json_keyset_reader.cc:205,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:206,1
    - Dst: absl::make_unique<Keyset>
      Src: /src/tink/cc/core/json_keyset_reader.cc:207,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/core/json_keyset_reader.cc:208,1
    - Dst: GetUint
      Src: /src/tink/cc/core/json_keyset_reader.cc:208,1
    - Dst: GetArray
      Src: /src/tink/cc/core/json_keyset_reader.cc:209,1
    - Dst: crypto::tink::KeyFromJson
      Src: /src/tink/cc/core/json_keyset_reader.cc:210,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/json_keyset_reader.cc:211,1
    - Dst: auto::status
      Src: /src/tink/cc/core/json_keyset_reader.cc:211,1
    - Dst: auto::add_key
      Src: /src/tink/cc/core/json_keyset_reader.cc:212,1
    - Dst: auto::value
      Src: /src/tink/cc/core/json_keyset_reader.cc:212,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' json_doc'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: crypto::tink::KeysetFromJson
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - auto::status
    - auto::ok
    - auto::add_key
    - absl::make_unique<Keyset>
    - std::move
    - GetUint
    - auto::set_primary_key_id
    - auto::value
    - crypto::tink::KeyFromJson
    - crypto::tink::ValidateKeyset
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset>>
    signature: "util::StatusOr<std::unique_ptr<Keyset>> KeysetFromJson(\n    const
      rapidjson::Document& json_doc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:223,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/json_keyset_reader.cc:226,1
    - Dst: std::move
      Src: /src/tink/cc/core/json_keyset_reader.cc:226,1
    - Dst: JsonKeysetReader::JsonKeysetReader
      Src: /src/tink/cc/core/json_keyset_reader.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - keyset_stream
    argTypes:
    - std::unique_ptr<std::istream>
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: crypto::tink::JsonKeysetReader::New
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 13
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - JsonKeysetReader::JsonKeysetReader
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetReader>>
    signature: "util::StatusOr<std::unique_ptr<KeysetReader>> JsonKeysetReader::New(\n
      \   std::unique_ptr<std::istream> keyset_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/core/json_keyset_reader.cc:232,1
    - Dst: JsonKeysetReader::JsonKeysetReader
      Src: /src/tink/cc/core/json_keyset_reader.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: crypto::tink::JsonKeysetReader::New
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 13
    functionsReached:
    - JsonKeysetReader::JsonKeysetReader
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetReader>>
    signature: "util::StatusOr<std::unique_ptr<KeysetReader>> JsonKeysetReader::New(\n
      \   absl::string_view serialized_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader.cc:242,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/tink/cc/core/json_keyset_reader.cc:242,1
    - Dst: rapidjson::Document::Parse
      Src: /src/tink/cc/core/json_keyset_reader.cc:246,1
    - Dst: std::string*::c_str
      Src: /src/tink/cc/core/json_keyset_reader.cc:246,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:248,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/json_keyset_reader.cc:250,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/tink/cc/core/json_keyset_reader.cc:251,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/tink/cc/core/json_keyset_reader.cc:252,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/tink/cc/core/json_keyset_reader.cc:252,1
    - Dst: rapidjson::Document::IsObject
      Src: /src/tink/cc/core/json_keyset_reader.cc:254,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:255,1
    - Dst: KeysetFromJson
      Src: /src/tink/cc/core/json_keyset_reader.cc:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 259
    functionName: crypto::tink::JsonKeysetReader::Read
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - rapidjson::Document::GetParseError
    - std::string
    - rapidjson::GetParseError_En
    - crypto::tink::internal::ExtractStatus
    - rapidjson::Document::GetErrorOffset
    - rapidjson::Document::Parse
    - std::string*::c_str
    - rapidjson::Document::IsObject
    - KeysetFromJson
    - absl::StrCat
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset>>
    signature: util::StatusOr<std::unique_ptr<Keyset>> JsonKeysetReader::Read()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/json_keyset_reader.cc:269,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/tink/cc/core/json_keyset_reader.cc:269,1
    - Dst: rapidjson::Document::Parse
      Src: /src/tink/cc/core/json_keyset_reader.cc:273,1
    - Dst: std::string*::c_str
      Src: /src/tink/cc/core/json_keyset_reader.cc:273,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/json_keyset_reader.cc:275,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/json_keyset_reader.cc:277,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/tink/cc/core/json_keyset_reader.cc:278,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/tink/cc/core/json_keyset_reader.cc:279,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/tink/cc/core/json_keyset_reader.cc:279,1
    - Dst: EncryptedKeysetFromJson
      Src: /src/tink/cc/core/json_keyset_reader.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 282
    functionName: crypto::tink::JsonKeysetReader::ReadEncrypted
    functionSourceFile: /src/tink/cc/core/json_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - rapidjson::Document::GetParseError
    - std::string
    - rapidjson::GetParseError_En
    - crypto::tink::internal::ExtractStatus
    - rapidjson::Document::GetErrorOffset
    - rapidjson::Document::Parse
    - std::string*::c_str
    - absl::StrCat
    - EncryptedKeysetFromJson
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EncryptedKeyset>>
    signature: util::StatusOr<std::unique_ptr<EncryptedKeyset>> JsonKeysetReader::ReadEncrypted()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: crypto::tink::AeadVariant::AeadVariant
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AeadVariant(std::string s)
  - 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: crypto::tink::AeadVariant::get
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/core/key_type_manager_test.cc:68,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/key_type_manager_test.cc:69,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: crypto::tink::ExampleKeyTypeManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadVariant>
      Src: /src/tink/cc/core/key_type_manager_test.cc:77,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: crypto::tink::ExampleKeyTypeManager::AeadVariantFactory::Create
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariant>
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>> Create(\n
      \       const AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/core/key_type_manager_test.cc:82,1
    - Dst: absl::make_unique<AeadVariantFactory>
      Src: /src/tink/cc/core/key_type_manager_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: crypto::tink::ExampleKeyTypeManager::ExampleKeyTypeManager
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariantFactory>
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void ExampleKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: crypto::tink::ExampleKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: crypto::tink::ExampleKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/key_type_manager_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::ExampleKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKey(const AesGcmKey& key) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/key_type_manager_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: crypto::tink::ExampleKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:106,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/key_type_manager_test.cc:106,1
    - Dst: key_size
      Src: /src/tink/cc/core/key_type_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: crypto::tink::ExampleKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_type_manager_test.cc:117,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:118,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:120,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/core/key_type_manager_test.cc:122,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/core/key_type_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_type_manager_test.cc:124,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_type_manager_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Encrypt
    - std::unique_ptr::Decrypt
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_type_manager_test.cc:129,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:130,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_type_manager_test.cc:133,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/core/key_type_manager_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_type_manager_test.cc:133,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::key_value
    - std::unique_ptr::get
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerTest, CreateAeadVariant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:139,1
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/key_type_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_type_manager_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/core/key_type_manager_test.cc:140,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/core/key_type_manager_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - test::StatusIs
    - AesGcmKey
    - ExampleKeyTypeManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerTest, CreateFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/core/key_type_manager_test.cc:152,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/core/key_type_manager_test.cc:153,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: crypto::tink::ExampleKeyTypeManagerWithoutFactory::AeadFactory::Create
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadVariant>
      Src: /src/tink/cc/core/key_type_manager_test.cc:161,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: crypto::tink::ExampleKeyTypeManagerWithoutFactory::AeadVariantFactory::Create
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariant>
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>> Create(\n
      \       const AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/core/key_type_manager_test.cc:166,1
    - Dst: absl::make_unique<AeadVariantFactory>
      Src: /src/tink/cc/core/key_type_manager_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: crypto::tink::ExampleKeyTypeManagerWithoutFactory::ExampleKeyTypeManagerWithoutFactory
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariantFactory>
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void ExampleKeyTypeManagerWithoutFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: crypto::tink::ExampleKeyTypeManagerWithoutFactory::key_material_type
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: crypto::tink::ExampleKeyTypeManagerWithoutFactory::get_version
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/core/key_type_manager_test.cc:179,1
    - Dst: version
      Src: /src/tink/cc/core/key_type_manager_test.cc:179,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/key_type_manager_test.cc:180,1
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/core/key_type_manager_test.cc:181,1
    - Dst: key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: crypto::tink::ExampleKeyTypeManagerWithoutFactory::ValidateKey
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - ValidateAesKeySize
    - ValidateVersion
    - key_value
    - version
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const AesGcmKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_type_manager_test.cc:191,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:192,1
    - Dst: ExampleKeyTypeManagerWithoutFactory
      Src: /src/tink/cc/core/key_type_manager_test.cc:194,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/core/key_type_manager_test.cc:196,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/core/key_type_manager_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_type_manager_test.cc:198,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_type_manager_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Encrypt
    - ExampleKeyTypeManagerWithoutFactory
    - std::unique_ptr::Decrypt
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerWithoutFactoryTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/core/key_type_manager_test.cc:203,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:204,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/core/key_type_manager_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_type_manager_test.cc:207,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/core/key_type_manager_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/core/key_type_manager_test.cc:207,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/core/key_type_manager_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::key_value
    - std::unique_ptr::get
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerWithoutFactoryTest, CreateAeadVariant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExampleKeyTypeManagerWithoutFactory
      Src: /src/tink/cc/core/key_type_manager_test.cc:212,1
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/key_type_manager_test.cc:213,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/key_type_manager_test.cc:214,1
    - Dst: auto::status
      Src: /src/tink/cc/core/key_type_manager_test.cc:214,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/core/key_type_manager_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/key_type_manager_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - ExampleKeyTypeManagerWithoutFactory
    - test::StatusIs
    - AesGcmKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(KeyManagerWithoutFactoryTest, CreateFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::TinkConfig::Register
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:89,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:90,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: crypto::tink::KeysetHandleBuilderTest::SetUp
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::TinkConfig::Register
    - util::Status::ok
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:99,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:100,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:100,1
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key_template
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: crypto::tink::CreateLegacyProtoParameters
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 1
    functionsReached:
    - util::StatusOr::ok
    - crypto::tink::CreateLegacyProtoParameters
    - util::StatusOr::status
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::LegacyProtoParameters>
    signature: "util::StatusOr<internal::LegacyProtoParameters> CreateLegacyProtoParameters(\n
      \   KeyTemplate key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:107,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:108,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:108,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:111,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:117,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:118,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:120,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:121,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:122,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:122,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:123,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:123,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsPrimary
    - IsOk
    - GetKey
    - std::move
    - KeysetHandleBuilder
    - GetStatus
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - GetId
    - IsTrue
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildWithSingleKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:129,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:130,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:130,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:133,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:139,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:144,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:148,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:149,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:150,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:154,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:156,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:156,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:157,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:158,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:158,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:159,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:159,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:162,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:163,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:163,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:164,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:164,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:165,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:165,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:168,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:169,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:169,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:170,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:170,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:171,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:171,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsPrimary
    - IsOk
    - GetKey
    - std::move
    - KeysetHandleBuilder
    - GetStatus
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - GetId
    - IsFalse
    - IsTrue
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildWithMultipleKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:177,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:178,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:178,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:181,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:187,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:192,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:196,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:198,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:201,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:201,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:204,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:205,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:205,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:207,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:208,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:208,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:209,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:209,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:210,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:210,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:213,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:213,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:213,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:214,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:214,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:215,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:215,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:215,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:216,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:216,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:219,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:219,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:220,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:220,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:220,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:221,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:221,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:222,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:222,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsPrimary
    - IsOk
    - GetKey
    - std::move
    - KeysetHandleBuilder
    - GetStatus
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - util::StatusOr::size
    - EXPECT_THAT
    - GetId
    - IsFalse
    - IsTrue
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildCopy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:228,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:229,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:229,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:236,1
    - Dst: KeysetHandleBuilder::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:236,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:236,1
    - Dst: KeysetHandleBuilder::Entry::SetPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:239,1
    - Dst: KeysetHandleBuilder::Entry::IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:239,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - IsTrue
    - KeysetHandleBuilder::Entry::IsPrimary
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - IsFalse
    - KeysetHandleBuilder::Entry::SetPrimary
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, IsPrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:244,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:245,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:245,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:248,1
    - Dst: KeysetHandleBuilder::Entry::SetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:253,1
    - Dst: KeysetHandleBuilder::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:253,1
    - Dst: KeysetHandleBuilder::Entry::SetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:255,1
    - Dst: KeysetHandleBuilder::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:255,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:255,1
    - Dst: KeysetHandleBuilder::Entry::SetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:257,1
    - Dst: KeysetHandleBuilder::Entry::GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:257,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::GetStatus
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - KeysetHandleBuilder::Entry::SetStatus
    - EXPECT_THAT
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, SetAndGetStatus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:262,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:263,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:263,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:266,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:270,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:270,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:275,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:277,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:277,1
    - Dst: KeysetHandleBuilder::Build
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:281,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:281,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:284,1
    - Dst: std::set::insert
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:285,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:287,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - util::StatusOr::size
    - KeysetHandleBuilder::Build
    - std::set::insert
    - GetId
    - EXPECT_THAT
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildWithRandomId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:292,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:293,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:293,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:296,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:300,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:303,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:304,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:307,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:307,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:309,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:310,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:310,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - GetId
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildWithRandomIdAfterFixedId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:315,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:316,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:316,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:319,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:323,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:326,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:327,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:330,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:330,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildWithFixedIdAfterRandomIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:335,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:335,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:336,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:336,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:336,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:339,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:343,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:343,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:345,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:346,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_DEATH_IF_SUPPORTED
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderDeathTest, AddEntryToAnotherBuilderCrashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:352,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:352,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:353,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:353,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:353,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:356,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:360,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:360,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:361,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:362,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 364
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_DEATH_IF_SUPPORTED
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderDeathTest, ReAddEntryToSameBuilderCrashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:369,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:370,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:370,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:370,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:373,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:377,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:377,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:379,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:380,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 382
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_DEATH_IF_SUPPORTED
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: "void TEST_F(KeysetHandleBuilderDeathTest,\n       AddDereferencedEntryToAnotherBuilderCrashes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:386,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:387,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:387,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:390,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:394,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:397,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:398,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:399,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:401,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:401,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:402,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:402,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:405,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:406,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:407,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:407,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:409,1
    - Dst: GetStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:409,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:409,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:410,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:410,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:410,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:411,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:411,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:411,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:412,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:412,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 414
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsPrimary
    - IsOk
    - GetKey
    - std::move
    - KeysetHandleBuilder
    - GetStatus
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - GetId
    - IsTrue
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, RemoveEntry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:418,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:419,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:419,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:419,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:422,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:426,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:426,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:427,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:427,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:427,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:428,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:428,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:430,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_DEATH_IF_SUPPORTED
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderDeathTest, RemoveOutofRangeIndexEntryCrashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:437,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:438,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:438,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:438,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:441,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:447,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:452,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:452,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:453,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:454,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:454,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:455,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:455,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:456,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, Size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:461,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:461,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:462,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:462,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:462,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:465,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:470,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:474,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:475,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:476,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:478,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:478,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 479
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, NoPrimaryFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:483,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:483,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:484,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:484,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:484,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:487,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:492,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:496,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:497,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:498,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:501,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:501,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 502
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, RemovePrimaryFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:506,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:506,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:507,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:507,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:507,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:510,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:510,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:514,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:514,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:519,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:519,1
    - Dst: IsFalse
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:519,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:520,1
    - Dst: IsPrimary
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:520,1
    - Dst: IsTrue
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 521
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsPrimary
    - IsOk
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - IsFalse
    - IsTrue
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, AddPrimaryClearsOtherPrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:525,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:525,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:526,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:526,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:526,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:529,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:533,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:533,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:534,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 535
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, NoIdStrategySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:539,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:540,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:540,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:543,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:544,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:548,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:553,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:553,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 554
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, DuplicateId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:557,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:560,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:560,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:563,1
    - Dst: absl::make_unique<AesCmacParameters>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:564,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:564,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:568,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:568,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:569,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:569,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 570
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - absl::make_unique<AesCmacParameters>
    - KeysetHandleBuilder::Entry::CreateFromParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, CreateBuilderEntryFromParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:575,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:579,1
    - Dst: Keyset::Key::key_data
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:580,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:581,1
    - Dst: Keyset::Key::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:581,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:582,1
    - Dst: Keyset::Key::key_data
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:583,1
    - Dst: Keyset::Key::output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:583,1
    - Dst: Keyset::Key::key_id
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:584,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:587,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:588,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:589,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:589,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:589,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:591,1
    - Dst: absl::make_unique<internal::LegacyProtoKey>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:592,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:592,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:596,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:596,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:597,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:597,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 598
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::CreateFromKey
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - AddTinkKey
    - Keyset::Key::output_prefix_type
    - Keyset::Key::key_id
    - ASSERT_THAT
    - absl::make_unique<internal::LegacyProtoKey>
    - Keyset::Key::key_data
    - crypto::tink::internal::LegacyProtoKey::Create
    - std::move
    - KeysetHandleBuilder
    - Keyset::Key::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, CreateBuilderEntryFromLegacyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:601,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:604,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:604,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:606,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:607,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:608,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:609,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:609,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:609,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:611,1
    - Dst: absl::make_unique<AesCmacKey>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:612,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:612,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:616,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:616,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:617,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:617,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 618
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::CreateFromKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - absl::make_unique<AesCmacKey>
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, CreateBuilderEntryFromKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:622,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:625,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:625,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:628,1
    - Dst: absl::make_unique<AesCmacParameters>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:629,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:629,1
    - Dst: KeysetHandleBuilder::Entry::SetFixedId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:631,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:633,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:633,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:634,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:634,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:634,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:637,1
    - Dst: absl::make_unique<AesCmacParameters>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:638,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:638,1
    - Dst: KeysetHandleBuilder::Entry::SetFixedId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:640,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:642,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:642,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:643,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:643,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:643,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:649,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:650,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:651,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:652,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:653,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:656,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:656,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 657
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::CreateFromKey
    - KeysetHandleBuilder::Entry::SetFixedId
    - util::StatusOr::status
    - IsOk
    - GetKey
    - crypto::tink::AesCmacParameters::Create
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - absl::make_unique<AesCmacParameters>
    - KeysetHandleBuilder::Entry::CreateFromParams
    linkageType: ''
    returnType: void
    signature: "void TEST_F(KeysetHandleBuilderTest,\n       MergeTwoKeysetsWithTheSameIdButNoIdRequirementWorks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:662,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:666,1
    - Dst: Keyset::Key::key_data
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:667,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:668,1
    - Dst: Keyset::Key::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:668,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:669,1
    - Dst: Keyset::Key::key_data
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:670,1
    - Dst: Keyset::Key::output_prefix_type
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:670,1
    - Dst: Keyset::Key::key_id
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:671,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:674,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:675,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:676,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:676,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:676,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:679,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:683,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:683,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:684,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:684,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 685
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - AddTinkKey
    - Keyset::Key::output_prefix_type
    - Keyset::Key::key_id
    - ASSERT_THAT
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - Keyset::Key::key_data
    - crypto::tink::internal::LegacyProtoKey::Create
    - KeysetHandleBuilder
    - Keyset::Key::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, CreateBuilderEntryFromCopyableKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:689,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:689,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:690,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:690,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:690,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:693,1
    - Dst: absl::make_unique<internal::LegacyProtoParameters>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:694,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:698,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:698,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:699,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:699,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 700
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - absl::make_unique<internal::LegacyProtoParameters>
    - KeysetHandleBuilder
    - std::move
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - KeysetHandleBuilder::Entry::CreateFromParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, CreateBuilderEntryFromParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:704,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:704,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:705,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:705,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:705,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:708,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:712,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:712,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:713,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:713,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 714
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, CreateBuilderEntryFromCopyableParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:718,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:718,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:719,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:719,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:719,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:722,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:726,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:726,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:727,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:727,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:727,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:730,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:730,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:731,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:731,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:731,1
    - Dst: ComputeMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:732,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:733,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:733,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:733,1
    - Dst: VerifyMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:734,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:735,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 736
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - ComputeMac
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - util::StatusOr::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, UsePrimitiveFromLegacyProtoParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:739,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:742,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:742,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:745,1
    - Dst: absl::make_unique<AesCmacParameters>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:746,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:746,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:750,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:750,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:751,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:751,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:751,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:754,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:754,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:755,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:755,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:755,1
    - Dst: ComputeMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:756,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:757,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:757,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:757,1
    - Dst: VerifyMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:758,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:759,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 760
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - ComputeMac
    - crypto::tink::AesCmacParameters::Create
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - absl::make_unique<AesCmacParameters>
    - KeysetHandleBuilder::Entry::CreateFromParams
    - EXPECT_THAT
    - util::StatusOr::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, UsePrimitiveFromParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacParams::set_tag_size
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:764,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:766,1
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:767,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:768,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:768,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:771,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:773,1
    - Dst: google::crypto::tink::AesCmacKey::SerializeAsString
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:773,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:774,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:777,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:777,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:780,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:781,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:782,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:782,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:782,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:785,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:789,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:789,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:790,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:790,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:790,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:793,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:793,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:794,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:794,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:794,1
    - Dst: ComputeMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:795,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:796,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:796,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:796,1
    - Dst: VerifyMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:797,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:798,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 799
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 799
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - crypto::tink::ConfigGlobalRegistry
    - IsOk
    - ComputeMac
    - google::crypto::tink::AesCmacKey::set_version
    - EXPECT_THAT
    - util::StatusOr::GetPrimitive
    - crypto::tink::subtle::Random::GetRandomBytes
    - VerifyMac
    - google::crypto::tink::AesCmacKey::mutable_params
    - RestrictedData
    - google::crypto::tink::AesCmacKey::SerializeAsString
    - google::crypto::tink::AesCmacKey::set_key_value
    - util::StatusOr::status
    - AesCmacParams::set_tag_size
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, UsePrimitiveFromLegacyProtoKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:802,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:805,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:805,1
    - Dst: RestrictedData
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:807,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:808,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:809,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:810,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:810,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:810,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:812,1
    - Dst: absl::make_unique<AesCmacKey>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:813,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:813,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:817,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:817,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:818,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:818,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:818,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:821,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:821,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:822,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:822,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:822,1
    - Dst: ComputeMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:823,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:824,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:824,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:824,1
    - Dst: VerifyMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:825,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:826,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 827
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 827
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::CreateFromKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - ComputeMac
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - std::move
    - KeysetHandleBuilder
    - ASSERT_THAT
    - absl::make_unique<AesCmacKey>
    - EXPECT_THAT
    - util::StatusOr::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, UsePrimitiveFromKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateLegacyProtoParameters
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:831,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:831,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:832,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:832,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:832,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:835,1
    - Dst: KeysetHandleBuilder::AddEntry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:840,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:840,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:842,1
    - Dst: KeysetHandleBuilder::Build
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:842,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:842,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:843,1
    - Dst: KeysetHandleBuilder::Build
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:843,1
    - Dst: StatusIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 845
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 845
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::CreateLegacyProtoParameters
    - IsOk
    - std::move
    - KeysetHandleBuilder::AddEntry
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - KeysetHandleBuilder::Build
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildTwiceFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:848,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:851,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:851,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:854,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:855,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:857,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:860,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:860,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:860,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:863,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:864,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:865,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:868,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:868,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:868,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:869,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:869,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:869,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:869,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:872,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:873,1
    - Dst: GetKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:874,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:877,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:877,1
    - Dst: SizeIs
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:877,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:878,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:878,1
    - Dst: Eq
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:878,1
    - Dst: GetId
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:878,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:881,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:881,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:882,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:882,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:882,1
    - Dst: ComputeMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:883,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:884,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:884,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:884,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:887,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:887,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:888,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:888,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:888,1
    - Dst: ComputeMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:889,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:890,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:890,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:890,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:894,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:894,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:895,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:895,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:895,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:896,1
    - Dst: VerifyMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:896,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:896,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:897,1
    - Dst: VerifyMac
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:897,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 898
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - KeysetHandleBuilder::Entry::CreateFromKey
    - util::StatusOr::status
    - IsOk
    - GetKey
    - crypto::tink::AesCmacParameters::Create
    - KeysetHandleBuilder
    - ComputeMac
    - ASSERT_THAT
    - IsOkAndHolds
    - EXPECT_THAT
    - GetId
    - util::StatusOr::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - Eq
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, UsePrimitivesFromSplitKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 912
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 912
    functionName: crypto::tink::FakeAeadKeyManager::AeadFactory::AeadFactory
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AeadFactory(absl::string_view key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyAead>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: crypto::tink::FakeAeadKeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<test::DummyAead>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> Create(\n        const AesGcmKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: crypto::tink::FakeAeadKeyManager::FakeAeadKeyManager
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void FakeAeadKeyManager(absl::string_view key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 930
    functionName: crypto::tink::FakeAeadKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 932
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 932
    functionName: crypto::tink::FakeAeadKeyManager::get_version
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: crypto::tink::FakeAeadKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKey(const AesGcmKey& key) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 943
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 943
    functionName: crypto::tink::FakeAeadKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: crypto::tink::FakeAeadKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: crypto::tink::FakeAeadKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:964,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:970,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:970,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:973,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:974,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:979,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:979,1
    - Dst: absl::make_unique<MockAeadPrimitiveWrapper>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:985,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:987,1
    - Dst: crypto::tink::Wrap
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:987,1
    - Dst: crypto::tink::get_annotations
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:991,1
    - Dst: absl::make_unique<test::DummyAead>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:992,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:995,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:996,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:996,1
    - Dst: std::move
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:996,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:997,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:998,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:998,1
    - Dst: absl::make_unique<FakeAeadKeyManager>
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:999,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1002,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1004,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1005,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1005,1
    - Dst: IsOk
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1006,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1007,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/core/keyset_handle_builder_test.cc:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1010
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/keyset_handle_builder_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Wrap
    - crypto::tink::Registry::RegisterKeyTypeManager
    - EXPECT_EQ
    - IsOk
    - EXPECT_CALL
    - std::move
    - KeysetHandleBuilder
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - absl::make_unique<MockAeadPrimitiveWrapper>
    - ASSERT_THAT
    - crypto::tink::get_annotations
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::ConfigGlobalRegistry
    - absl::make_unique<FakeAeadKeyManager>
    - util::StatusOr::GetPrimitive
    - crypto::tink::Registry::Reset
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    - absl::make_unique<test::DummyAead>
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeysetHandleBuilderTest, BuildWithAnnotations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/core/big_integer.cc:30,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/core/big_integer.cc:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - big_integer
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: crypto::tink::BigInteger::BigInteger
    functionSourceFile: /src/tink/cc/core/big_integer.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - std::string
    linkageType: ''
    returnType: void
    signature: void BigInteger::BigInteger(absl::string_view big_integer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/core/big_integer.cc:37,1
    - Dst: value_::size
      Src: /src/tink/cc/core/big_integer.cc:37,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/core/big_integer.cc:41,1
    - Dst: data
      Src: /src/tink/cc/core/big_integer.cc:41,1
    - Dst: value_::data
      Src: /src/tink/cc/core/big_integer.cc:41,1
    - Dst: size
      Src: /src/tink/cc/core/big_integer.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: BigInteger::operator==(const BigInteger& other) const
    functionSourceFile: /src/tink/cc/core/big_integer.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - size
    - value_::data
    - value_::size
    - data
    linkageType: ''
    returnType: bool
    signature: bool BigInteger::operator==(const BigInteger& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/core/partial_key_access_token_test.cc:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/partial_key_access_token_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST(PartialKeyAccessTokenTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/core/partial_key_access_token_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/partial_key_access_token_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST(PartialKeyAccessTokenTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/core/partial_key_access_token_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/partial_key_access_token_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST(PartialKeyAccessTokenTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/core/partial_key_access_token_test.cc:45,1
    - Dst: std::move
      Src: /src/tink/cc/core/partial_key_access_token_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/partial_key_access_token_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - std::move
    linkageType: ''
    returnType: void
    signature: void TEST(PartialKeyAccessTokenTest, MoveAssignment)
  - 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: ~InternalKeyFactory()
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InternalKeyFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_type_manager.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - KeyFormatProto
    - InputStream*
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: crypto::tink::internal::InternalKeyFactory::DeriveKey
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<KeyProto>
    signature: "crypto::tink::util::StatusOr<KeyProto> DeriveKey(\n      const KeyFormatProto&
      key_format, InputStream* input_stream) const"
  - 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: ~InternalKeyFactory()
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~InternalKeyFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: ~PrimitiveFactory()
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrimitiveFactory()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/core/key_type_manager.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam,
      List<Primitives...>>::KeyTypeManager
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KeyTypeManager(\n      std::unique_ptr<PrimitiveFactory<Primitives>>...
      primitives)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::GetPrimitiveImpl
      Src: /src/tink/cc/core/key_type_manager.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyProto
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam,
      List<Primitives...>>::GetPrimitive
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::GetPrimitiveImpl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Primitive>>
    signature: "util::StatusOr<std::unique_ptr<Primitive>> GetPrimitive(\n      const
      KeyProto& key) const"
  - 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: crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam,
      List<Primitives...>>::FipsStatus
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/core/key_type_manager.h:163,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/core/key_type_manager.h:165,1
    - Dst: typeid
      Src: /src/tink/cc/core/key_type_manager.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyProto
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam,
      List<Primitives...>>::GetPrimitiveImpl
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 1
    functionsReached:
    - typeid
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: "typename std::enable_if<\n      !internal::OccursInTuple<Primitive,
      std::tuple<Primitives...>>::value,\n      util::StatusOr<std::unique_ptr<Primitive>>>::type"
    signature: "typename std::enable_if<\n      !internal::OccursInTuple<Primitive,
      std::tuple<Primitives...>>::value,\n      util::StatusOr<std::unique_ptr<Primitive>>>::type
      GetPrimitiveImpl(const KeyProto& key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::get<index>
      Src: /src/tink/cc/core/key_type_manager.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyProto
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam,
      List<Primitives...>>::GetPrimitiveImpl
    functionSourceFile: /src/tink/cc/core/key_type_manager.h
    functionUses: 1
    functionsReached:
    - std::get<index>
    linkageType: ''
    returnType: "typename std::enable_if<\n      internal::OccursInTuple<Primitive,
      std::tuple<Primitives...>>::value,\n      util::StatusOr<std::unique_ptr<Primitive>>>::type"
    signature: "typename std::enable_if<\n      internal::OccursInTuple<Primitive,
      std::tuple<Primitives...>>::value,\n      util::StatusOr<std::unique_ptr<Primitive>>>::type
      GetPrimitiveImpl(const KeyProto& key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/crypto_format_test.cc:36,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/crypto_format_test.cc:37,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/crypto_format_test.cc:37,1
    - Dst: auto::status
      Src: /src/tink/cc/core/crypto_format_test.cc:37,1
    - Dst: auto::value
      Src: /src/tink/cc/core/crypto_format_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:39,1
    - Dst: auto::length
      Src: /src/tink/cc/core/crypto_format_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:43,1
    - Dst: key_id
      Src: /src/tink/cc/core/crypto_format_test.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' key_info'
    - prefix_size
    - prefix_first_byte
    argTypes:
    - KeysetInfo::KeyInfo
    - int
    - uint8_t
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: crypto::tink::TestNonRawPrefix
    functionSourceFile: /src/tink/cc/core/crypto_format_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - key_id
    - auto::value
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - auto::length
    linkageType: ''
    returnType: void
    signature: "void TestNonRawPrefix(const KeysetInfo::KeyInfo& key_info, int prefix_size,\n
      \                     uint8_t prefix_first_byte)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/crypto_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CryptoFormatTest, testConstants)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/crypto_format_test.cc:62,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/crypto_format_test.cc:63,1
    - Dst: crypto::tink::TestNonRawPrefix
      Src: /src/tink/cc/core/crypto_format_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/crypto_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::TestNonRawPrefix
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CryptoFormatTest, testTinkPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/crypto_format_test.cc:72,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/crypto_format_test.cc:73,1
    - Dst: crypto::tink::TestNonRawPrefix
      Src: /src/tink/cc/core/crypto_format_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/crypto_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::TestNonRawPrefix
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CryptoFormatTest, testLegacyPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/crypto_format_test.cc:82,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/crypto_format_test.cc:83,1
    - Dst: crypto::tink::TestNonRawPrefix
      Src: /src/tink/cc/core/crypto_format_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/crypto_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::TestNonRawPrefix
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(CryptoFormatTest, testCrunchyPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/core/crypto_format_test.cc:92,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/core/crypto_format_test.cc:93,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/core/crypto_format_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/core/crypto_format_test.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/core/crypto_format_test.cc:96,1
    - Dst: auto::status
      Src: /src/tink/cc/core/crypto_format_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/core/crypto_format_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/core/crypto_format_test.cc:98,1
    - Dst: auto::length
      Src: /src/tink/cc/core/crypto_format_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/core/crypto_format_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - KeysetInfo::KeyInfo::set_key_id
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - auto::length
    linkageType: ''
    returnType: void
    signature: void TEST_F(CryptoFormatTest, testRawPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsWindows
      Src: /src/tink/cc/core/version_test.cc:40,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/version_test.cc:43,1
    - Dst: AnyOf
      Src: /src/tink/cc/core/version_test.cc:44,1
    - Dst: MatchesRegex
      Src: /src/tink/cc/core/version_test.cc:44,1
    - Dst: MatchesRegex
      Src: /src/tink/cc/core/version_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/core/version_test.cc:48,1
    - Dst: testing::MatchesRegex
      Src: /src/tink/cc/core/version_test.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/core/version_test.cc
    functionUses: 0
    functionsReached:
    - AnyOf
    - crypto::tink::internal::IsWindows
    - MatchesRegex
    - EXPECT_THAT
    - testing::MatchesRegex
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, VersionHasCorrectFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - algorithm
    - protection_level
    argTypes:
    - CryptoKeyVersion::CryptoKeyVersionAlgorithm
    - ProtectionLevel
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: crypto::tink::integration::gcpkms::RequiresDataForSign
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool RequiresDataForSign(CryptoKeyVersion::CryptoKeyVersionAlgorithm
      algorithm,\n                         ProtectionLevel protection_level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::InternalError
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:106,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:106,1
    - Dst: CryptoKeyVersion::CryptoKeyVersionAlgorithm_Name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - CryptoKeyVersion::CryptoKeyVersionAlgorithm
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: crypto::tink::integration::gcpkms::GetDigestFromAlgorithm
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached:
    - absl::InternalError
    - absl::StrCat
    - CryptoKeyVersion::CryptoKeyVersionAlgorithm_Name
    linkageType: ''
    returnType: StatusOr<Digest::DigestCase>
    signature: "StatusOr<Digest::DigestCase> GetDigestFromAlgorithm(\n    CryptoKeyVersion::CryptoKeyVersionAlgorithm
      algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:118,1
    - Dst: EVP_sha384
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:121,1
    - Dst: EVP_sha512
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:124,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:127,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:128,1
    - Dst: EVP_Digest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:133,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:133,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:133,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:135,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:138,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - data
    - digest_case
    argTypes:
    - absl::string_view
    - Digest::DigestCase
    constantsTouched: []
    func_position:
      end: 139
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 139
    functionName: crypto::tink::integration::gcpkms::ComputeDigest
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_sha512
    - absl::string_view::size
    - std::string
    - crypto::tink::internal::ExtractStatus
    - EVP_sha384
    - EVP_Digest
    - absl::StrCat
    - reinterpret_cast<char*>
    - absl::string_view::data
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: "StatusOr<std::string> ComputeDigest(absl::string_view data,\n                                    Digest::DigestCase
      digest_case)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsymmetricSignRequest::set_name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:147,1
    - Dst: crypto::tink::integration::gcpkms::RequiresDataForSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:148,1
    - Dst: PublicKey::algorithm
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:148,1
    - Dst: PublicKey::protection_level
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:149,1
    - Dst: AsymmetricSignRequest::set_data
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:150,1
    - Dst: AsymmetricSignRequest::mutable_data_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:151,1
    - Dst: static_cast<uint32_t>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:152,1
    - Dst: absl::ComputeCrc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:152,1
    - Dst: crypto::tink::integration::gcpkms::GetDigestFromAlgorithm
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:158,1
    - Dst: PublicKey::algorithm
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:158,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:159,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:160,1
    - Dst: crypto::tink::integration::gcpkms::ComputeDigest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:163,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:164,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:165,1
    - Dst: AsymmetricSignRequest::mutable_digest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:170,1
    - Dst: AsymmetricSignRequest::mutable_digest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:173,1
    - Dst: AsymmetricSignRequest::mutable_digest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:176,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:179,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:180,1
    - Dst: AsymmetricSignRequest::mutable_digest_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:182,1
    - Dst: static_cast<uint32_t>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:183,1
    - Dst: absl::ComputeCrc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - key_name
    - data
    - public_key
    argTypes:
    - absl::string_view
    - absl::string_view
    - PublicKey
    constantsTouched: []
    func_position:
      end: 186
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 186
    functionName: crypto::tink::integration::gcpkms::BuildAsymmetricSignRequest
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached:
    - static_cast<uint32_t>
    - AsymmetricSignRequest::set_data
    - StatusOr::ok
    - AsymmetricSignRequest::mutable_data_crc32c
    - crypto::tink::internal::ExtractStatus
    - PublicKey::algorithm
    - crypto::tink::integration::gcpkms::RequiresDataForSign
    - PublicKey::protection_level
    - absl::ComputeCrc32c
    - StatusOr::status
    - AsymmetricSignRequest::mutable_digest
    - crypto::tink::integration::gcpkms::ComputeDigest
    - absl::StrCat
    - AsymmetricSignRequest::mutable_digest_crc32c
    - AsymmetricSignRequest::set_name
    - crypto::tink::integration::gcpkms::GetDigestFromAlgorithm
    linkageType: ''
    returnType: StatusOr<AsymmetricSignRequest>
    signature: "StatusOr<AsymmetricSignRequest> BuildAsymmetricSignRequest(\n    absl::string_view
      key_name, absl::string_view data, PublicKey public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key_name
    - public_key
    - kms_client
    argTypes:
    - absl::string_view
    - google::cloud::kms::v1::PublicKey
    - std::shared_ptr<google::cloud::kms_v1::KeyManagementServiceClient>
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: crypto::tink::integration::gcpkms::GcpKmsPublicKeySign::GcpKmsPublicKeySign
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GcpKmsPublicKeySign(\n      absl::string_view key_name, google::cloud::kms::v1::PublicKey
      public_key,\n      std::shared_ptr<google::cloud::kms_v1::KeyManagementServiceClient>\n
      \         kms_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:210,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:211,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:213,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:213,1
    - Dst: BuildAsymmetricSignRequest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:220,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:221,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:222,1
    - Dst: AsymmetricSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:227,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:228,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:229,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:230,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:231,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:234,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:235,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:236,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:238,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::verified_data_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:240,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::verified_digest_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:241,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:242,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:243,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:244,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:251,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:252,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:253,1
    - Dst: google::cloud::StatusOr<AsymmetricSignResponse>::signature
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 257
    functionName: crypto::tink::integration::gcpkms::GcpKmsPublicKeySign::Sign
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - google::cloud::StatusOr<AsymmetricSignResponse>::signature
    - google::cloud::StatusOr<AsymmetricSignResponse>::ok
    - absl::string_view::size
    - google::cloud::StatusOr<AsymmetricSignResponse>::name
    - crypto::tink::internal::ExtractStatus
    - google::cloud::StatusOr<AsymmetricSignResponse>::verified_digest_crc32c
    - StatusOr::status
    - AsymmetricSign
    - google::cloud::StatusOr<AsymmetricSignResponse>::status
    - BuildAsymmetricSignRequest
    - google::cloud::StatusOr<AsymmetricSignResponse>::verified_data_crc32c
    - absl::StrCat
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: StatusOr<std::string> GcpKmsPublicKeySign::Sign(absl::string_view data)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RE2::FullMatch
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:263,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:264,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:266,1
    - Dst: pattern
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:267,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:270,1
    - Dst: GetPublicKeyRequest::set_name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:276,1
    - Dst: absl::Nonnull<std::shared_ptr<KeyManagementServiceClient>>::GetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:278,1
    - Dst: google::cloud::StatusOr<PublicKey>::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:279,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:280,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:281,1
    - Dst: google::cloud::StatusOr<PublicKey>::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:282,1
    - Dst: absl::make_unique<GcpKmsPublicKeySign>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - key_name
    - kms_client
    argTypes:
    - absl::string_view
    - absl::Nonnull<std::shared_ptr<KeyManagementServiceClient>>
    constantsTouched: []
    func_position:
      end: 286
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 286
    functionName: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::Nonnull<std::shared_ptr<KeyManagementServiceClient>>::GetPublicKey
    - RE2::FullMatch
    - GetPublicKeyRequest::set_name
    - absl::StrCat
    - google::cloud::StatusOr<PublicKey>::status
    - absl::make_unique<GcpKmsPublicKeySign>
    - google::cloud::StatusOr<PublicKey>::ok
    - pattern
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> CreateGcpKmsPublicKeySign(\n
      \   absl::string_view key_name,\n    absl::Nonnull<std::shared_ptr<KeyManagementServiceClient>>
      kms_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runfiles::CreateForTest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:62,1
    - Dst: CHECK
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:63,1
    - Dst: CHECK
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:65,1
    - Dst: std::unique_ptr::Rlocation
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:67,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: crypto::tink::integration::gcpkms::RunfilesPath
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::unique_ptr::Rlocation
    - Runfiles::CreateForTest
    - CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string RunfilesPath(absl::string_view path)
  - 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: ~GcpKmsAeadIntegrationTestEnvironment() override
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~GcpKmsAeadIntegrationTestEnvironment() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:78,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: crypto::tink::integration::gcpkms::GcpKmsAeadIntegrationTestEnvironment::SetUp
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - setenv
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::gcpkms::RunfilesPath
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:90,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsClient::New
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:93,1
    - Dst: GetAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:97,1
    - Dst: Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:105,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:105,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:108,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:108,1
    - Dst: Not
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: crypto::tink::integration::gcpkms::TEST
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::integration::gcpkms::RunfilesPath
    - GetAead
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - Encrypt
    - crypto::tink::integration::gcpkms::GcpKmsClient::New
    linkageType: ''
    returnType: void
    signature: void TEST(GcpKmsAeadIntegrationTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:114,1
    - Dst: std::ifstream::is_open
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:115,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:116,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:117,1
    - Dst: std::ifstream::rdbuf
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:120,1
    - Dst: std::ifstream::close
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:121,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: crypto::tink::integration::gcpkms::ReadFile
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - std::ifstream::open
    - std::ifstream::close
    - std::stringstream::str
    - std::ifstream::is_open
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ReadFile(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::gcpkms::RunfilesPath
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:127,1
    - Dst: crypto::tink::integration::gcpkms::ReadFile
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:129,1
    - Dst: grpc::ServiceAccountJWTAccessCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:133,1
    - Dst: grpc::SslCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:135,1
    - Dst: grpc::SslCredentialsOptions
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:135,1
    - Dst: grpc::CompositeChannelCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:137,1
    - Dst: grpc::ChannelArguments::SetUserAgentPrefix
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:139,1
    - Dst: KeyManagementService::NewStub
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:141,1
    - Dst: grpc::CreateCustomChannel
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:141,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsAead::New
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:146,1
    - Dst: Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:154,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:154,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:157,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:157,1
    - Dst: Not
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: crypto::tink::integration::gcpkms::TEST
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::integration::gcpkms::RunfilesPath
    - grpc::CompositeChannelCredentials
    - grpc::ServiceAccountJWTAccessCredentials
    - crypto::tink::integration::gcpkms::ReadFile
    - IsOk
    - grpc::SslCredentials
    - grpc::SslCredentialsOptions
    - grpc::ChannelArguments::SetUserAgentPrefix
    - grpc::CreateCustomChannel
    - ASSERT_THAT
    - crypto::tink::integration::gcpkms::GcpKmsAead::New
    - Not
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - KeyManagementService::NewStub
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(GcpKmsAeadIntegrationTest, GcpKmsAeadNewWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GcpKmsClient
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: crypto::tink::integration::gcpkms::GcpKmsClient::GcpKmsClient
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GcpKmsClient(GcpKmsClient&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GcpKmsClient
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(GcpKmsClient&& other)'
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GcpKmsClient
    signature: GcpKmsClient & operator=(GcpKmsClient&& other)
  - 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: crypto::tink::integration::gcpkms::GcpKmsClient::GcpKmsClient
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GcpKmsClient(const GcpKmsClient&)
  - 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: '& operator=(const GcpKmsClient&)'
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GcpKmsClient
    signature: GcpKmsClient & operator=(const GcpKmsClient&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_name
    - kms_stub
    argTypes:
    - std::string
    - std::shared_ptr<google::cloud::kms::v1::KeyManagementService::Stub>
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: crypto::tink::integration::gcpkms::GcpKmsClient::GcpKmsClient
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void GcpKmsClient(\n      std::string key_name,\n      std::shared_ptr<google::cloud::kms::v1::KeyManagementService::Stub>\n
      \         kms_stub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:56,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:56,1
    - Dst: std::ifstream::is_open
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:58,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:59,1
    - Dst: std::ifstream::rdbuf
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:62,1
    - Dst: std::ifstream::close
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:63,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: crypto::tink::integration::gcpkms::ReadFile
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 1
    functionsReached:
    - std::string
    - std::ifstream::rdbuf
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - std::ifstream::open
    - std::ifstream::close
    - std::stringstream::str
    - std::ifstream::is_open
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ReadFile(absl::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:69,1
    - Dst: grpc::GoogleDefaultCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:73,1
    - Dst: crypto::tink::integration::gcpkms::ReadFile
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:82,1
    - Dst: grpc::ServiceAccountJWTAccessCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:85,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:87,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:88,1
    - Dst: grpc::SslCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:94,1
    - Dst: grpc::SslCredentialsOptions
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:94,1
    - Dst: grpc::CompositeChannelCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - credentials_path
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: crypto::tink::integration::gcpkms::GetCredentials
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 0
    functionsReached:
    - grpc::CompositeChannelCredentials
    - util::StatusOr::status
    - grpc::ServiceAccountJWTAccessCredentials
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::integration::gcpkms::ReadFile
    - grpc::SslCredentials
    - grpc::GoogleDefaultCredentials
    - grpc::SslCredentialsOptions
    - util::StatusOr::ok
    - absl::StrCat
    - absl::string_view::empty
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::shared_ptr<grpc::ChannelCredentials>>
    signature: "util::StatusOr<std::shared_ptr<grpc::ChannelCredentials>> GetCredentials(\n
      \   absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StartsWithIgnoreCase
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:102,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:103,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:106,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:106,1
    - Dst: length
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: crypto::tink::integration::gcpkms::GetKeyName
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::StartsWithIgnoreCase
    - crypto::tink::internal::ExtractStatus
    - length
    - absl::string_view::substr
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> GetKeyName(absl::string_view key_uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:115,1
    - Dst: GetKeyName
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:116,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:117,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:118,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:120,1
    - Dst: GetCredentials
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:125,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:126,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:127,1
    - Dst: grpc::ChannelArguments::SetUserAgentPrefix
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:133,1
    - Dst: KeyManagementService::NewStub
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:135,1
    - Dst: grpc::CreateCustomChannel
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:135,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:136,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:136,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:137,1
    - Dst: std::move
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:137,1
    - Dst: GcpKmsClient::GcpKmsClient
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - key_uri
    - credentials_path
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 138
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 138
    functionName: crypto::tink::integration::gcpkms::GcpKmsClient::New
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 1
    functionsReached:
    - GcpKmsClient::GcpKmsClient
    - std::string
    - util::StatusOr::status
    - std::move
    - grpc::ChannelArguments::SetUserAgentPrefix
    - grpc::CreateCustomChannel
    - absl::WrapUnique
    - util::StatusOr::ok
    - GetCredentials
    - absl::StrCat
    - absl::string_view::empty
    - KeyManagementService::NewStub
    - GetKeyName
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<GcpKmsClient>>
    signature: "util::StatusOr<std::unique_ptr<GcpKmsClient>> GcpKmsClient::New(\n
      \   absl::string_view key_uri, absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyName
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:141,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:142,1
    - Dst: empty
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: crypto::tink::integration::gcpkms::GcpKmsClient::DoesSupport
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 0
    functionsReached:
    - GetKeyName
    - util::StatusOr::ok
    - empty
    linkageType: ''
    returnType: bool
    signature: bool GcpKmsClient::DoesSupport(absl::string_view key_uri) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyName
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:150,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:152,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:153,1
    - Dst: empty
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:157,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:158,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:159,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsAead::New
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: crypto::tink::integration::gcpkms::GcpKmsClient::GetAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::integration::gcpkms::GcpKmsAead::New
    - util::StatusOr::ok
    - empty
    - absl::StrCat
    - GetKeyName
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> GcpKmsClient::GetAead(\n    absl::string_view
      key_uri) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::gcpkms::GcpKmsClient::New
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:167,1
    - Dst: auto::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:168,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:169,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:171,1
    - Dst: std::move
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:171,1
    - Dst: auto::value
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_uri
    - credentials_path
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: crypto::tink::integration::gcpkms::GcpKmsClient::RegisterNewClient
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - std::move
    - crypto::tink::KmsClients::Add
    - auto::value
    - crypto::tink::integration::gcpkms::GcpKmsClient::New
    linkageType: ''
    returnType: util::Status
    signature: "util::Status GcpKmsClient::RegisterNewClient(\n    absl::string_view
      key_uri, absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<MockKeyManagementServiceConnection>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:60,1
    - Dst: std::make_shared<google::cloud::kms_v1::KeyManagementServiceClient>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: crypto::tink::integration::gcpkms::TestGcpKmsAead::TestGcpKmsAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<MockKeyManagementServiceConnection>
    - std::make_shared<google::cloud::kms_v1::KeyManagementServiceClient>
    linkageType: ''
    returnType: void
    signature: void TestGcpKmsAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:66,1
    - Dst: Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:70,1
    - Dst: plaintext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:71,1
    - Dst: additional_authenticated_data
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:71,1
    - Dst: kmsV1::EncryptResponse::set_ciphertext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:73,1
    - Dst: StatusOr<kmsV1::EncryptResponse>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' aead'
    - times
    argTypes:
    - DummyAead
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: crypto::tink::integration::gcpkms::TestGcpKmsAead::ExpectEncrypt
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - plaintext
    - StatusOr<kmsV1::EncryptResponse>
    - EXPECT_CALL
    - Encrypt
    - additional_authenticated_data
    - kmsV1::EncryptResponse::set_ciphertext
    linkageType: ''
    returnType: void
    signature: void ExpectEncrypt(const DummyAead& aead, int times)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:79,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:83,1
    - Dst: ciphertext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:84,1
    - Dst: additional_authenticated_data
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:84,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:85,1
    - Dst: Status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:86,1
    - Dst: kmsV1::DecryptResponse::set_plaintext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:91,1
    - Dst: StatusOr<kmsV1::DecryptResponse>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' aead'
    - times
    argTypes:
    - DummyAead
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: crypto::tink::integration::gcpkms::TestGcpKmsAead::ExpectDecrypt
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - kmsV1::DecryptResponse::set_plaintext
    - EXPECT_CALL
    - util::StatusOr::ok
    - Status
    - Decrypt
    - additional_authenticated_data
    - ciphertext
    - StatusOr<kmsV1::DecryptResponse>
    linkageType: ''
    returnType: void
    signature: void ExpectDecrypt(const DummyAead& aead, int times)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:102,1
    - Dst: crypto::tink::integration::gcpkms::NewGcpKmsAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:103,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::integration::gcpkms::NewGcpKmsAead
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsAead, FailsWithNullKmsClient)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:108,1
    - Dst: crypto::tink::integration::gcpkms::NewGcpKmsAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:108,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:109,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::integration::gcpkms::NewGcpKmsAead
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsAead, FailsWithEmptyKeyName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:114,1
    - Dst: crypto::tink::integration::gcpkms::NewGcpKmsAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:114,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:115,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::integration::gcpkms::NewGcpKmsAead
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsAead, FailsWithWrongKeyName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::gcpkms::NewGcpKmsAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:121,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:121,1
    - Dst: DummyAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:122,1
    - Dst: ExpectEncrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:125,1
    - Dst: ExpectDecrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:127,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:127,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:128,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:130,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:130,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:131,1
    - Dst: DummyAead::Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:131,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:134,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:134,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:138,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:138,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:139,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:140,1
    - Dst: DummyAead::Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:140,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:143,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:143,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:144,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:145,1
    - Dst: DummyAead::Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:145,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:149,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:149,1
    - Dst: auto::get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:150,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:152,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 154
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyAead
    - ExpectDecrypt
    - IsOk
    - EXPECT_NE
    - StatusIs
    - DummyAead::Encrypt
    - DummyAead::Decrypt
    - EXPECT_THAT
    - ExpectEncrypt
    - auto::get
    - IsOkAndHolds
    - HasSubstr
    - crypto::tink::integration::gcpkms::NewGcpKmsAead
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsAead, EncryptionDecryptionWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RE2::FullMatch
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:54,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:56,1
    - Dst: pattern
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:60,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:63,1
    - Dst: GcpKmsAead::GcpKmsAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key_name
    - kms_client
    argTypes:
    - absl::string_view
    - std::shared_ptr<google::cloud::kms_v1::KeyManagementServiceClient>
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: crypto::tink::integration::gcpkms::NewGcpKmsAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc
    functionUses: 4
    functionsReached:
    - GcpKmsAead::GcpKmsAead
    - crypto::tink::internal::ExtractStatus
    - RE2::FullMatch
    - absl::WrapUnique
    - absl::StrCat
    - pattern
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> NewGcpKmsAead(\n    absl::string_view
      key_name,\n    std::shared_ptr<google::cloud::kms_v1::KeyManagementServiceClient>\n
      \       kms_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RE2::FullMatch
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:70,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:72,1
    - Dst: pattern
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:73,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:76,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:79,1
    - Dst: GcpKmsAead::GcpKmsAead
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key_name
    - kms_stub
    argTypes:
    - absl::string_view
    - std::shared_ptr<KeyManagementService::Stub>
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: crypto::tink::integration::gcpkms::GcpKmsAead::New
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc
    functionUses: 2
    functionsReached:
    - GcpKmsAead::GcpKmsAead
    - crypto::tink::internal::ExtractStatus
    - RE2::FullMatch
    - absl::WrapUnique
    - absl::StrCat
    - pattern
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> GcpKmsAead::New(\n    absl::string_view
      key_name,\n    std::shared_ptr<KeyManagementService::Stub> kms_stub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncryptRequest::set_name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:85,1
    - Dst: EncryptRequest::set_plaintext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:86,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:86,1
    - Dst: EncryptRequest::set_additional_authenticated_data
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:87,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:87,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsAead::Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:90,1
    - Dst: auto::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:91,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:92,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:93,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:94,1
    - Dst: auto::ciphertext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:96,1
    - Dst: grpc::ClientContext::AddMetadata
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:101,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:102,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsAead::Encrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:104,1
    - Dst: grpc::Status::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:107,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:108,1
    - Dst: grpc::Status::error_code
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:109,1
    - Dst: grpc::Status::error_message
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:109,1
    - Dst: EncryptResponse::ciphertext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 112
    functionName: crypto::tink::integration::gcpkms::GcpKmsAead::Encrypt
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc
    functionUses: 1
    functionsReached:
    - EncryptRequest::set_name
    - auto::status
    - grpc::Status::error_code
    - std::string
    - auto::ok
    - auto::ciphertext
    - EncryptRequest::set_plaintext
    - crypto::tink::internal::ExtractStatus
    - EncryptResponse::ciphertext
    - grpc::Status::error_message
    - grpc::ClientContext::AddMetadata
    - absl::StrCat
    - crypto::tink::integration::gcpkms::GcpKmsAead::Encrypt
    - EncryptRequest::set_additional_authenticated_data
    - grpc::Status::ok
    - static_cast<absl::StatusCode>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> GcpKmsAead::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecryptRequest::set_name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:117,1
    - Dst: DecryptRequest::set_ciphertext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:118,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:118,1
    - Dst: DecryptRequest::set_additional_authenticated_data
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:119,1
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:119,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsAead::Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:121,1
    - Dst: auto::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:123,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:124,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:125,1
    - Dst: auto::plaintext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:127,1
    - Dst: grpc::ClientContext::AddMetadata
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:133,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsAead::Decrypt
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:135,1
    - Dst: grpc::Status::ok
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:138,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:139,1
    - Dst: grpc::Status::error_code
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:139,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:140,1
    - Dst: grpc::Status::error_message
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:140,1
    - Dst: DecryptResponse::plaintext
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 143
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 143
    functionName: crypto::tink::integration::gcpkms::GcpKmsAead::Decrypt
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - grpc::Status::error_code
    - std::string
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::integration::gcpkms::GcpKmsAead::Decrypt
    - grpc::Status::error_message
    - DecryptResponse::plaintext
    - DecryptRequest::set_additional_authenticated_data
    - grpc::ClientContext::AddMetadata
    - absl::StrCat
    - auto::plaintext
    - DecryptRequest::set_name
    - grpc::Status::ok
    - DecryptRequest::set_ciphertext
    - static_cast<absl::StatusCode>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> GcpKmsAead::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:46,1
    - Dst: getenv
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:46,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsClient::New
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:49,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:50,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:50,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:51,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:52,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:52,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:53,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: crypto::tink::integration::gcpkms::TEST
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - std::string
    - IsOk
    - DoesSupport
    - ASSERT_THAT
    - getenv
    - EXPECT_FALSE
    - crypto::tink::integration::gcpkms::GcpKmsClient::New
    linkageType: ''
    returnType: void
    signature: void TEST(GcpKmsClientTest, ClientNotBoundToAKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:61,1
    - Dst: getenv
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:61,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsClient::New
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:66,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:67,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:67,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:68,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: crypto::tink::integration::gcpkms::TEST
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - std::string
    - IsOk
    - DoesSupport
    - ASSERT_THAT
    - getenv
    - EXPECT_FALSE
    - crypto::tink::integration::gcpkms::GcpKmsClient::New
    linkageType: ''
    returnType: void
    signature: void TEST(GcpKmsClientTest, ClientBoundToASpecificKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:74,1
    - Dst: getenv
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:74,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsClient::RegisterNewClient
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:78,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: crypto::tink::integration::gcpkms::TEST
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::KmsClients::Get
    - getenv
    - crypto::tink::integration::gcpkms::GcpKmsClient::RegisterNewClient
    linkageType: ''
    returnType: void
    signature: void TEST(GcpKmsClientTest, ClientCreationAndRegistry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:87,1
    - Dst: getenv
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:87,1
    - Dst: crypto::tink::integration::gcpkms::GcpKmsClient::RegisterNewClient
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:91,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: crypto::tink::integration::gcpkms::TEST
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_THAT
    - StatusIs
    - getenv
    - crypto::tink::integration::gcpkms::GcpKmsClient::RegisterNewClient
    linkageType: ''
    returnType: void
    signature: void TEST(GcpKmsClientTest, ClientCreationInvalidRegistry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<MockKeyManagementServiceConnection>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:75,1
    - Dst: std::make_shared<KeyManagementServiceClient>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: crypto::tink::integration::gcpkms::TestGcpKmsPublicKeySign::TestGcpKmsPublicKeySign
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<MockKeyManagementServiceConnection>
    - std::make_shared<KeyManagementServiceClient>
    linkageType: ''
    returnType: void
    signature: void TestGcpKmsPublicKeySign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:80,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:84,1
    - Dst: Status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:85,1
    - Dst: kmsV1::AsymmetricSignResponse::set_name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:91,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:91,1
    - Dst: has_digest
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:92,1
    - Dst: kmsV1::AsymmetricSignResponse::set_verified_digest_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:93,1
    - Dst: kmsV1::AsymmetricSignResponse::set_signature
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:94,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:94,1
    - Dst: kmsV1::AsymmetricSignResponse::set_verified_data_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:96,1
    - Dst: kmsV1::AsymmetricSignResponse::set_signature
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:97,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:97,1
    - Dst: kmsV1::AsymmetricSignResponse::mutable_signature_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:99,1
    - Dst: static_cast<uint32_t>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:100,1
    - Dst: absl::ComputeCrc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:100,1
    - Dst: kmsV1::AsymmetricSignResponse::signature
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:100,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:103,1
    - Dst: kmsV1::AsymmetricSignResponse::set_name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:104,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:107,1
    - Dst: kmsV1::AsymmetricSignResponse::mutable_signature_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:108,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:112,1
    - Dst: kmsV1::AsymmetricSignResponse::set_verified_data_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:113,1
    - Dst: kmsV1::AsymmetricSignResponse::set_verified_digest_crc32c
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:114,1
    - Dst: StatusOr<kmsV1::AsymmetricSignResponse>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - ' signer'
    - times
    argTypes:
    - DummyPublicKeySign
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 119
    functionName: crypto::tink::integration::gcpkms::TestGcpKmsPublicKeySign::ExpectSign
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - has_digest
    - static_cast<uint32_t>
    - kmsV1::AsymmetricSignResponse::signature
    - kmsV1::AsymmetricSignResponse::set_verified_data_crc32c
    - EXPECT_CALL
    - kmsV1::AsymmetricSignResponse::set_verified_digest_crc32c
    - kmsV1::AsymmetricSignResponse::mutable_signature_crc32c
    - absl::ComputeCrc32c
    - Status
    - kmsV1::AsymmetricSignResponse::set_name
    - StatusOr<kmsV1::AsymmetricSignResponse>
    - kmsV1::AsymmetricSignResponse::set_signature
    - Sign
    - name
    linkageType: ''
    returnType: void
    signature: void ExpectSign(const DummyPublicKeySign& signer, int times)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:122,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:127,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:128,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:129,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:130,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:131,1
    - Dst: kmsV1::PublicKey::set_algorithm
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:133,1
    - Dst: kmsV1::PublicKey::set_protection_level
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:135,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:136,1
    - Dst: kmsV1::PublicKey::set_algorithm
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:138,1
    - Dst: kmsV1::PublicKey::set_protection_level
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:140,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:141,1
    - Dst: kmsV1::PublicKey::set_algorithm
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:143,1
    - Dst: kmsV1::PublicKey::set_protection_level
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:145,1
    - Dst: name
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:146,1
    - Dst: Status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:147,1
    - Dst: StatusOr<kmsV1::PublicKey>
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - times
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: crypto::tink::integration::gcpkms::TestGcpKmsPublicKeySign::ExpectGetPublicKey
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - kmsV1::PublicKey::set_protection_level
    - EXPECT_CALL
    - StatusOr<kmsV1::PublicKey>
    - Status
    - kmsV1::PublicKey::set_algorithm
    - name
    linkageType: ''
    returnType: void
    signature: void ExpectGetPublicKey(int times)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:160,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:161,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:162,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, NullKmsClientFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:167,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:167,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:168,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, EmptyKeyNameFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:173,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:173,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:174,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, WrongKeyNameFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:179,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:182,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:182,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:183,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, GetPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:188,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:189,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:190,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:193,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:194,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:194,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, AsymmetricSignFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:201,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:202,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:203,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:206,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:207,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:207,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:208,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, WrongInputCrc32cFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:213,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:214,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:215,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:217,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:218,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:218,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:219,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, WrongSignatureCrc32cFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:224,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:228,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:229,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:230,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:231,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - IsOk
    - ExpectGetPublicKey
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, LargeInputDataFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:235,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:236,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:237,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:240,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:241,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:241,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:242,1
    - Dst: HasSubstr
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, WrongKeyNameInTheResponseFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:247,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:248,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:249,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:252,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:253,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:253,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:253,1
    - Dst: DummyPublicKeySign::Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - EXPECT_THAT
    - IsOkAndHolds
    - DummyPublicKeySign::Sign
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, PublicKeySignDataOnAlgorithmSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:257,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:258,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:259,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:262,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:263,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:263,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:263,1
    - Dst: DummyPublicKeySign::Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - EXPECT_THAT
    - IsOkAndHolds
    - DummyPublicKeySign::Sign
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, PublicKeySignDataOnProtectionLevelSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:267,1
    - Dst: ExpectGetPublicKey
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:268,1
    - Dst: ExpectSign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:269,1
    - Dst: crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:272,1
    - Dst: auto::status
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:273,1
    - Dst: Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:273,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:273,1
    - Dst: DummyPublicKeySign::Sign
      Src: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: crypto::tink::integration::gcpkms::TEST_F
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DummyPublicKeySign
    - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
    - ExpectGetPublicKey
    - IsOk
    - EXPECT_THAT
    - IsOkAndHolds
    - DummyPublicKeySign::Sign
    - Sign
    - ExpectSign
    linkageType: ''
    returnType: void
    signature: void TEST_F(TestGcpKmsPublicKeySign, PublicKeySignDigestSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GcpKmsAead
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GcpKmsAead(GcpKmsAead&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - GcpKmsAead
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(GcpKmsAead&& other)'
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GcpKmsAead
    signature: GcpKmsAead & operator=(GcpKmsAead&& other)
  - 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: crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GcpKmsAead(const GcpKmsAead&)
  - 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: '& operator=(const GcpKmsAead&)'
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GcpKmsAead
    signature: GcpKmsAead & operator=(const GcpKmsAead&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_name
    - kms_stub
    argTypes:
    - absl::string_view
    - std::shared_ptr<google::cloud::kms::v1::KeyManagementService::Stub>
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GcpKmsAead(\n      absl::string_view key_name,\n      std::shared_ptr<google::cloud::kms::v1::KeyManagementService::Stub>\n
      \         kms_stub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_name
    - kms_client
    argTypes:
    - absl::string_view
    - std::shared_ptr<google::cloud::kms_v1::KeyManagementServiceClient>
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
    functionSourceFile: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void GcpKmsAead(\n      absl::string_view key_name,\n      std::shared_ptr<google::cloud::kms_v1::KeyManagementServiceClient>\n
      \         kms_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:67,1
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::New
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:70,1
    - Dst: GetAead
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:74,1
    - Dst: Encrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:82,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:82,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - GetAead
    - IsOk
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - ASSERT_THAT
    - EXPECT_THAT
    - Decrypt
    - crypto::tink::integration::awskms::AwsKmsClient::New
    - IsOkAndHolds
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsAeadTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:88,1
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::New
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:91,1
    - Dst: GetAead
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:95,1
    - Dst: Encrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:103,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:103,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:106,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:106,1
    - Dst: Not
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - GetAead
    - IsOk
    - Not
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - ASSERT_THAT
    - EXPECT_THAT
    - Decrypt
    - crypto::tink::integration::awskms::AwsKmsClient::New
    - IsOkAndHolds
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsAeadTest, EncryptDecryptWithKeyAlias)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:112,1
    - Dst: std::ifstream::is_open
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:114,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:115,1
    - Dst: std::ifstream::rdbuf
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:118,1
    - Dst: std::ifstream::close
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:119,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: crypto::tink::integration::awskms::ReadFile
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - std::ifstream::rdbuf
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - std::ifstream::open
    - std::ifstream::close
    - std::stringstream::str
    - std::ifstream::is_open
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ReadFile(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:125,1
    - Dst: std::vector::size
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:126,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:126,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:127,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:128,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:131,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - name
    - line
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: crypto::tink::integration::awskms::GetValue
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - std::vector::size
    - absl::StrSplit
    - absl::StrCat
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> GetValue(absl::string_view name,\n                                     absl::string_view
      line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aws::InitAPI
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:136,1
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:140,1
    - Dst: crypto::tink::integration::awskms::ReadFile
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:142,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:143,1
    - Dst: crypto::tink::integration::awskms::GetValue
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:146,1
    - Dst: crypto::tink::integration::awskms::GetValue
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:149,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:149,1
    - Dst: Aws::Auth::AWSCredentials
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:153,1
    - Dst: util::StatusOr::c_str
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:153,1
    - Dst: util::StatusOr::c_str
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:153,1
    - Dst: Aws::MakeShared<Aws::KMS::KMSClient>
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:159,1
    - Dst: crypto::tink::integration::awskms::AwsKmsAead::New
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:164,1
    - Dst: Encrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:172,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:172,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:175,1
    - Dst: Decrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:175,1
    - Dst: Not
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 177
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc
    functionUses: 0
    functionsReached:
    - Aws::InitAPI
    - Aws::MakeShared<Aws::KMS::KMSClient>
    - IsOk
    - crypto::tink::integration::awskms::AwsKmsAead::New
    - Not
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - ASSERT_THAT
    - absl::StrSplit
    - util::StatusOr::c_str
    - crypto::tink::integration::awskms::GetValue
    - EXPECT_THAT
    - Encrypt
    - Decrypt
    - Aws::Auth::AWSCredentials
    - IsOkAndHolds
    - crypto::tink::integration::awskms::ReadFile
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsAeadTest, AwsKmsAeadNewWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StartsWithIgnoreCase
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:55,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:56,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:58,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:58,1
    - Dst: length
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: crypto::tink::integration::awskms::GetKeyArn
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::StartsWithIgnoreCase
    - crypto::tink::internal::ExtractStatus
    - length
    - absl::string_view::substr
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> GetKeyArn(absl::string_view key_uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:67,1
    - Dst: std::vector::size
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:69,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:70,1
    - Dst: c_str
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_arn
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: crypto::tink::integration::awskms::GetAwsClientConfig
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::vector::size
    - c_str
    - absl::StrSplit
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<Aws::Client::ClientConfiguration>
    signature: "util::StatusOr<Aws::Client::ClientConfiguration> GetAwsClientConfig(\n
      \   absl::string_view key_arn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:84,1
    - Dst: std::ifstream::is_open
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:86,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:87,1
    - Dst: std::ifstream::rdbuf
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:90,1
    - Dst: std::ifstream::close
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:91,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: crypto::tink::integration::awskms::ReadFile
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 1
    functionsReached:
    - std::ifstream::rdbuf
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - std::ifstream::open
    - std::ifstream::close
    - std::stringstream::str
    - std::ifstream::is_open
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ReadFile(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:99,1
    - Dst: std::vector::size
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:100,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:101,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:102,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:105,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - name
    - line
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: crypto::tink::integration::awskms::GetValue
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 1
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - std::vector::size
    - absl::StrSplit
    - absl::StrCat
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> GetValue(absl::string_view name,\n                                     absl::string_view
      line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:135,1
    - Dst: Aws::Auth::DefaultAWSCredentialsProviderChain::GetAWSCredentials
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:138,1
    - Dst: crypto::tink::integration::awskms::ReadFile
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:142,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:142,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:143,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:144,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:147,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:147,1
    - Dst: std::vector::size
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:148,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:149,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:150,1
    - Dst: crypto::tink::integration::awskms::GetValue
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:154,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:156,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:158,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:159,1
    - Dst: crypto::tink::integration::awskms::GetValue
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:162,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:163,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:164,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:166,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:167,1
    - Dst: Aws::Auth::AWSCredentials
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:169,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:169,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - credentials_path
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 171
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 171
    functionName: crypto::tink::integration::awskms::GetAwsCredentials
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - Aws::Auth::DefaultAWSCredentialsProviderChain::GetAWSCredentials
    - std::string
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::vector::size
    - absl::StrSplit
    - util::StatusOr::ok
    - crypto::tink::integration::awskms::GetValue
    - absl::StrCat
    - absl::string_view::empty
    - Aws::Auth::AWSCredentials
    - crypto::tink::integration::awskms::ReadFile
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<Aws::Auth::AWSCredentials>
    signature: "util::StatusOr<Aws::Auth::AWSCredentials> GetAwsCredentials(\n    absl::string_view
      credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aws::InitAPI
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: crypto::tink::integration::awskms::InitAwsApi
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - Aws::InitAPI
    linkageType: ''
    returnType: void
    signature: void InitAwsApi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::call_once
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:184,1
    - Dst: InitAwsApi
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:184,1
    - Dst: GetAwsCredentials
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:187,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:188,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:189,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:192,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:193,1
    - Dst: AwsKmsClient::AwsKmsClient
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:193,1
    - Dst: GetKeyArn
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:197,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:198,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:199,1
    - Dst: GetAwsClientConfig
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:202,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:203,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:204,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:206,1
    - Dst: AwsKmsClient::AwsKmsClient
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:206,1
    - Dst: Aws::MakeShared<Aws::KMS::KMSClient>
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:208,1
    - Dst: std::move
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - key_uri
    - credentials_path
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 211
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 211
    functionName: crypto::tink::integration::awskms::AwsKmsClient::New
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 2
    functionsReached:
    - util::StatusOr::status
    - GetAwsCredentials
    - Aws::MakeShared<Aws::KMS::KMSClient>
    - GetAwsClientConfig
    - std::move
    - GetKeyArn
    - absl::WrapUnique
    - util::StatusOr::ok
    - absl::call_once
    - absl::string_view::empty
    - AwsKmsClient::AwsKmsClient
    - InitAwsApi
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<AwsKmsClient>>
    signature: "util::StatusOr<std::unique_ptr<AwsKmsClient>> AwsKmsClient::New(\n
      \   absl::string_view key_uri, absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyArn
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:214,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:215,1
    - Dst: empty
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: crypto::tink::integration::awskms::AwsKmsClient::DoesSupport
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - empty
    - GetKeyArn
    linkageType: ''
    returnType: bool
    signature: bool AwsKmsClient::DoesSupport(absl::string_view key_uri) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyArn
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:224,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:225,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:226,1
    - Dst: empty
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:229,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:231,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:232,1
    - Dst: crypto::tink::integration::awskms::AwsKmsAead::New
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:235,1
    - Dst: GetAwsClientConfig
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:239,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:241,1
    - Dst: Aws::MakeShared<Aws::KMS::KMSClient>
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:243,1
    - Dst: crypto::tink::integration::awskms::AwsKmsAead::New
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: crypto::tink::integration::awskms::AwsKmsClient::GetAead
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::integration::awskms::AwsKmsAead::New
    - crypto::tink::internal::ExtractStatus
    - Aws::MakeShared<Aws::KMS::KMSClient>
    - GetAwsClientConfig
    - GetKeyArn
    - util::StatusOr::ok
    - empty
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AwsKmsClient::GetAead(\n    absl::string_view
      key_uri) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::New
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:251,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:252,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:253,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:256,1
    - Dst: std::move
      Src: /src/tink/cc/integration/awskms/aws_kms_client.cc:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_uri
    - credentials_path
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::move
    - crypto::tink::KmsClients::Add
    - util::StatusOr::ok
    - crypto::tink::integration::awskms::AwsKmsClient::New
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AwsKmsClient::RegisterNewClient(\n    absl::string_view
      key_uri, absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AwsKmsAead
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::integration::awskms::AwsKmsAead::AwsKmsAead
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AwsKmsAead(AwsKmsAead&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AwsKmsAead
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(AwsKmsAead&& other)'
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AwsKmsAead
    signature: AwsKmsAead & operator=(AwsKmsAead&& other)
  - 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: crypto::tink::integration::awskms::AwsKmsAead::AwsKmsAead
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AwsKmsAead(const AwsKmsAead&)
  - 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 AwsKmsAead&)'
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AwsKmsAead
    signature: AwsKmsAead & operator=(const AwsKmsAead&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_arn
    - aws_client
    argTypes:
    - absl::string_view
    - std::shared_ptr<Aws::KMS::KMSClient>
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: crypto::tink::integration::awskms::AwsKmsAead::AwsKmsAead
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AwsKmsAead(absl::string_view key_arn,\n             std::shared_ptr<Aws::KMS::KMSClient>
      aws_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AwsKmsClient
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AwsKmsClient(AwsKmsClient&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AwsKmsClient
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(AwsKmsClient&& other)'
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AwsKmsClient
    signature: AwsKmsClient & operator=(AwsKmsClient&& other)
  - 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: crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AwsKmsClient(const AwsKmsClient&)
  - 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: '& operator=(const AwsKmsClient&)'
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AwsKmsClient
    signature: AwsKmsClient & operator=(const AwsKmsClient&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_arn
    - credentials
    argTypes:
    - absl::string_view
    - Aws::Auth::AWSCredentials
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AwsKmsClient(absl::string_view key_arn, Aws::Auth::AWSCredentials
      credentials)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - Aws::Auth::AWSCredentials
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AwsKmsClient(Aws::Auth::AWSCredentials credentials)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:58,1
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::New
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:62,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:63,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:63,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:64,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - DoesSupport
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - ASSERT_THAT
    - crypto::tink::integration::awskms::AwsKmsClient::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsClientTest, CreateClientNotBoundToSpecificKeySupportsAllValidKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:71,1
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::New
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:75,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:76,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:77,1
    - Dst: DoesSupport
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - DoesSupport
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - ASSERT_THAT
    - crypto::tink::integration::awskms::AwsKmsClient::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsClientTest, CreateClientBoundToSpecificKeySupportOnlyOneKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:83,1
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:83,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:85,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:85,1
    - Dst: Not
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:85,1
    - Dst: IsNull
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - IsNull
    - crypto::tink::KmsClients::Get
    - crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsClientTest, RegisterKmsClient)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:89,1
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:92,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:92,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:93,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:94,1
    - Dst: util::Status::message
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_PRED_FORMAT2
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - util::Status::message
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsClientTest, RegisterKmsClientFailsWhenKeyIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:100,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:100,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:101,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:102,1
    - Dst: util::Status::message
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_PRED_FORMAT2
    - util::Status::message
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsClientTest, RegisterKmsClientFailsWhenCredentialsDoNotExist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::integration::awskms::internal::RunfilesPath
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:109,1
    - Dst: std::ofstream::write
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:111,1
    - Dst: std::string::data
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:111,1
    - Dst: std::string::size
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:111,1
    - Dst: std::ofstream::close
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:112,1
    - Dst: crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:116,1
    - Dst: StatusIs
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:116,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:117,1
    - Dst: std::string
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:118,1
    - Dst: util::Status::message
      Src: /src/tink/cc/integration/awskms/aws_kms_client_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: crypto::tink::integration::awskms::TEST
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string
    - std::ofstream::close
    - EXPECT_PRED_FORMAT2
    - StatusIs
    - crypto::tink::integration::awskms::internal::RunfilesPath
    - std::ofstream::write
    - util::Status::message
    - EXPECT_THAT
    - std::string::size
    - crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
    linkageType: ''
    returnType: void
    signature: void TEST(AwsKmsClientTest, RegisterKmsClientFailsWhenMalformedCredentials)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:45,1
    - Dst: Aws::Client::AWSError<Aws::KMS::KMSErrors>::GetErrorType
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:45,1
    - Dst: Aws::Client::AWSError<Aws::KMS::KMSErrors>::GetExceptionName
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:46,1
    - Dst: Aws::Client::AWSError<Aws::KMS::KMSErrors>::GetMessage
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - Aws::Client::AWSError<Aws::KMS::KMSErrors>
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: crypto::tink::integration::awskms::AwsErrorToString
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.cc
    functionUses: 0
    functionsReached:
    - Aws::Client::AWSError<Aws::KMS::KMSErrors>::GetMessage
    - Aws::Client::AWSError<Aws::KMS::KMSErrors>::GetErrorType
    - Aws::Client::AWSError<Aws::KMS::KMSErrors>::GetExceptionName
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string AwsErrorToString(Aws::Client::AWSError<Aws::KMS::KMSErrors>
      err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:55,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:59,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:62,1
    - Dst: AwsKmsAead::AwsKmsAead
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key_arn
    - aws_client
    argTypes:
    - absl::string_view
    - std::shared_ptr<Aws::KMS::KMSClient>
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: crypto::tink::integration::awskms::AwsKmsAead::New
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - AwsKmsAead::AwsKmsAead
    - absl::string_view::empty
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AwsKmsAead::New(\n    absl::string_view
      key_arn,\n    std::shared_ptr<Aws::KMS::KMSClient> aws_client)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aws::KMS::Model::EncryptRequest::SetKeyId
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:68,1
    - Dst: c_str
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:68,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:70,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:71,1
    - Dst: Aws::KMS::Model::EncryptRequest::SetPlaintext
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:72,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:73,1
    - Dst: Aws::KMS::Model::EncryptRequest::AddEncryptionContext
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:74,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:75,1
    - Dst: crypto::tink::integration::awskms::AwsKmsAead::Encrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:77,1
    - Dst: auto::IsSuccess
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:78,1
    - Dst: auto::GetError
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:81,1
    - Dst: AwsErrorToString
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:82,1
    - Dst: auto::GetResult
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:84,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:86,1
    - Dst: GetUnderlyingData
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:86,1
    - Dst: GetLength
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: crypto::tink::integration::awskms::AwsKmsAead::Encrypt
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.cc
    functionUses: 1
    functionsReached:
    - c_str
    - Aws::KMS::Model::EncryptRequest::SetKeyId
    - absl::StrCat
    - crypto::tink::integration::awskms::AwsKmsAead::Encrypt
    - reinterpret_cast<const char*>
    - GetUnderlyingData
    - absl::BytesToHexString
    - auto::IsSuccess
    - Aws::KMS::Model::EncryptRequest::AddEncryptionContext
    - GetLength
    - Aws::KMS::Model::EncryptRequest::SetPlaintext
    - auto::GetError
    - absl::string_view::empty
    - absl::string_view::data
    - reinterpret_cast<const unsigned char*>
    - auto::GetResult
    - crypto::tink::internal::ExtractStatus
    - absl::string_view::length
    - AwsErrorToString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AwsKmsAead::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aws::KMS::Model::DecryptRequest::SetKeyId
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:94,1
    - Dst: c_str
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:94,1
    - Dst: reinterpret_cast<const unsigned char*>
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:96,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:96,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:97,1
    - Dst: Aws::KMS::Model::DecryptRequest::SetCiphertextBlob
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:98,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:99,1
    - Dst: Aws::KMS::Model::DecryptRequest::AddEncryptionContext
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:100,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:101,1
    - Dst: crypto::tink::integration::awskms::AwsKmsAead::Decrypt
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:103,1
    - Dst: auto::IsSuccess
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:104,1
    - Dst: auto::GetError
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:105,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:106,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:107,1
    - Dst: AwsErrorToString
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:108,1
    - Dst: auto::GetResult
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:110,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:112,1
    - Dst: GetUnderlyingData
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:112,1
    - Dst: GetLength
      Src: /src/tink/cc/integration/awskms/aws_kms_aead.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 115
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 115
    functionName: crypto::tink::integration::awskms::AwsKmsAead::Decrypt
    functionSourceFile: /src/tink/cc/integration/awskms/aws_kms_aead.cc
    functionUses: 1
    functionsReached:
    - c_str
    - absl::StrCat
    - crypto::tink::integration::awskms::AwsKmsAead::Decrypt
    - Aws::KMS::Model::DecryptRequest::SetCiphertextBlob
    - reinterpret_cast<const char*>
    - GetUnderlyingData
    - absl::BytesToHexString
    - Aws::KMS::Model::DecryptRequest::AddEncryptionContext
    - auto::IsSuccess
    - GetLength
    - auto::GetError
    - absl::string_view::empty
    - absl::string_view::data
    - reinterpret_cast<const unsigned char*>
    - auto::GetResult
    - crypto::tink::internal::ExtractStatus
    - absl::string_view::length
    - AwsErrorToString
    - Aws::KMS::Model::DecryptRequest::SetKeyId
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AwsKmsAead::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runfiles::CreateForTest
      Src: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc:33,1
    - Dst: CHECK
      Src: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc:34,1
    - Dst: CHECK
      Src: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc:36,1
    - Dst: std::unique_ptr::Rlocation
      Src: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc:38,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: crypto::tink::integration::awskms::internal::RunfilesPath
    functionSourceFile: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc
    functionUses: 8
    functionsReached:
    - absl::StrCat
    - std::unique_ptr::Rlocation
    - Runfiles::CreateForTest
    - CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string RunfilesPath(absl::string_view path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_status_util.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - status_type
    argTypes:
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: crypto::tink::internal::FromKeyStatusType
    functionSourceFile: /src/tink/cc/internal/key_status_util.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<KeyStatus>
    signature: util::StatusOr<KeyStatus> FromKeyStatusType(KeyStatusType status_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_status_util.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - status
    argTypes:
    - KeyStatus
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::ToKeyStatusType
    functionSourceFile: /src/tink/cc/internal/key_status_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<KeyStatusType>
    signature: util::StatusOr<KeyStatusType> ToKeyStatusType(KeyStatus status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyStatusType_Name
      Src: /src/tink/cc/internal/key_status_util.cc:64,1
    - Dst: KeyStatusType_Name
      Src: /src/tink/cc/internal/key_status_util.cc:66,1
    - Dst: KeyStatusType_Name
      Src: /src/tink/cc/internal/key_status_util.cc:68,1
    - Dst: KeyStatusType_Name
      Src: /src/tink/cc/internal/key_status_util.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - status
    argTypes:
    - KeyStatus
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::ToKeyStatusName
    functionSourceFile: /src/tink/cc/internal/key_status_util.cc
    functionUses: 1
    functionsReached:
    - KeyStatusType_Name
    linkageType: ''
    returnType: std::string
    signature: std::string ToKeyStatusName(KeyStatus status)
  - 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: ~KeySerializer()
    functionSourceFile: /src/tink/cc/internal/key_serializer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - function
    argTypes:
    - "absl::FunctionRef<util::StatusOr<SerializationT>(\n                                 KeyT,
      absl::optional<SecretKeyAccessToken>)>"
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::KeySerializerImpl::KeySerializerImpl
    functionSourceFile: /src/tink/cc/internal/key_serializer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void KeySerializerImpl(absl::FunctionRef<util::StatusOr<SerializationT>(\n
      \                                KeyT, absl::optional<SecretKeyAccessToken>)>\n
      \                                function)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const KeyT*>
      Src: /src/tink/cc/internal/key_serializer.h:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_serializer.h:70,1
    - Dst: function_
      Src: /src/tink/cc/internal/key_serializer.h:73,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_serializer.h:74,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_serializer.h:74,1
    - Dst: absl::make_unique<SerializationT>
      Src: /src/tink/cc/internal/key_serializer.h:75,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_serializer.h:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - Key
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::KeySerializerImpl::SerializeKey
    functionSourceFile: /src/tink/cc/internal/key_serializer.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - dynamic_cast<const KeyT*>
    - std::move
    - util::StatusOr::ok
    - function_
    - absl::make_unique<SerializationT>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Serialization>>
    signature: "util::StatusOr<std::unique_ptr<Serialization>> SerializeKey(\n      const
      Key& key,\n      absl::optional<SecretKeyAccessToken> token) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializerIndex::Create<KeyT, SerializationT>
      Src: /src/tink/cc/internal/key_serializer.h: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: crypto::tink::internal::KeySerializerImpl::Index
    functionSourceFile: /src/tink/cc/internal/key_serializer.h
    functionUses: 0
    functionsReached:
    - SerializerIndex::Create<KeyT, SerializationT>
    linkageType: ''
    returnType: SerializerIndex
    signature: SerializerIndex Index() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/internal/util.cc:30,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/util.cc:30,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util.cc:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: crypto::tink::internal::EnsureStringNonNull
    functionSourceFile: /src/tink/cc/internal/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - absl::string_view::data
    - absl::string_view::empty
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view EnsureStringNonNull(absl::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: crypto::tink::internal::BuffersOverlap
    functionSourceFile: /src/tink/cc/internal/util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BuffersOverlap(absl::string_view first, absl::string_view second)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/internal/util.cc:55,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/internal/util.cc:55,1
    - Dst: absl::string_view::begin
      Src: /src/tink/cc/internal/util.cc:56,1
    - Dst: absl::string_view::begin
      Src: /src/tink/cc/internal/util.cc:57,1
    - Dst: std::prev
      Src: /src/tink/cc/internal/util.cc:59,1
    - Dst: absl::string_view::end
      Src: /src/tink/cc/internal/util.cc:59,1
    - Dst: std::prev
      Src: /src/tink/cc/internal/util.cc:59,1
    - Dst: absl::string_view::end
      Src: /src/tink/cc/internal/util.cc:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - first
    - second
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: crypto::tink::internal::BuffersAreIdentical
    functionSourceFile: /src/tink/cc/internal/util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::end
    - absl::string_view::begin
    - std::prev
    - absl::string_view::empty
    linkageType: ''
    returnType: bool
    signature: bool BuffersAreIdentical(absl::string_view first, absl::string_view
      second)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ascii_isprint
      Src: /src/tink/cc/internal/util.cc:64,1
    - Dst: absl::ascii_isspace
      Src: /src/tink/cc/internal/util.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::IsPrintableAscii
    functionSourceFile: /src/tink/cc/internal/util.cc
    functionUses: 1
    functionsReached:
    - absl::ascii_isspace
    - absl::ascii_isprint
    linkageType: ''
    returnType: bool
    signature: bool IsPrintableAscii(absl::string_view input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LOG
      Src: /src/tink/cc/internal/util.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::LogFatal
    functionSourceFile: /src/tink/cc/internal/util.cc
    functionUses: 1
    functionsReached:
    - LOG
    linkageType: ''
    returnType: void
    signature: void LogFatal(absl::string_view msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: crypto::tink::internal::KeyTypeInfoStore::KeyTypeInfoStore
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyTypeInfoStore()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyTypeInfoStore
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::KeyTypeInfoStore::KeyTypeInfoStore
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyTypeInfoStore(KeyTypeInfoStore&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyTypeInfoStore
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(KeyTypeInfoStore&& other)'
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyTypeInfoStore
    signature: KeyTypeInfoStore & operator=(KeyTypeInfoStore&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:82,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:82,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/internal/key_type_info_store.h:85,1
    - Dst: "absl::make_unique<internal::KeyFactoryImpl<KeyTypeManager<\n                  KeyProto,
        KeyFormatProto, List<Primitives...>>>>"
      Src: /src/tink/cc/internal/key_type_info_store.h:87,1
    - Dst: get
      Src: /src/tink/cc/internal/key_type_info_store.h:89,1
    - Dst: CreateDeriverFunctionFor
      Src: /src/tink/cc/internal/key_type_info_store.h:90,1
    - Dst: emplace
      Src: /src/tink/cc/internal/key_type_info_store.h:93,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:94,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:94,1
    - Dst: internal::MakeKeyManager<Primitives>
      Src: /src/tink/cc/internal/key_type_info_store.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*
    - bool
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::Info
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - CreateDeriverFunctionFor
    - "absl::make_unique<internal::KeyFactoryImpl<KeyTypeManager<\n                  KeyProto,
      KeyFormatProto, List<Primitives...>>>>"
    - internal::MakeKeyManager<Primitives>
    - absl::WrapUnique
    - typeid
    - std::type_index
    - emplace
    - get
    linkageType: ''
    returnType: void
    signature: "void Info(KeyTypeManager<KeyProto, KeyFormatProto, List<Primitives...>>*
      manager,\n         bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:109,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:109,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:111,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:111,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/internal/key_type_info_store.h:113,1
    - Dst: "absl::make_unique<internal::PrivateKeyFactoryImpl<\n                  PrivateKeyProto,
        KeyFormatProto, PublicKeyProto,\n                  List<PrivatePrimitives...>,
        PublicPrimitivesList>>"
      Src: /src/tink/cc/internal/key_type_info_store.h:115,1
    - Dst: get
      Src: /src/tink/cc/internal/key_type_info_store.h:119,1
    - Dst: CreateDeriverFunctionFor
      Src: /src/tink/cc/internal/key_type_info_store.h:120,1
    - Dst: emplace
      Src: /src/tink/cc/internal/key_type_info_store.h:123,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:124,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:124,1
    - Dst: internal::MakePrivateKeyManager<PrivatePrimitives>
      Src: /src/tink/cc/internal/key_type_info_store.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - private_manager
    - public_manager
    - new_key_allowed
    argTypes:
    - "PrivateKeyTypeManager<PrivateKeyProto, KeyFormatProto, PublicKeyProto,\n                               List<PrivatePrimitives...>>*"
    - KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*
    - bool
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::Info
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - CreateDeriverFunctionFor
    - absl::WrapUnique
    - typeid
    - "absl::make_unique<internal::PrivateKeyFactoryImpl<\n                  PrivateKeyProto,
      KeyFormatProto, PublicKeyProto,\n                  List<PrivatePrimitives...>,
      PublicPrimitivesList>>"
    - std::type_index
    - internal::MakePrivateKeyManager<PrivatePrimitives>
    - emplace
    - get
    linkageType: ''
    returnType: void
    signature: "void Info(PrivateKeyTypeManager<PrivateKeyProto, KeyFormatProto, PublicKeyProto,\n
      \                              List<PrivatePrimitives...>>* private_manager,\n
      \        KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>*\n             public_manager,\n
      \        bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:134,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:134,1
    - Dst: KeyManager<P>*::get_key_factory
      Src: /src/tink/cc/internal/key_type_info_store.h:139,1
    - Dst: emplace
      Src: /src/tink/cc/internal/key_type_info_store.h:140,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:140,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:140,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/internal/key_type_info_store.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - KeyManager<P>*
    - bool
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::Info
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - absl::WrapUnique
    - typeid
    - std::type_index
    - KeyManager<P>*::get_key_factory
    - emplace
    linkageType: ''
    returnType: void
    signature: void Info(KeyManager<P>* manager, bool new_key_allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Info::get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store.h:148,1
    - Dst: type_url
      Src: /src/tink/cc/internal/key_type_info_store.h:148,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<P>*>::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:149,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<P>*>::status
      Src: /src/tink/cc/internal/key_type_info_store.h:150,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Info::GetPrimitive
      Src: /src/tink/cc/internal/key_type_info_store.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - google::crypto::tink::KeyData
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::GetPrimitive
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 1
    functionsReached:
    - crypto::tink::util::StatusOr<const KeyManager<P>*>::status
    - crypto::tink::internal::KeyTypeInfoStore::Info::GetPrimitive
    - crypto::tink::internal::KeyTypeInfoStore::Info::get_key_manager
    - type_url
    - crypto::tink::util::StatusOr<const KeyManager<P>*>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> GetPrimitive(\n        const
      google::crypto::tink::KeyData& key_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tink/cc/internal/key_type_info_store.h:158,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:158,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:158,1
    - Dst: end
      Src: /src/tink/cc/internal/key_type_info_store.h:159,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:160,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:162,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:163,1
    - Dst: absl::StrJoin
      Src: /src/tink/cc/internal/key_type_info_store.h:165,1
    - Dst: begin
      Src: /src/tink/cc/internal/key_type_info_store.h:166,1
    - Dst: end
      Src: /src/tink/cc/internal/key_type_info_store.h:166,1
    - Dst: absl::StrAppend
      Src: /src/tink/cc/internal/key_type_info_store.h:171,1
    - Dst: first::name
      Src: /src/tink/cc/internal/key_type_info_store.h:171,1
    - Dst: static_cast<const KeyManager<P>*>
      Src: /src/tink/cc/internal/key_type_info_store.h:175,1
    - Dst: auto::second::get
      Src: /src/tink/cc/internal/key_type_info_store.h:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - requested_type_url
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::get_key_manager
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 1
    functionsReached:
    - end
    - absl::StrJoin
    - first::name
    - crypto::tink::internal::ExtractStatus
    - begin
    - auto::second::get
    - typeid
    - std::type_index
    - absl::StrCat
    - static_cast<const KeyManager<P>*>
    - absl::StrAppend
    - find
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const KeyManager<P>*>
    signature: "crypto::tink::util::StatusOr<const KeyManager<P>*> get_key_manager(\n
      \       absl::string_view requested_type_url) const"
  - 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: '& key_manager_type_index() const'
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::type_index
    signature: std::type_index & key_manager_type_index() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: "& public_key_type_manager_type_index()\n        const"
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<std::type_index>
    signature: "absl::optional<std::type_index> & public_key_type_manager_type_index()\n
      \       const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tink/cc/internal/key_type_info_store.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::new_key_allowed
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: bool
    signature: bool new_key_allowed() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store
      Src: /src/tink/cc/internal/key_type_info_store.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: crypto::tink::internal::KeyTypeInfoStore::Info::set_new_key_allowed
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - store
    linkageType: ''
    returnType: void
    signature: void set_new_key_allowed(bool b)
  - 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: '& key_factory() const'
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyFactory
    signature: KeyFactory & key_factory() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: "&\n    key_deriver() const"
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: "std::function<crypto::tink::util::StatusOr<\n        google::crypto::tink::KeyData>(absl::string_view,
      InputStream*)>"
    signature: "std::function<crypto::tink::util::StatusOr<\n        google::crypto::tink::KeyData>(absl::string_view,
      InputStream*)> &\n    key_deriver() const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/internal/key_type_info_store.h: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: crypto::tink::internal::KeyTypeInfoStore::IsEmpty
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tink/cc/internal/key_type_info_store.h:268,1
    - Dst: end
      Src: /src/tink/cc/internal/key_type_info_store.h:269,1
    - Dst: auto::second::set_new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store.h:270,1
    - Dst: insert
      Src: /src/tink/cc/internal/key_type_info_store.h:272,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_type_info_store.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - type_url
    - info
    - new_key_allowed
    argTypes:
    - std::string
    - std::unique_ptr<Info>
    - bool
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: crypto::tink::internal::KeyTypeInfoStore::Add
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - end
    - std::move
    - insert
    - auto::second::set_new_key_allowed
    - find
    linkageType: ''
    returnType: void
    signature: "void Add(std::string type_url, std::unique_ptr<Info> info,\n           bool
      new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<KeyManager<P>>::get_key_type
      Src: /src/tink/cc/internal/key_type_info_store.h:285,1
    - Dst: std::unique_ptr<KeyManager<P>>::DoesSupport
      Src: /src/tink/cc/internal/key_type_info_store.h:286,1
    - Dst: ToStatusF
      Src: /src/tink/cc/internal/key_type_info_store.h:287,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::IsInsertable
      Src: /src/tink/cc/internal/key_type_info_store.h:291,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:292,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:292,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:293,1
    - Dst: absl::make_unique<Info>
      Src: /src/tink/cc/internal/key_type_info_store.h:297,1
    - Dst: std::unique_ptr<KeyManager<P>>::release
      Src: /src/tink/cc/internal/key_type_info_store.h:297,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Add
      Src: /src/tink/cc/internal/key_type_info_store.h:298,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_type_info_store.h:298,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<KeyManager<P>>
    - bool
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: crypto::tink::internal::KeyTypeInfoStore::AddKeyManager
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<KeyManager<P>>::release
    - crypto::tink::internal::KeyTypeInfoStore::Add
    - std::unique_ptr<KeyManager<P>>::DoesSupport
    - std::move
    - ToStatusF
    - std::unique_ptr<KeyManager<P>>::get_key_type
    - typeid
    - std::type_index
    - absl::make_unique<Info>
    - crypto::tink::util::Status::ok
    - crypto::tink::internal::KeyTypeInfoStore::IsInsertable
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status KeyTypeInfoStore::AddKeyManager(\n    std::unique_ptr<KeyManager<P>>
      manager, bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<KeyTypeManager>::FipsStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:306,1
    - Dst: crypto::tink::internal::ChecksFipsCompatibility
      Src: /src/tink/cc/internal/key_type_info_store.h:307,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:308,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:309,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:311,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:312,1
    - Dst: auto::message
      Src: /src/tink/cc/internal/key_type_info_store.h:313,1
    - Dst: std::unique_ptr<KeyTypeManager>::get_key_type
      Src: /src/tink/cc/internal/key_type_info_store.h:316,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::IsInsertable
      Src: /src/tink/cc/internal/key_type_info_store.h:317,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:318,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:318,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:319,1
    - Dst: absl::make_unique<Info>
      Src: /src/tink/cc/internal/key_type_info_store.h:323,1
    - Dst: std::unique_ptr<KeyTypeManager>::release
      Src: /src/tink/cc/internal/key_type_info_store.h:323,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Add
      Src: /src/tink/cc/internal/key_type_info_store.h:324,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_type_info_store.h:324,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<KeyTypeManager>
    - bool
    constantsTouched: []
    func_position:
      end: 326
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 326
    functionName: crypto::tink::internal::KeyTypeInfoStore::AddKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyTypeInfoStore::Add
    - std::unique_ptr<KeyTypeManager>::release
    - auto::ok
    - crypto::tink::internal::KeyTypeInfoStore::IsInsertable
    - std::unique_ptr<KeyTypeManager>::FipsStatus
    - crypto::tink::internal::ExtractStatus
    - std::move
    - std::unique_ptr<KeyTypeManager>::get_key_type
    - typeid
    - std::type_index
    - crypto::tink::internal::ChecksFipsCompatibility
    - absl::StrCat
    - absl::make_unique<Info>
    - crypto::tink::util::Status::ok
    - auto::message
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status KeyTypeInfoStore::AddKeyTypeManager(\n
      \   std::unique_ptr<KeyTypeManager> manager, bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<PrivateKeyTypeManager>::get_key_type
      Src: /src/tink/cc/internal/key_type_info_store.h:333,1
    - Dst: std::unique_ptr<PublicKeyTypeManager>::get_key_type
      Src: /src/tink/cc/internal/key_type_info_store.h:334,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:336,1
    - Dst: crypto::tink::internal::ChecksFipsCompatibility
      Src: /src/tink/cc/internal/key_type_info_store.h:343,1
    - Dst: std::unique_ptr<PrivateKeyTypeManager>::FipsStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:343,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:344,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:345,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:347,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:349,1
    - Dst: auto::message
      Src: /src/tink/cc/internal/key_type_info_store.h:350,1
    - Dst: crypto::tink::internal::ChecksFipsCompatibility
      Src: /src/tink/cc/internal/key_type_info_store.h:353,1
    - Dst: std::unique_ptr<PublicKeyTypeManager>::FipsStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:353,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:354,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:355,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:357,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:359,1
    - Dst: auto::message
      Src: /src/tink/cc/internal/key_type_info_store.h:360,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::IsInsertable
      Src: /src/tink/cc/internal/key_type_info_store.h:364,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:364,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:364,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:366,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::IsInsertable
      Src: /src/tink/cc/internal/key_type_info_store.h:370,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:370,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:370,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:372,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store.h:376,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store.h:378,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:381,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:381,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:382,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:384,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:386,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:388,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:391,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:391,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:392,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:394,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:395,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:398,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:403,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_type_info_store.h:403,1
    - Dst: public_key_type_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:404,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:405,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:407,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:408,1
    - Dst: public_key_type_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:412,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:413,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:413,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:414,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/key_type_info_store.h:416,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:418,1
    - Dst: public_key_type_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store.h:419,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store.h:421,1
    - Dst: set_new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store.h:425,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:426,1
    - Dst: absl::make_unique<Info>
      Src: /src/tink/cc/internal/key_type_info_store.h:430,1
    - Dst: std::unique_ptr<PrivateKeyTypeManager>::release
      Src: /src/tink/cc/internal/key_type_info_store.h:431,1
    - Dst: std::unique_ptr<PublicKeyTypeManager>::get
      Src: /src/tink/cc/internal/key_type_info_store.h:431,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Add
      Src: /src/tink/cc/internal/key_type_info_store.h:432,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_type_info_store.h:432,1
    - Dst: absl::make_unique<Info>
      Src: /src/tink/cc/internal/key_type_info_store.h:436,1
    - Dst: std::unique_ptr<PublicKeyTypeManager>::release
      Src: /src/tink/cc/internal/key_type_info_store.h:436,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::Add
      Src: /src/tink/cc/internal/key_type_info_store.h:437,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_type_info_store.h:437,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_type_info_store.h:439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - private_manager
    - public_manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<PrivateKeyTypeManager>
    - std::unique_ptr<PublicKeyTypeManager>
    - bool
    constantsTouched: []
    func_position:
      end: 440
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 440
    functionName: crypto::tink::internal::KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyTypeInfoStore::Add
    - auto::ok
    - crypto::tink::internal::KeyTypeInfoStore::Get
    - std::unique_ptr<PublicKeyTypeManager>::get
    - std::move
    - typeid
    - std::type_index
    - crypto::tink::internal::ChecksFipsCompatibility
    - absl::StrCat
    - std::unique_ptr<PrivateKeyTypeManager>::FipsStatus
    - absl::make_unique<Info>
    - auto::message
    - std::unique_ptr<PublicKeyTypeManager>::release
    - public_key_type_manager_type_index
    - util::StatusOr::ok
    - std::unique_ptr<PublicKeyTypeManager>::FipsStatus
    - std::unique_ptr<PrivateKeyTypeManager>::get_key_type
    - crypto::tink::internal::KeyTypeInfoStore::IsInsertable
    - crypto::tink::util::OkStatus
    - std::unique_ptr<PrivateKeyTypeManager>::release
    - set_new_key_allowed
    - crypto::tink::internal::ExtractStatus
    - std::unique_ptr<PublicKeyTypeManager>::get_key_type
    - crypto::tink::util::Status::ok
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status KeyTypeInfoStore::AddAsymmetricKeyTypeManagers(\n
      \   std::unique_ptr<PrivateKeyTypeManager> private_manager,\n    std::unique_ptr<PublicKeyTypeManager>
      public_manager,\n    bool new_key_allowed)"
  - 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: crypto::tink::internal::AesBlockSize
    functionSourceFile: /src/tink/cc/internal/aes_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AesBlockSize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/test_file_util.cc:41,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/internal/test_file_util.cc:41,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_file_util.cc:44,1
    - Dst: std::ofstream::write
      Src: /src/tink/cc/internal/test_file_util.cc:46,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/test_file_util.cc:46,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/test_file_util.cc:46,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/test_file_util.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - filename
    - file_content
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: crypto::tink::internal::CreateTestFile
    functionSourceFile: /src/tink/cc/internal/test_file_util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::TmpDir
    - std::ofstream::write
    - absl::StrCat
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status CreateTestFile(absl::string_view filename,\n                            absl::string_view
      file_content)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testing::UnitTest::GetInstance
      Src: /src/tink/cc/internal/test_file_util.cc:52,1
    - Dst: CHECK
      Src: /src/tink/cc/internal/test_file_util.cc:53,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_file_util.cc:54,1
    - Dst: testing::TestInfo*::test_suite_name
      Src: /src/tink/cc/internal/test_file_util.cc:55,1
    - Dst: testing::TestInfo*::name
      Src: /src/tink/cc/internal/test_file_util.cc:56,1
    - Dst: testing::TestInfo*::value_param
      Src: /src/tink/cc/internal/test_file_util.cc:61,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/internal/test_file_util.cc:63,1
    - Dst: testing::TestInfo*::test_suite_name
      Src: /src/tink/cc/internal/test_file_util.cc:63,1
    - Dst: CHECK_GE
      Src: /src/tink/cc/internal/test_file_util.cc:64,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/test_file_util.cc:64,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/internal/test_file_util.cc:67,1
    - Dst: testing::TestInfo*::name
      Src: /src/tink/cc/internal/test_file_util.cc:67,1
    - Dst: CHECK_GE
      Src: /src/tink/cc/internal/test_file_util.cc:68,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/test_file_util.cc:68,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/test_file_util.cc:71,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/internal/test_file_util.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::GetTestFileNamePrefix
    functionSourceFile: /src/tink/cc/internal/test_file_util.cc
    functionUses: 0
    functionsReached:
    - testing::TestInfo*::value_param
    - std::vector::size
    - absl::BytesToHexString
    - testing::UnitTest::GetInstance
    - CHECK_GE
    - absl::StrSplit
    - absl::StrCat
    - testing::TestInfo*::name
    - crypto::tink::subtle::Random::GetRandomBytes
    - testing::TestInfo*::test_suite_name
    - CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string GetTestFileNamePrefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:44,1
    - Dst: key_type_info_store_::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:47,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_manager
    - ' config'
    argTypes:
    - std::unique_ptr<KM>
    - crypto::tink::KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl.h
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - key_type_info_store_::AddKeyTypeManager
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddKeyTypeManager(\n      std::unique_ptr<KM>
      key_manager,\n      crypto::tink::KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:57,1
    - Dst: key_type_info_store_::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:60,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:61,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - private_key_manager
    - public_key_manager
    - ' config'
    argTypes:
    - std::unique_ptr<PrivateKM>
    - std::unique_ptr<PublicKM>
    - crypto::tink::KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - key_type_info_store_::AddAsymmetricKeyTypeManagers
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddAsymmetricKeyManagers(\n      std::unique_ptr<PrivateKM>
      private_key_manager,\n      std::unique_ptr<PublicKM> public_key_manager,\n
      \     crypto::tink::KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:70,1
    - Dst: key_type_info_store_::AddKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:73,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_manager
    - ' config'
    argTypes:
    - std::unique_ptr<KeyManager<P>>
    - crypto::tink::KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - key_type_info_store_::AddKeyManager
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddLegacyKeyManager(\n      std::unique_ptr<KeyManager<P>>
      key_manager,\n      crypto::tink::KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore*>"
    signature: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore*>
      GetKeyTypeInfoStore(const crypto::tink::KeyGenConfiguration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_type_info_store_::IsEmpty
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:90,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:91,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl.h:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - key_type_info_store_::IsEmpty
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status SetGlobalRegistryMode(\n      crypto::tink::KeyGenConfiguration&
      config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IsInGlobalRegistryMode(\n      const crypto::tink::KeyGenConfiguration&
      config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:69,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/ec_util.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - group
    - point
    - conversion_form
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    - point_conversion_form_t
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::SslEcPointEncode
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::ResizeStringUninitialized
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> SslEcPointEncode(\n    EC_GROUP *group,
      const EC_POINT *point,\n    point_conversion_form_t conversion_form)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/ec_util.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:92,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/ec_util.cc:94,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:96,1
    - Dst: EC_POINT_set_affine_coordinates_GFp
      Src: /src/tink/cc/internal/ec_util.cc:101,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:101,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:101,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:103,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - group
    - pubx
    - puby
    argTypes:
    - EC_GROUP*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: crypto::tink::internal::SslGetEcPointFromCoordinates
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - EC_POINT_set_affine_coordinates_GFp
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<SslUniquePtr<EC_POINT>>
    signature: "util::StatusOr<SslUniquePtr<EC_POINT>> SslGetEcPointFromCoordinates(\n
      \   const EC_GROUP *group, absl::string_view pubx, absl::string_view puby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:115,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:117,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/internal/ec_util.cc:117,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:119,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:120,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:121,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util.cc:125,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:126,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/ec_util.cc:129,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:130,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:131,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/ec_util.cc:131,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/internal/ec_util.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:138,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/internal/ec_util.cc:142,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/internal/ec_util.cc:143,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:144,1
    - Dst: EC_POINT_new
      Src: /src/tink/cc/internal/ec_util.cc:149,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:149,1
    - Dst: EC_POINT_oct2point
      Src: /src/tink/cc/internal/ec_util.cc:150,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:150,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:150,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/internal/ec_util.cc:151,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/ec_util.cc:151,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/ec_util.cc:152,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:153,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/tink/cc/internal/ec_util.cc:157,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:157,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:157,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:158,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - curve
    - format
    - encoded
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 162
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 162
    functionName: crypto::tink::internal::SslGetEcPointFromEncoded
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - util::StatusOr::get
    - SslUniquePtr::get
    - absl::string_view::size
    - util::StatusOr::status
    - EC_POINT_oct2point
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::subtle::EnumToString
    - util::StatusOr::ok
    - EC_POINT_is_on_curve
    - absl::StrCat
    - static_cast<int>
    - absl::string_view::data
    - EC_POINT_new
    linkageType: ''
    returnType: util::StatusOr<SslUniquePtr<EC_POINT>>
    signature: "util::StatusOr<SslUniquePtr<EC_POINT>> SslGetEcPointFromEncoded(\n
      \   EllipticCurveType curve, EcPointFormat format, absl::string_view encoded)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/ec_util.cc:175,1
    - Dst: BN_new
      Src: /src/tink/cc/internal/ec_util.cc:175,1
    - Dst: SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/ec_util.cc:176,1
    - Dst: BN_new
      Src: /src/tink/cc/internal/ec_util.cc:176,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:179,1
    - Dst: EC_POINT_get_affine_coordinates_GFp
      Src: /src/tink/cc/internal/ec_util.cc:182,1
    - Dst: EcPointCoordinates::x::get
      Src: /src/tink/cc/internal/ec_util.cc:182,1
    - Dst: EcPointCoordinates::y::get
      Src: /src/tink/cc/internal/ec_util.cc:183,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:184,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - group
    - point
    argTypes:
    - EC_GROUP*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: crypto::tink::internal::SslGetEcPointCoordinates
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - BN_new
    - std::move
    - SslUniquePtr<BIGNUM>
    - EcPointCoordinates::y::get
    - EC_POINT_get_affine_coordinates_GFp
    - EcPointCoordinates::x::get
    linkageType: ''
    returnType: util::StatusOr<EcPointCoordinates>
    signature: "util::StatusOr<EcPointCoordinates> SslGetEcPointCoordinates(\n    const
      EC_GROUP *group, const EC_POINT *point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/ec_util.cc:191,1
    - Dst: EC_GROUP_get0_order
      Src: /src/tink/cc/internal/ec_util.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: crypto::tink::internal::ScalarSizeInBytes
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - EC_GROUP_get0_order
    - BN_num_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ScalarSizeInBytes(const EC_GROUP *group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: crypto::tink::internal::SslEcFieldSizeInBytes
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t SslEcFieldSizeInBytes(const EC_GROUP *group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:209,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:211,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/tink/cc/internal/ec_util.cc:214,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:214,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:215,1
    - Dst: EVP_PKEY_keygen
      Src: /src/tink/cc/internal/ec_util.cc:218,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:218,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:219,1
    - Dst: SslUniquePtr<EVP_PKEY>
      Src: /src/tink/cc/internal/ec_util.cc:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - SslEvpPkeyType
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: crypto::tink::internal::SslNewEvpKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - EVP_PKEY_keygen_init
    - crypto::tink::internal::ExtractStatus
    - SslUniquePtr<EVP_PKEY>
    - EVP_PKEY_keygen
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<SslUniquePtr<EVP_PKEY>>
    signature: util::StatusOr<SslUniquePtr<EVP_PKEY>> SslNewEvpKey(SslEvpPkeyType
      key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/tink/cc/internal/ec_util.cc:231,1
    - Dst: absl::Span<uint8_t>::data
      Src: /src/tink/cc/internal/ec_util.cc:231,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:232,1
    - Dst: absl::Span<uint8_t>::size
      Src: /src/tink/cc/internal/ec_util.cc:235,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:236,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:237,1
    - Dst: absl::Span<uint8_t>::size
      Src: /src/tink/cc/internal/ec_util.cc:238,1
    - Dst: absl::Span<uint8_t>::size
      Src: /src/tink/cc/internal/ec_util.cc:241,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/tink/cc/internal/ec_util.cc:242,1
    - Dst: absl::Span<uint8_t>::data
      Src: /src/tink/cc/internal/ec_util.cc:242,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:243,1
    - Dst: absl::Span<uint8_t>::size
      Src: /src/tink/cc/internal/ec_util.cc:246,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:247,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:248,1
    - Dst: absl::Span<uint8_t>::size
      Src: /src/tink/cc/internal/ec_util.cc:249,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/ec_util.cc:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - key_type
    - evp_key
    - priv_key
    - pub_key
    argTypes:
    - SslEvpPkeyType
    - EVP_PKEY
    - absl::Span<uint8_t>
    - absl::Span<uint8_t>
    constantsTouched: []
    func_position:
      end: 253
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 253
    functionName: crypto::tink::internal::SslNewKeyPairFromEcKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_raw_private_key
    - crypto::tink::internal::ExtractStatus
    - EVP_PKEY_get_raw_public_key
    - absl::Span<uint8_t>::data
    - absl::Span<uint8_t>::size
    - absl::StrCat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SslNewKeyPairFromEcKey(SslEvpPkeyType key_type,\n                                    const
      EVP_PKEY &evp_key,\n                                    absl::Span<uint8_t>
      priv_key,\n                                    absl::Span<uint8_t> pub_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:258,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:264,1
    - Dst: std::string
      Src: /src/tink/cc/internal/ec_util.cc:266,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tink/cc/internal/ec_util.cc:266,1
    - Dst: OPENSSL_free
      Src: /src/tink/cc/internal/ec_util.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ecdsa_signature
    argTypes:
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: crypto::tink::internal::SslEcdsaSignatureToBytes
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<char *>
    - std::string
    - OPENSSL_free
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> SslEcdsaSignatureToBytes(\n    const ECDSA_SIG
      *ecdsa_signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:275,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:276,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:277,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/tink/cc/internal/ec_util.cc:279,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/tink/cc/internal/ec_util.cc:280,1
    - Dst: crypto::tink::internal::SslGetEcPointCoordinates
      Src: /src/tink/cc/internal/ec_util.cc:283,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:283,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:284,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:285,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/ec_util.cc:291,1
    - Dst: util::StatusOr::x::get
      Src: /src/tink/cc/internal/ec_util.cc:291,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:292,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:293,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/ec_util.cc:296,1
    - Dst: util::StatusOr::y::get
      Src: /src/tink/cc/internal/ec_util.cc:296,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:297,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:298,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/ec_util.cc:301,1
    - Dst: crypto::tink::internal::ScalarSizeInBytes
      Src: /src/tink/cc/internal/ec_util.cc:301,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:301,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:302,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:303,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:307,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:308,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - curve
    - key
    argTypes:
    - EllipticCurveType
    - EC_KEY
    constantsTouched: []
    func_position:
      end: 312
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 312
    functionName: crypto::tink::internal::EcKeyFromSslEcKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - EC_KEY_get0_private_key
    - EC_KEY_get0_public_key
    - util::StatusOr::status
    - crypto::tink::internal::SslGetEcPointCoordinates
    - crypto::tink::internal::ScalarSizeInBytes
    - std::move
    - crypto::tink::internal::BignumToSecretData
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - util::StatusOr::y::get
    - util::StatusOr::x::get
    linkageType: ''
    returnType: util::StatusOr<EcKey>
    signature: "util::StatusOr<EcKey> EcKeyFromSslEcKey(EllipticCurveType curve,\n
      \                                       const EC_KEY &key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:319,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:320,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:321,1
    - Dst: crypto::tink::internal::SslEcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util.cc:323,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: crypto::tink::internal::EcFieldSizeInBytes
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::SslEcFieldSizeInBytes
    - util::StatusOr::status
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<int32_t>
    signature: util::StatusOr<int32_t> EcFieldSizeInBytes(EllipticCurveType curve_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util.cc:328,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:329,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:330,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:336,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:337,1
    - Dst: EnumToString
      Src: /src/tink/cc/internal/ec_util.cc:338,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:348,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:350,1
    - Dst: EnumToString
      Src: /src/tink/cc/internal/ec_util.cc:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - curve_type
    - point_format
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 353
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 353
    functionName: crypto::tink::internal::EcPointEncodingSizeInBytes
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 1
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - absl::StrCat
    - EnumToString
    - crypto::tink::internal::EcFieldSizeInBytes
    linkageType: ''
    returnType: util::StatusOr<int32_t>
    signature: "util::StatusOr<int32_t> EcPointEncodingSizeInBytes(EllipticCurveType
      curve_type,\n                                                   EcPointFormat
      point_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/internal/ec_util.cc:357,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:358,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:359,1
    - Dst: crypto::tink::internal::EcKeyFromX25519Key
      Src: /src/tink/cc/internal/ec_util.cc:361,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:361,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:364,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:365,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:366,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:370,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:371,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/internal/ec_util.cc:373,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:373,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:373,1
    - Dst: EC_KEY_generate_key
      Src: /src/tink/cc/internal/ec_util.cc:374,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:374,1
    - Dst: crypto::tink::internal::EcKeyFromSslEcKey
      Src: /src/tink/cc/internal/ec_util.cc:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 376
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 376
    functionName: crypto::tink::internal::NewEcKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcKeyFromX25519Key
    - util::StatusOr::get
    - SslUniquePtr::get
    - crypto::tink::internal::NewX25519Key
    - EC_KEY_set_group
    - util::StatusOr::status
    - EC_KEY_generate_key
    - crypto::tink::internal::EcKeyFromSslEcKey
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<EcKey>
    signature: util::StatusOr<EcKey> NewEcKey(EllipticCurveType curve_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:384,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:388,1
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/ec_util.cc:392,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:393,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:398,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:403,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:404,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:405,1
    - Dst: EC_KEY_derive_from_secret
      Src: /src/tink/cc/internal/ec_util.cc:407,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:408,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/internal/ec_util.cc:408,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/internal/ec_util.cc:408,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:409,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:410,1
    - Dst: crypto::tink::internal::EcKeyFromSslEcKey
      Src: /src/tink/cc/internal/ec_util.cc:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - curve_type
    - secret_seed
    argTypes:
    - EllipticCurveType
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 415
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 415
    functionName: crypto::tink::internal::NewEcKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - util::StatusOr::get
    - crypto::tink::internal::EcKeyFromSslEcKey
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - crypto::tink::internal::IsFipsModeEnabled
    - util::SecretData::data
    - util::SecretData::size
    - EC_KEY_derive_from_secret
    linkageType: ''
    returnType: util::StatusOr<EcKey>
    signature: "util::StatusOr<EcKey> NewEcKey(EllipticCurveType curve_type,\n                               const
      util::SecretData &secret_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SslNewEvpKey
      Src: /src/tink/cc/internal/ec_util.cc:419,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:420,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:421,1
    - Dst: absl::make_unique<X25519Key>
      Src: /src/tink/cc/internal/ec_util.cc:424,1
    - Dst: crypto::tink::internal::SslNewKeyPairFromEcKey
      Src: /src/tink/cc/internal/ec_util.cc:425,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:427,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:427,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:428,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util.cc:428,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/ec_util.cc:429,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 433
    functionName: crypto::tink::internal::NewX25519Key
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::SslNewEvpKey
    - crypto::tink::internal::SslNewKeyPairFromEcKey
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::StatusOr::status
    - util::Status::ok
    - std::move
    - absl::make_unique<X25519Key>
    - util::StatusOr::ok
    - absl::MakeSpan
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<X25519Key>>
    signature: util::StatusOr<std::unique_ptr<X25519Key>> NewX25519Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/internal/ec_util.cc:440,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/internal/ec_util.cc:440,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util.cc:441,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/ec_util.cc:442,1
    - Dst: std::begin
      Src: /src/tink/cc/internal/ec_util.cc:442,1
    - Dst: std::end
      Src: /src/tink/cc/internal/ec_util.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x25519_key
    argTypes:
    - X25519Key*
    constantsTouched: []
    func_position:
      end: 445
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 445
    functionName: crypto::tink::internal::EcKeyFromX25519Key
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 1
    functionsReached:
    - std::string
    - std::end
    - reinterpret_cast<const char *>
    - crypto::tink::internal::BignumToSecretData
    - std::begin
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: EcKey
    signature: EcKey EcKeyFromX25519Key(const X25519Key *x25519_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/internal/ec_util.cc:449,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:449,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/internal/ec_util.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: crypto::tink::internal::NewEd25519Key
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Ed25519Key>>
    signature: util::StatusOr<std::unique_ptr<Ed25519Key>> NewEd25519Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::SecretData::size
      Src: /src/tink/cc/internal/ec_util.cc:455,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:455,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:456,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:458,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/internal/ec_util.cc:458,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:459,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/internal/ec_util.cc:465,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/internal/ec_util.cc:466,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:467,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:469,1
    - Dst: absl::make_unique<Ed25519Key>
      Src: /src/tink/cc/internal/ec_util.cc:473,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/ec_util.cc:474,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:474,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/ec_util.cc:475,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util.cc:475,1
    - Dst: crypto::tink::internal::SslNewKeyPairFromEcKey
      Src: /src/tink/cc/internal/ec_util.cc:479,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:481,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:481,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:482,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util.cc:482,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/ec_util.cc:483,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - secret_seed
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 487
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 487
    functionName: crypto::tink::internal::NewEd25519Key
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::SslNewKeyPairFromEcKey
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - util::Status::ok
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::make_unique<Ed25519Key>
    - util::SecretData::data
    - absl::StrCat
    - util::SecretData::size
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Ed25519Key>>
    signature: "util::StatusOr<std::unique_ptr<Ed25519Key>> NewEd25519Key(\n    const
      util::SecretData &secret_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<X25519Key>
      Src: /src/tink/cc/internal/ec_util.cc:491,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:493,1
    - Dst: EcKey::pub_y::empty
      Src: /src/tink/cc/internal/ec_util.cc:496,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:497,1
    - Dst: std::copy_n
      Src: /src/tink/cc/internal/ec_util.cc:501,1
    - Dst: EcKey::pub_x::begin
      Src: /src/tink/cc/internal/ec_util.cc:501,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util.cc:501,1
    - Dst: std::begin
      Src: /src/tink/cc/internal/ec_util.cc:502,1
    - Dst: std::copy_n
      Src: /src/tink/cc/internal/ec_util.cc:503,1
    - Dst: EcKey::priv::begin
      Src: /src/tink/cc/internal/ec_util.cc:503,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:503,1
    - Dst: std::begin
      Src: /src/tink/cc/internal/ec_util.cc:504,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ec_key
    argTypes:
    - EcKey
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: crypto::tink::internal::X25519KeyFromEcKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - EcKey::priv::begin
    - EcKey::pub_x::begin
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::internal::ExtractStatus
    - std::move
    - std::copy_n
    - absl::make_unique<X25519Key>
    - std::begin
    - EcKey::pub_y::empty
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<X25519Key>>
    signature: "util::StatusOr<std::unique_ptr<X25519Key>> X25519KeyFromEcKey(\n    const
      EcKey &ec_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_id
      Src: /src/tink/cc/internal/ec_util.cc:511,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:512,1
    - Dst: EVP_PKEY_id
      Src: /src/tink/cc/internal/ec_util.cc:515,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:516,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/tink/cc/internal/ec_util.cc:524,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:524,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/tink/cc/internal/ec_util.cc:525,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:525,1
    - Dst: EVP_PKEY_derive
      Src: /src/tink/cc/internal/ec_util.cc:526,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:526,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/internal/ec_util.cc:526,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - private_key
    - peer_public_key
    argTypes:
    - EVP_PKEY*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 531
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 531
    functionName: crypto::tink::internal::ComputeX25519SharedSecret
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - EVP_PKEY_derive
    - EVP_PKEY_derive_init
    - util::SecretData::data
    - EVP_PKEY_derive_set_peer
    - EVP_PKEY_id
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> ComputeX25519SharedSecret(\n    EVP_PKEY
      *private_key, EVP_PKEY *peer_public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::SecretData::size
      Src: /src/tink/cc/internal/ec_util.cc:535,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:535,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:536,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/internal/ec_util.cc:541,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/internal/ec_util.cc:542,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/internal/ec_util.cc:542,1
    - Dst: absl::make_unique<X25519Key>
      Src: /src/tink/cc/internal/ec_util.cc:543,1
    - Dst: crypto::tink::internal::SslNewKeyPairFromEcKey
      Src: /src/tink/cc/internal/ec_util.cc:544,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:546,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util.cc:546,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:547,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util.cc:547,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/ec_util.cc:548,1
    - Dst: std::move
      Src: /src/tink/cc/internal/ec_util.cc:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 552
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 552
    functionName: crypto::tink::internal::X25519KeyFromPrivateKey
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::SslNewKeyPairFromEcKey
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::make_unique<X25519Key>
    - util::SecretData::data
    - util::SecretData::size
    - absl::MakeSpan
    - crypto::tink::internal::X25519KeyPubKeySize
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<X25519Key>>
    signature: "util::StatusOr<std::unique_ptr<X25519Key>> X25519KeyFromPrivateKey(\n
      \   const util::SecretData &private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:557,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:558,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:559,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/tink/cc/internal/ec_util.cc:561,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:561,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:562,1
    - Dst: crypto::tink::internal::SslEcPointEncode
      Src: /src/tink/cc/internal/ec_util.cc:566,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:566,1
    - Dst: crypto::tink::internal::SslEcPointEncode
      Src: /src/tink/cc/internal/ec_util.cc:570,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:570,1
    - Dst: crypto::tink::internal::SslGetEcPointCoordinates
      Src: /src/tink/cc/internal/ec_util.cc:574,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:574,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:575,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:576,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/ec_util.cc:580,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/ec_util.cc:581,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:582,1
    - Dst: util::StatusOr::x::get
      Src: /src/tink/cc/internal/ec_util.cc:583,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/ec_util.cc:584,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:585,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:587,1
    - Dst: util::Status::message
      Src: /src/tink/cc/internal/ec_util.cc:587,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/ec_util.cc:590,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util.cc:591,1
    - Dst: util::StatusOr::y::get
      Src: /src/tink/cc/internal/ec_util.cc:592,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/ec_util.cc:593,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:594,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:596,1
    - Dst: util::Status::message
      Src: /src/tink/cc/internal/ec_util.cc:596,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - curve
    - format
    - point
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 604
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 604
    functionName: crypto::tink::internal::EcPointEncode
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::SslGetEcPointCoordinates
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::BignumToBinaryPadded
    - util::StatusOr::ok
    - crypto::tink::internal::SslEcPointEncode
    - EC_POINT_is_on_curve
    - util::Status::message
    - absl::StrCat
    - util::StatusOr::y::get
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    - util::StatusOr::x::get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EcPointEncode(EllipticCurveType curve,\n
      \                                         EcPointFormat format,\n                                          const
      EC_POINT *point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SslGetEcPointFromEncoded
      Src: /src/tink/cc/internal/ec_util.cc:611,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:614,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:615,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:616,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/ec_util.cc:619,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:620,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:622,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/ec_util.cc:622,1
    - Dst: crypto::tink::internal::SslGetEcPointFromCoordinates
      Src: /src/tink/cc/internal/ec_util.cc:627,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:627,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/ec_util.cc:628,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/ec_util.cc:629,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - curve
    - format
    - encoded
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 634
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 634
    functionName: crypto::tink::internal::EcPointDecode
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::SslGetEcPointFromCoordinates
    - util::StatusOr::ok
    - absl::string_view::substr
    - absl::StrCat
    - crypto::tink::internal::SslGetEcPointFromEncoded
    linkageType: ''
    returnType: util::StatusOr<SslUniquePtr<EC_POINT>>
    signature: "util::StatusOr<SslUniquePtr<EC_POINT>> EcPointDecode(\n    EllipticCurveType
      curve, EcPointFormat format, absl::string_view encoded)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util.cc:641,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util.cc:645,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util.cc:649,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:653,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:657,1
    - Dst: SslUniquePtr<EC_GROUP>
      Src: /src/tink/cc/internal/ec_util.cc:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 661
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 661
    functionName: crypto::tink::internal::EcGroupFromCurveType
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 7
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EC_GROUP_new_by_curve_name
    - SslUniquePtr<EC_GROUP>
    linkageType: ''
    returnType: util::StatusOr<SslUniquePtr<EC_GROUP>>
    signature: "util::StatusOr<SslUniquePtr<EC_GROUP>> EcGroupFromCurveType(\n    EllipticCurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:665,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/tink/cc/internal/ec_util.cc:668,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 679
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 679
    functionName: crypto::tink::internal::CurveTypeFromEcGroup
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EC_GROUP_get_curve_name
    linkageType: ''
    returnType: util::StatusOr<EllipticCurveType>
    signature: util::StatusOr<EllipticCurveType> CurveTypeFromEcGroup(const EC_GROUP
      *group)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:684,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:685,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:686,1
    - Dst: crypto::tink::internal::SslGetEcPointFromCoordinates
      Src: /src/tink/cc/internal/ec_util.cc:688,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - curve
    - pubx
    - puby
    argTypes:
    - EllipticCurveType
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 689
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 689
    functionName: crypto::tink::internal::GetEcPoint
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::SslGetEcPointFromCoordinates
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<SslUniquePtr<EC_POINT>>
    signature: "util::StatusOr<SslUniquePtr<EC_POINT>> GetEcPoint(EllipticCurveType
      curve,\n                                                  absl::string_view
      pubx,\n                                                  absl::string_view puby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util.cc:694,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:695,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:696,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/tink/cc/internal/ec_util.cc:698,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:698,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:699,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:700,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/internal/ec_util.cc:701,1
    - Dst: EC_POINT_new
      Src: /src/tink/cc/internal/ec_util.cc:706,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:706,1
    - Dst: EC_POINT_mul
      Src: /src/tink/cc/internal/ec_util.cc:707,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:707,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:707,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:709,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/tink/cc/internal/ec_util.cc:712,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:712,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:712,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:714,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util.cc:715,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/internal/ec_util.cc:716,1
    - Dst: crypto::tink::internal::SslGetEcPointCoordinates
      Src: /src/tink/cc/internal/ec_util.cc:720,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:720,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:720,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:721,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:722,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/ec_util.cc:726,1
    - Dst: util::StatusOr::x::get
      Src: /src/tink/cc/internal/ec_util.cc:726,1
    - Dst: crypto::tink::internal::SslEcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util.cc:727,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - curve
    - priv_key
    - pub_key
    argTypes:
    - EllipticCurveType
    - BIGNUM*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 728
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 728
    functionName: crypto::tink::internal::ComputeEcdhSharedSecret
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - EC_POINT_mul
    - util::StatusOr::status
    - crypto::tink::internal::SslGetEcPointCoordinates
    - crypto::tink::internal::SslEcFieldSizeInBytes
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - crypto::tink::internal::BignumToSecretData
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - crypto::tink::subtle::EnumToString
    - EC_POINT_is_on_curve
    - absl::StrCat
    - EC_POINT_new
    - util::StatusOr::x::get
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> ComputeEcdhSharedSecret(\n    EllipticCurveType
      curve, const BIGNUM *priv_key, const EC_POINT *pub_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/ec_util.cc:733,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:734,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/ec_util.cc:738,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/ec_util.cc:738,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:739,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:740,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/ec_util.cc:743,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/ec_util.cc:743,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util.cc:744,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util.cc:745,1
    - Dst: ECDSA_SIG_set0
      Src: /src/tink/cc/internal/ec_util.cc:748,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:748,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:748,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util.cc:748,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/ec_util.cc:749,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/ec_util.cc:752,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/ec_util.cc:753,1
    - Dst: crypto::tink::internal::SslEcdsaSignatureToBytes
      Src: /src/tink/cc/internal/ec_util.cc:755,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util.cc:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - group
    - ieee_sig
    argTypes:
    - EC_GROUP*
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 756
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 756
    functionName: crypto::tink::internal::EcSignatureIeeeToDer
    functionSourceFile: /src/tink/cc/internal/ec_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::SslEcdsaSignatureToBytes
    - util::StatusOr::get
    - absl::string_view::size
    - util::StatusOr::status
    - ECDSA_SIG_set0
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - absl::string_view::substr
    - util::StatusOr::ok
    - util::StatusOr::release
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EcSignatureIeeeToDer(const EC_GROUP *group,\n
      \                                                absl::string_view ieee_sig)"
  - 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: ~KeysetWrapper()
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeysetWrapper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SerializerIndex::SerializerIndex
      Src: /src/tink/cc/internal/serializer_index.h:37,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serializer_index.h:37,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serializer_index.h:37,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serializer_index.h:38,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serializer_index.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: crypto::tink::internal::SerializerIndex::Create
    functionSourceFile: /src/tink/cc/internal/serializer_index.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::SerializerIndex::SerializerIndex
    - typeid
    - std::type_index
    linkageType: ''
    returnType: SerializerIndex
    signature: SerializerIndex Create()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SerializerIndex::SerializerIndex
      Src: /src/tink/cc/internal/serializer_index.h:45,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serializer_index.h:45,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serializer_index.h:45,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serializer_index.h:46,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serializer_index.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: crypto::tink::internal::SerializerIndex::Create
    functionSourceFile: /src/tink/cc/internal/serializer_index.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::SerializerIndex::SerializerIndex
    - typeid
    - std::type_index
    linkageType: ''
    returnType: SerializerIndex
    signature: SerializerIndex Create(const Parameters& parameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SerializerIndex::SerializerIndex
      Src: /src/tink/cc/internal/serializer_index.h:53,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serializer_index.h:53,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serializer_index.h:53,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serializer_index.h:54,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serializer_index.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::SerializerIndex::Create
    functionSourceFile: /src/tink/cc/internal/serializer_index.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::SerializerIndex::SerializerIndex
    - typeid
    - std::type_index
    linkageType: ''
    returnType: SerializerIndex
    signature: SerializerIndex Create(const Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SerializerIndex
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: operator==(const SerializerIndex& other) const
    functionSourceFile: /src/tink/cc/internal/serializer_index.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SerializerIndex& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tink/cc/internal/serializer_index.h:66,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serializer_index.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' index'
    argTypes:
    - H
    - SerializerIndex
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: crypto::tink::internal::SerializerIndex::AbslHashValue
    functionSourceFile: /src/tink/cc/internal/serializer_index.h
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const SerializerIndex& index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kp_index
    - serialization_index
    argTypes:
    - std::type_index
    - std::type_index
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::SerializerIndex::SerializerIndex
    functionSourceFile: /src/tink/cc/internal/serializer_index.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerializerIndex(std::type_index kp_index, std::type_index serialization_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/call_with_core_dump_protection_test.cc:26,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/internal/call_with_core_dump_protection_test.cc:26,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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/call_with_core_dump_protection_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CallWithCoreDumpProtectionTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/call_with_core_dump_protection_test.cc:34,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/internal/call_with_core_dump_protection_test.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/call_with_core_dump_protection_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(CallWithCoreDumpProtectionTest, WithCapture)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Runfiles::CreateForTest
      Src: /src/tink/cc/internal/test_file_util_bazel.cc:34,1
    - Dst: exit
      Src: /src/tink/cc/internal/test_file_util_bazel.cc:37,1
    - Dst: exit
      Src: /src/tink/cc/internal/test_file_util_bazel.cc:43,1
    - Dst: std::unique_ptr::Rlocation
      Src: /src/tink/cc/internal/test_file_util_bazel.cc:46,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/test_file_util_bazel.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: crypto::tink::internal::RunfilesPath
    functionSourceFile: /src/tink/cc/internal/test_file_util_bazel.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::unique_ptr::Rlocation
    - exit
    - Runfiles::CreateForTest
    linkageType: ''
    returnType: std::string
    signature: std::string RunfilesPath(absl::string_view path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::FakePrimitive::FakePrimitive
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePrimitive(std::string s)
  - 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: crypto::tink::internal::FakePrimitive::get
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: crypto::tink::internal::FakePrimitive2::FakePrimitive2
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePrimitive2(std::string s)
  - 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: crypto::tink::internal::FakePrimitive2::get
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:97,1
    - Dst: key_value
      Src: /src/tink/cc/internal/configuration_impl_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: crypto::tink::internal::FakeKeyTypeManager::FakePrimitiveFactory::Create
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - key_value
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitiveFactory>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: crypto::tink::internal::FakeKeyTypeManager::FakeKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakePrimitiveFactory>
    linkageType: ''
    returnType: void
    signature: void FakeKeyTypeManager()
  - 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: crypto::tink::internal::FakeKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() 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: crypto::tink::internal::FakeKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: crypto::tink::internal::FakeKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const AesGcmKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::FakeKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat& key_format)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/internal/configuration_impl_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: crypto::tink::internal::FakeKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/internal/configuration_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: crypto::tink::internal::FakeKeyTypeManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:144,1
    - Dst: std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
      Src: /src/tink/cc/internal/configuration_impl_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: crypto::tink::internal::FakePrimitiveWrapper::Wrap
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Wrap(\n      std::unique_ptr<PrimitiveSet<FakePrimitive>>
      primitive_set)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:156,1
    - Dst: std::unique_ptr<PrimitiveSet<FakePrimitive2>>::get_primary
      Src: /src/tink/cc/internal/configuration_impl_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<FakePrimitive2>>
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: crypto::tink::internal::FakePrimitiveWrapper2::Wrap
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<FakePrimitive2>>::get_primary
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Wrap(\n      std::unique_ptr<PrimitiveSet<FakePrimitive2>>
      primitive_set)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/internal/configuration_impl_test.cc:165,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/internal/configuration_impl_test.cc:166,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/configuration_impl_test.cc:166,1
    - Dst: KeyData::set_value
      Src: /src/tink/cc/internal/configuration_impl_test.cc:168,1
    - Dst: AesGcmKey::SerializeAsString
      Src: /src/tink/cc/internal/configuration_impl_test.cc:168,1
    - Dst: KeyData::set_type_url
      Src: /src/tink/cc/internal/configuration_impl_test.cc:169,1
    - Dst: crypto::tink::test::AddKeyData
      Src: /src/tink/cc/internal/configuration_impl_test.cc:170,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/configuration_impl_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' keyset'
    - key_id
    - output_prefix_type
    - key_status_type
    argTypes:
    - Keyset
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: crypto::tink::internal::AddAesGcmKeyToKeyset
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - KeyData::set_type_url
    - AesGcmKey::key_value
    - KeyData::set_value
    - crypto::tink::test::AddKeyData
    - AesGcmKey::SerializeAsString
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: std::string
    signature: "std::string AddAesGcmKeyToKeyset(Keyset& keyset, uint32_t key_id,\n
      \                                OutputPrefixType output_prefix_type,\n                                 KeyStatusType
      key_status_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:177,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:177,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, AddPrimitiveWrapper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:184,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:184,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakeKeyTypeManager>
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, AddKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:192,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:192,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
    - IsOk
    - crypto::tink::internal::MakeKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, AddLegacyKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:199,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:199,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:203,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - absl::make_unique<FakeKeyTypeManager>
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GetKeyTypeInfoStore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:208,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:208,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:210,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:214,1
    - Dst: FakeKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:215,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:217,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/configuration_impl_test.cc:222,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/configuration_impl_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - FakeKeyTypeManager
    - get_key_type
    - ASSERT_THAT
    - Get
    - absl::make_unique<FakeKeyTypeManager>
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - get_key_manager
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GetKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:228,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:228,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:230,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:234,1
    - Dst: FakeKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:235,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:237,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/configuration_impl_test.cc:242,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/configuration_impl_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 243
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
    - crypto::tink::internal::MakeKeyManager
    - EXPECT_EQ
    - IsOk
    - FakeKeyTypeManager
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - get_key_manager
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GetLegacyKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:250,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:250,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 252
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GetMissingKeyManagerFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:256,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:256,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:259,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:259,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:261,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:265,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:268,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/configuration_impl_test.cc:271,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/configuration_impl_test.cc:273,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/configuration_impl_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/configuration_impl_test.cc:278,1
    - Dst: get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - EXPECT_EQ
    - IsOk
    - Keyset::set_primary_key_id
    - ASSERT_THAT
    - Get
    - absl::make_unique<FakeKeyTypeManager>
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - Wrap
    - get
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GetKeysetWrapperStoreAndWrap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:283,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:283,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:285,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:289,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:292,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/configuration_impl_test.cc:295,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/configuration_impl_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:299,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/configuration_impl_test.cc:299,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - IsOk
    - StatusIs
    - Keyset::set_primary_key_id
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - Wrap
    - EXPECT_THAT
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<FakePrimitiveWrapper>
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, KeysetWrapperWrapMissingKeyTypeInfoFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:306,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:306,1
    - Dst: absl::make_unique<FakePrimitiveWrapper2>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:310,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:310,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:312,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:319,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:322,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/configuration_impl_test.cc:325,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/configuration_impl_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:330,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/configuration_impl_test.cc:330,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 332
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakePrimitiveWrapper2>
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - IsOk
    - StatusIs
    - Keyset::set_primary_key_id
    - ASSERT_THAT
    - Get
    - absl::make_unique<FakeKeyTypeManager>
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - Wrap
    - EXPECT_THAT
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, KeysetWrapperWrapMissingKeyManagerFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyPublicKeySign>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: crypto::tink::internal::FakeSignKeyManager::PublicKeySignFactory::Create
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<test::DummyPublicKeySign>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> Create(\n        const
      RsaSsaPssPrivateKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: crypto::tink::internal::FakeSignKeyManager::FakeSignKeyManager
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void FakeSignKeyManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: crypto::tink::internal::FakeSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() 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: crypto::tink::internal::FakeSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl_test.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: crypto::tink::internal::FakeSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const RsaSsaPssPrivateKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: crypto::tink::internal::FakeSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyFormat(\n      const RsaSsaPssKeyFormat& key_format)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssPrivateKey
      Src: /src/tink/cc/internal/configuration_impl_test.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: crypto::tink::internal::FakeSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPrivateKey
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> CreateKey(\n      const RsaSsaPssKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssPrivateKey
      Src: /src/tink/cc/internal/configuration_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - RsaSsaPssKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: crypto::tink::internal::FakeSignKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPrivateKey
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> DeriveKey(\n      const RsaSsaPssKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/internal/configuration_impl_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: crypto::tink::internal::FakeSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPublicKey>
    signature: "util::StatusOr<RsaSsaPssPublicKey> GetPublicKey(\n      const RsaSsaPssPrivateKey&
      private_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyPublicKeyVerify>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: crypto::tink::internal::FakeVerifyKeyManager::PublicKeyVerifyFactory::Create
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<test::DummyPublicKeyVerify>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> Create(\n        const
      RsaSsaPssPublicKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: crypto::tink::internal::FakeVerifyKeyManager::FakeVerifyKeyManager
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void FakeVerifyKeyManager()
  - 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: crypto::tink::internal::FakeVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 405
    functionName: crypto::tink::internal::FakeVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl_test.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: crypto::tink::internal::FakeVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const RsaSsaPssPublicKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl_test.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - RsaSsaPssParams
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: crypto::tink::internal::FakeVerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateParams(const RsaSsaPssParams& params) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:423,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/internal/configuration_impl_test.cc:423,1
    - Dst: absl::make_unique<FakeSignKeyManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:424,1
    - Dst: absl::make_unique<FakeVerifyKeyManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:425,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - absl::make_unique<FakeVerifyKeyManager>
    - EXPECT_THAT
    - absl::make_unique<FakeSignKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, AddAsymmetricKeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:431,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/internal/configuration_impl_test.cc:431,1
    - Dst: absl::make_unique<FakeSignKeyManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:432,1
    - Dst: absl::make_unique<FakeVerifyKeyManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:433,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:434,1
    - Dst: FakeSignKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:437,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:439,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:440,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:440,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:442,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:443,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:443,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:446,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:447,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:447,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/configuration_impl_test.cc:448,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/configuration_impl_test.cc:448,1
    - Dst: FakeVerifyKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:451,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:454,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:454,1
    - Dst: Get
      Src: /src/tink/cc/internal/configuration_impl_test.cc:456,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:457,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:457,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:460,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:461,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/configuration_impl_test.cc:462,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/configuration_impl_test.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - FakeSignKeyManager
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - absl::make_unique<FakeVerifyKeyManager>
    - ASSERT_THAT
    - Get
    - FakeVerifyKeyManager
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - get_key_manager
    - absl::make_unique<FakeSignKeyManager>
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GetAsymmetricKeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/configuration_impl_test.cc:467,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:469,1
    - Dst: crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/internal/configuration_impl_test.cc:469,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:469,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/configuration_impl_test.cc:470,1
    - Dst: crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/internal/configuration_impl_test.cc:470,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:473,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:473,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:474,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:475,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:476,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:476,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:477,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:478,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:479,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/internal/configuration_impl_test.cc:479,1
    - Dst: absl::make_unique<FakeSignKeyManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:480,1
    - Dst: absl::make_unique<FakeVerifyKeyManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:481,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:482,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:484,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:484,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:485,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:486,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:487,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:487,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:488,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:489,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/internal/configuration_impl_test.cc:489,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:490,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/configuration_impl_test.cc:493,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/configuration_impl_test.cc:495,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/internal/configuration_impl_test.cc:497,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:498,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/internal/configuration_impl_test.cc:498,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:499,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:501,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:501,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:502,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:503,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:504,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl_test.cc:505,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:505,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:507,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:508,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/internal/configuration_impl_test.cc:508,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 509
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_THAT
    - crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
    - absl::make_unique<FakeSignKeyManager>
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - IsOk
    - Keyset::set_primary_key_id
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - crypto::tink::internal::MakeKeyManager
    - std::unique_ptr::GetPrimitive
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
    - StatusIs
    - crypto::tink::Registry::Reset
    - crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
    - absl::make_unique<FakeVerifyKeyManager>
    - absl::make_unique<FakeKeyTypeManager>
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GlobalRegistryMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:513,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/internal/configuration_impl_test.cc:513,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/configuration_impl_test.cc:514,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/configuration_impl_test.cc:515,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/configuration_impl_test.cc:516,1
    - Dst: crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/internal/configuration_impl_test.cc:516,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/configuration_impl_test.cc:517,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/configuration_impl_test.cc:518,1
    - Dst: crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/internal/configuration_impl_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
    - crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
    - EXPECT_THAT
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - EXPECT_FALSE
    - absl::make_unique<FakePrimitiveWrapper>
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigurationImplTest, GlobalRegistryModeWithNonEmptyConfigFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ParserIndex::ParserIndex
      Src: /src/tink/cc/internal/parser_index.h:36,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/parser_index.h:36,1
    - Dst: typeid
      Src: /src/tink/cc/internal/parser_index.h:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object_identifier
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: crypto::tink::internal::ParserIndex::Create
    functionSourceFile: /src/tink/cc/internal/parser_index.h
    functionUses: 0
    functionsReached:
    - typeid
    - crypto::tink::internal::ParserIndex::ParserIndex
    - std::type_index
    linkageType: ''
    returnType: ParserIndex
    signature: ParserIndex Create(absl::string_view object_identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ParserIndex::ParserIndex
      Src: /src/tink/cc/internal/parser_index.h:43,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/parser_index.h:43,1
    - Dst: typeid
      Src: /src/tink/cc/internal/parser_index.h:43,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/parser_index.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - Serialization
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: crypto::tink::internal::ParserIndex::Create
    functionSourceFile: /src/tink/cc/internal/parser_index.h
    functionUses: 0
    functionsReached:
    - typeid
    - crypto::tink::internal::ParserIndex::ParserIndex
    - std::type_index
    - ObjectIdentifier
    linkageType: ''
    returnType: ParserIndex
    signature: ParserIndex Create(const Serialization& serialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ParserIndex
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: operator==(const ParserIndex& other) const
    functionSourceFile: /src/tink/cc/internal/parser_index.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const ParserIndex& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: H::combine
      Src: /src/tink/cc/internal/parser_index.h:56,1
    - Dst: std::move
      Src: /src/tink/cc/internal/parser_index.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - ' index'
    argTypes:
    - H
    - ParserIndex
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::ParserIndex::AbslHashValue
    functionSourceFile: /src/tink/cc/internal/parser_index.h
    functionUses: 0
    functionsReached:
    - std::move
    - H::combine
    linkageType: ''
    returnType: H
    signature: H AbslHashValue(H h, const ParserIndex& index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - index
    - object_identifier
    argTypes:
    - std::type_index
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: crypto::tink::internal::ParserIndex::ParserIndex
    functionSourceFile: /src/tink/cc/internal/parser_index.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParserIndex(std::type_index index, absl::string_view object_identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/internal/legacy_proto_key.cc:42,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/legacy_proto_key.cc:43,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/legacy_proto_key.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - key_material_type
    - token
    argTypes:
    - KeyData::KeyMaterialType
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::CheckKeyAccess
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.cc
    functionUses: 0
    functionsReached:
    - absl::optional<SecretKeyAccessToken>::has_value
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status CheckKeyAccess(KeyData::KeyMaterialType key_material_type,\n
      \                           absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const UnusableLegacyProtoParameters*>
      Src: /src/tink/cc/internal/legacy_proto_key.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: UnusableLegacyProtoParameters::operator==(const Parameters& other)
      const
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const UnusableLegacyProtoParameters*>
    linkageType: ''
    returnType: bool
    signature: bool UnusableLegacyProtoParameters::operator==(const Parameters& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckKeyAccess
      Src: /src/tink/cc/internal/legacy_proto_key.cc:67,1
    - Dst: ProtoKeySerialization::KeyMaterialType
      Src: /src/tink/cc/internal/legacy_proto_key.cc:67,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/legacy_proto_key.cc:68,1
    - Dst: crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
      Src: /src/tink/cc/internal/legacy_proto_key.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - serialization
    - token
    argTypes:
    - ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::LegacyProtoKey::Create
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.cc
    functionUses: 3
    functionsReached:
    - CheckKeyAccess
    - crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
    - util::Status::ok
    - ProtoKeySerialization::KeyMaterialType
    linkageType: ''
    returnType: util::StatusOr<LegacyProtoKey>
    signature: "util::StatusOr<LegacyProtoKey> LegacyProtoKey::Create(\n    ProtoKeySerialization
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LegacyProtoKey*>
      Src: /src/tink/cc/internal/legacy_proto_key.cc:75,1
    - Dst: EqualsWithPotentialFalseNegatives
      Src: /src/tink/cc/internal/legacy_proto_key.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: LegacyProtoKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const LegacyProtoKey*>
    - EqualsWithPotentialFalseNegatives
    linkageType: ''
    returnType: bool
    signature: bool LegacyProtoKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckKeyAccess
      Src: /src/tink/cc/internal/legacy_proto_key.cc:85,1
    - Dst: KeyMaterialType
      Src: /src/tink/cc/internal/legacy_proto_key.cc:85,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/legacy_proto_key.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - token
    argTypes:
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::LegacyProtoKey::Serialization
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.cc
    functionUses: 0
    functionsReached:
    - CheckKeyAccess
    - util::Status::ok
    - KeyMaterialType
    linkageType: ''
    returnType: util::StatusOr<const ProtoKeySerialization*>
    signature: "util::StatusOr<const ProtoKeySerialization*> LegacyProtoKey::Serialization(\n
      \   absl::optional<SecretKeyAccessToken> token) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:40,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:42,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:43,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:43,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:44,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:48,1
    - Dst: std::string::size
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:48,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:48,1
    - Dst: std::string::append
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:49,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:49,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:49,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:51,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - auto::size
    - util::Status::ok
    - EXPECT_EQ
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - StatusIs
    - crypto::tink::util::Buffer::New
    - std::string::append
    - auto::PRead
    - auto::get
    - EXPECT_THAT
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, ReadAllSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:57,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:60,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:61,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:62,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:62,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:64,1
    - Dst: std::string
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:64,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:64,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - auto::size
    - std::string
    - EXPECT_EQ
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - auto::PRead
    - auto::get
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, PreadAllInOnePread)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:71,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:74,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:75,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:76,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:76,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:77,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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - crypto::tink::util::Buffer::New
    - auto::PRead
    - EXPECT_THAT
    - auto::get
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, PreadCountLargerThanBufferFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:83,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:86,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:87,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:87,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:87,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - crypto::tink::util::Buffer::New
    - auto::PRead
    - EXPECT_THAT
    - auto::get
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, InvalidPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:93,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:96,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:96,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<TestRandomAccessStream>
    - auto::PRead
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, PreadWithNullBufferFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:105,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:106,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:107,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:108,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:108,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - crypto::tink::util::Buffer::New
    - auto::PRead
    - EXPECT_THAT
    - auto::get
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, PreadWithEmptyStreamEof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:117,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:119,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:120,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:122,1
    - Dst: auto::PRead
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:122,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:123,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:125,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:126,1
    - Dst: std::string
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:126,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:126,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:126,1
    - Dst: std::string::substr
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - auto::size
    - std::string
    - EXPECT_EQ
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - std::string::substr
    - crypto::tink::util::Buffer::New
    - auto::PRead
    - EXPECT_THAT
    - auto::get
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, PreadTheLastPartialBlockReturnsEof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:131,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:135,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:135,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:135,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - auto::get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(TestRandomAccessStreamTest, ReadAllFromRandomAccessStreamSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:144,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:148,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:148,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:148,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:152,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:152,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:152,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/test_random_access_stream_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - auto::get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: "void TEST(TestRandomAccessStreamTest,\n     ReadAllFromRandomAccessStreamFailsWhenChunkIsLessThanOne)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - UnusableLegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: crypto::tink::internal::UnusableLegacyProtoParameters::UnusableLegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnusableLegacyProtoParameters(const UnusableLegacyProtoParameters&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - UnusableLegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: "& operator=(\n      const UnusableLegacyProtoParameters& other)"
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnusableLegacyProtoParameters
    signature: "UnusableLegacyProtoParameters & operator=(\n      const UnusableLegacyProtoParameters&
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - UnusableLegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: crypto::tink::internal::UnusableLegacyProtoParameters::UnusableLegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnusableLegacyProtoParameters(UnusableLegacyProtoParameters&&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - UnusableLegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: "& operator=(\n      UnusableLegacyProtoParameters&& other)"
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: UnusableLegacyProtoParameters
    signature: "UnusableLegacyProtoParameters & operator=(\n      UnusableLegacyProtoParameters&&
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type_url
    - output_prefix_type
    argTypes:
    - absl::string_view
    - google::crypto::tink::OutputPrefixType
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: crypto::tink::internal::UnusableLegacyProtoParameters::UnusableLegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void UnusableLegacyProtoParameters(\n      absl::string_view type_url,\n
      \     google::crypto::tink::OutputPrefixType output_prefix_type)"
  - 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: crypto::tink::internal::UnusableLegacyProtoParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoKey
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LegacyProtoKey(const LegacyProtoKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoKey
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(const LegacyProtoKey& other)'
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LegacyProtoKey
    signature: LegacyProtoKey & operator=(const LegacyProtoKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoKey
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LegacyProtoKey(LegacyProtoKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoKey
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(LegacyProtoKey&& other)'
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LegacyProtoKey
    signature: LegacyProtoKey & operator=(LegacyProtoKey&& other)
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parameters
    signature: Parameters & GetParameters() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdRequirement
      Src: /src/tink/cc/internal/legacy_proto_key.h: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: crypto::tink::internal::LegacyProtoKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 0
    functionsReached:
    - IdRequirement
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtoKeySerialization::TypeUrl
      Src: /src/tink/cc/internal/legacy_proto_key.h:98,1
    - Dst: ProtoKeySerialization::GetOutputPrefixType
      Src: /src/tink/cc/internal/legacy_proto_key.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - serialization
    argTypes:
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key.h
    functionUses: 1
    functionsReached:
    - ProtoKeySerialization::GetOutputPrefixType
    - ProtoKeySerialization::TypeUrl
    linkageType: ''
    returnType: void
    signature: void LegacyProtoKey(ProtoKeySerialization serialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsPrintableAscii
      Src: /src/tink/cc/internal/proto_key_serialization.cc:42,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/proto_key_serialization.cc:43,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/internal/proto_key_serialization.cc:47,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/proto_key_serialization.cc:48,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/internal/proto_key_serialization.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/proto_key_serialization.cc:54,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
      Src: /src/tink/cc/internal/proto_key_serialization.cc:58,1
    - Dst: std::move
      Src: /src/tink/cc/internal/proto_key_serialization.cc:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - type_url
    - serialized_key
    - key_material_type
    - output_prefix_type
    - id_requirement
    argTypes:
    - absl::string_view
    - RestrictedData
    - KeyData::KeyMaterialType
    - OutputPrefixType
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 61
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 61
    functionName: crypto::tink::internal::ProtoKeySerialization::Create
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
    - IsPrintableAscii
    - absl::optional<int>::has_value
    linkageType: ''
    returnType: util::StatusOr<ProtoKeySerialization>
    signature: "util::StatusOr<ProtoKeySerialization> ProtoKeySerialization::Create(\n
      \   absl::string_view type_url, RestrictedData serialized_key,\n    KeyData::KeyMaterialType
      key_material_type,\n    OutputPrefixType output_prefix_type, absl::optional<int>
      id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::ProtoKeySerialization::EqualsWithPotentialFalseNegatives
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ProtoKeySerialization::EqualsWithPotentialFalseNegatives(\n    const
      ProtoKeySerialization& other) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:46,1
    - Dst: key_type_info_store_::Get
      Src: /src/tink/cc/internal/configuration_impl.h:62,1
    - Dst: type_url
      Src: /src/tink/cc/internal/configuration_impl.h:62,1
    - Dst: "crypto::tink::util::StatusOr<\n          const crypto::tink::internal::KeyTypeInfoStore::Info*>::ok"
      Src: /src/tink/cc/internal/configuration_impl.h:63,1
    - Dst: "crypto::tink::util::StatusOr<\n          const crypto::tink::internal::KeyTypeInfoStore::Info*>::status"
      Src: /src/tink/cc/internal/configuration_impl.h:64,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/internal/configuration_impl.h:66,1
    - Dst: keyset_wrapper_store_::Add
      Src: /src/tink/cc/internal/configuration_impl.h:69,1
    - Dst: std::move
      Src: /src/tink/cc/internal/configuration_impl.h:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - wrapper
    - ' config'
    argTypes:
    - std::unique_ptr<PW>
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 72
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 7
    functionsReached:
    - "crypto::tink::util::StatusOr<\n          const crypto::tink::internal::KeyTypeInfoStore::Info*>::ok"
    - GetPrimitive
    - key_type_info_store_::Get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - "crypto::tink::util::StatusOr<\n          const crypto::tink::internal::KeyTypeInfoStore::Info*>::status"
    - type_url
    - keyset_wrapper_store_::Add
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddPrimitiveWrapper(\n      std::unique_ptr<PW>
      wrapper, crypto::tink::Configuration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:78,1
    - Dst: key_type_info_store_::AddKeyTypeManager
      Src: /src/tink/cc/internal/configuration_impl.h:81,1
    - Dst: std::move
      Src: /src/tink/cc/internal/configuration_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_manager
    - ' config'
    argTypes:
    - std::unique_ptr<KM>
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 7
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - key_type_info_store_::AddKeyTypeManager
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddKeyTypeManager(\n      std::unique_ptr<KM>
      key_manager, crypto::tink::Configuration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:91,1
    - Dst: key_type_info_store_::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/configuration_impl.h:94,1
    - Dst: std::move
      Src: /src/tink/cc/internal/configuration_impl.h:95,1
    - Dst: std::move
      Src: /src/tink/cc/internal/configuration_impl.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - private_key_manager
    - public_key_manager
    - ' config'
    argTypes:
    - std::unique_ptr<PrivateKM>
    - std::unique_ptr<PublicKM>
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - key_type_info_store_::AddAsymmetricKeyTypeManagers
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddAsymmetricKeyManagers(\n      std::unique_ptr<PrivateKM>
      private_key_manager,\n      std::unique_ptr<PublicKM> public_key_manager,\n
      \     crypto::tink::Configuration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:104,1
    - Dst: key_type_info_store_::AddKeyManager
      Src: /src/tink/cc/internal/configuration_impl.h:107,1
    - Dst: std::move
      Src: /src/tink/cc/internal/configuration_impl.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_manager
    - ' config'
    argTypes:
    - std::unique_ptr<KeyManager<P>>
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - key_type_info_store_::AddKeyManager
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status AddLegacyKeyManager(\n      std::unique_ptr<KeyManager<P>>
      key_manager,\n      crypto::tink::Configuration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 6
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore*>"
    signature: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore*>
      GetKeyTypeInfoStore(const crypto::tink::Configuration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 5
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeysetWrapperStore*>"
    signature: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeysetWrapperStore*>
      GetKeysetWrapperStore(const crypto::tink::Configuration& config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_type_info_store_::IsEmpty
      Src: /src/tink/cc/internal/configuration_impl.h:134,1
    - Dst: keyset_wrapper_store_::IsEmpty
      Src: /src/tink/cc/internal/configuration_impl.h:135,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/configuration_impl.h:136,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/configuration_impl.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - keyset_wrapper_store_::IsEmpty
    - crypto::tink::util::OkStatus
    - key_type_info_store_::IsEmpty
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status SetGlobalRegistryMode(\n      crypto::tink::Configuration&
      config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - crypto::tink::Configuration
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
    functionSourceFile: /src/tink/cc/internal/configuration_impl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool IsInGlobalRegistryMode(\n      const crypto::tink::Configuration&
      config)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtoParametersSerialization::EqualsWithPotentialFalseNegatives
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serialization
    - other
    argTypes:
    - ProtoParametersSerialization
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: crypto::tink::internal::LegacyProtoParametersTest::Equals
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - ProtoParametersSerialization::EqualsWithPotentialFalseNegatives
    linkageType: ''
    returnType: bool
    signature: "bool Equals(ProtoParametersSerialization serialization,\n              ProtoParametersSerialization
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:53,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:55,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:57,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:61,1
    - Dst: LegacyProtoParameters::HasIdRequirement
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:61,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:62,1
    - Dst: Equals
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:62,1
    - Dst: LegacyProtoParameters::Serialization
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:62,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - LegacyProtoParameters::Serialization
    - IsTrue
    - TestProto::set_num
    - LegacyProtoParameters::HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoParametersTest, CreateWithIdRequirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:67,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:69,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:71,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:75,1
    - Dst: LegacyProtoParameters::HasIdRequirement
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:75,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:76,1
    - Dst: Equals
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:76,1
    - Dst: LegacyProtoParameters::Serialization
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:76,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - LegacyProtoParameters::Serialization
    - IsFalse
    - IsTrue
    - TestProto::set_num
    - LegacyProtoParameters::HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoParametersTest, CreateWithoutIdRequirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:81,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:84,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:86,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:89,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:97,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:98,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - TestProto::set_num
    - EXPECT_FALSE
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoParametersTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:104,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:107,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:109,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:109,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:112,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:121,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - TestProto::set_num
    - EXPECT_FALSE
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoParametersTest, TypeUrlNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:128,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:131,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:133,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:133,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:136,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:138,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:145,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - TestProto::set_num
    - EXPECT_FALSE
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoParametersTest, OutputPrefixTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:151,1
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:153,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:156,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:158,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:158,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:161,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:163,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_parameters_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 172
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - TestProto::set_num
    - EXPECT_FALSE
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoParametersTest, DifferentValueNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_hex2bn
      Src: /src/tink/cc/internal/bn_util_test.cc:48,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/bn_util_test.cc:48,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/bn_util_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bn_hex
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: crypto::tink::internal::HexToBignum
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - internal::SslUniquePtr<BIGNUM>
    - absl::string_view::data
    - BN_hex2bn
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<BIGNUM>>
    signature: "util::StatusOr<internal::SslUniquePtr<BIGNUM>> HexToBignum(\n    absl::string_view
      bn_hex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:57,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:59,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:60,1
    - Dst: crypto::tink::internal::HexToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:64,1
    - Dst: BN_cmp
      Src: /src/tink/cc/internal/bn_util_test.cc:64,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:64,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::HexToBignum
    - EXPECT_EQ
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_cmp
    - ASSERT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnUtil, StringToBignum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:69,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:70,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:74,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:80,1
    - Dst: BN_cmp
      Src: /src/tink/cc/internal/bn_util_test.cc:80,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:80,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - EXPECT_EQ
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_cmp
    - ASSERT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StringToBignum, IgnoresLeadingZeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HexToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:89,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:91,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:93,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:93,1
    - Dst: std::string::size
      Src: /src/tink/cc/internal/bn_util_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - crypto::tink::internal::HexToBignum
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - std::string::size
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnUtil, BignumToString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:102,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:103,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:106,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:106,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/bn_util_test.cc:106,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:108,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:108,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:113,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:114,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:117,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:117,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/bn_util_test.cc:117,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:119,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:119,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:124,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:125,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:128,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:128,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/bn_util_test.cc:128,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:130,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:130,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:135,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:136,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:139,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:139,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/bn_util_test.cc:139,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:141,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:141,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:146,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:147,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:150,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:150,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/bn_util_test.cc:150,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:152,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 154
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - EXPECT_EQ
    - crypto::tink::internal::StringToBignum
    - IsOk
    - ASSERT_THAT
    - BN_num_bytes
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BignumToStringWithBNNumBytes, NoLeadingZeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:159,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:160,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:163,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:165,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:165,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:168,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:170,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:173,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:173,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:173,1
    - Dst: Not
      Src: /src/tink/cc/internal/bn_util_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - EXPECT_EQ
    - crypto::tink::internal::StringToBignum
    - IsOk
    - Not
    - ASSERT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BignumToString, PadsWithLeadingZeros)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HexToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:179,1
    - Dst: BN_set_negative
      Src: /src/tink/cc/internal/bn_util_test.cc:180,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:182,1
    - Dst: crypto::tink::internal::CompareBignumWithWord
      Src: /src/tink/cc/internal/bn_util_test.cc:182,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:184,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:184,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:184,1
    - Dst: Not
      Src: /src/tink/cc/internal/bn_util_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - crypto::tink::internal::HexToBignum
    - ASSERT_EQ
    - IsOk
    - BN_set_negative
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::CompareBignumWithWord
    linkageType: ''
    returnType: void
    signature: void TEST(BignumToString, RejectsNegativeNumbers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HexToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:193,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:195,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/bn_util_test.cc:197,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:197,1
    - Dst: std::string::size
      Src: /src/tink/cc/internal/bn_util_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:198,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/bn_util_test.cc:199,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/internal/bn_util_test.cc:200,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/internal/bn_util_test.cc:200,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/internal/bn_util_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:201,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/bn_util_test.cc:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::get
    - crypto::tink::internal::HexToBignum
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::BignumToSecretData
    - ASSERT_THAT
    - util::StatusOr::size
    - reinterpret_cast<char*>
    - std::string::size
    - absl::HexStringToBytes
    - util::StatusOr::data
    linkageType: ''
    returnType: void
    signature: void TEST(BnUtil, BignumToSecretData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HexToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:211,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:213,1
    - Dst: std::vector::resize
      Src: /src/tink/cc/internal/bn_util_test.cc:215,1
    - Dst: std::string::size
      Src: /src/tink/cc/internal/bn_util_test.cc:215,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/bn_util_test.cc:216,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/bn_util_test.cc:217,1
    - Dst: std::vector::data
      Src: /src/tink/cc/internal/bn_util_test.cc:217,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/bn_util_test.cc:217,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:218,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/bn_util_test.cc:219,1
    - Dst: std::vector::data
      Src: /src/tink/cc/internal/bn_util_test.cc:219,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/bn_util_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:220,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/bn_util_test.cc:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - absl::string_view
    - util::StatusOr::get
    - crypto::tink::internal::HexToBignum
    - std::vector::resize
    - EXPECT_EQ
    - IsOk
    - std::vector::size
    - ASSERT_THAT
    - crypto::tink::internal::BignumToBinaryPadded
    - std::string::size
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnUtil, BignumToBinaryPadded)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HexToBignum
      Src: /src/tink/cc/internal/bn_util_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:230,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_util_test.cc:231,1
    - Dst: std::string::size
      Src: /src/tink/cc/internal/bn_util_test.cc:232,1
    - Dst: std::vector::resize
      Src: /src/tink/cc/internal/bn_util_test.cc:235,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/bn_util_test.cc:236,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/bn_util_test.cc:237,1
    - Dst: std::vector::data
      Src: /src/tink/cc/internal/bn_util_test.cc:237,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/bn_util_test.cc:237,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:238,1
    - Dst: Not
      Src: /src/tink/cc/internal/bn_util_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:238,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/bn_util_test.cc:242,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:243,1
    - Dst: Not
      Src: /src/tink/cc/internal/bn_util_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:243,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/bn_util_test.cc:247,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:247,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_util_test.cc:248,1
    - Dst: Not
      Src: /src/tink/cc/internal/bn_util_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/bn_util_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - crypto::tink::internal::HexToBignum
    - std::vector::resize
    - IsOk
    - Not
    - std::vector::size
    - crypto::tink::internal::BignumToSecretData
    - ASSERT_THAT
    - crypto::tink::internal::BignumToBinaryPadded
    - EXPECT_THAT
    - std::string::size
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnUtil, BufferToSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/bn_util_test.cc:255,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/bn_util_test.cc:256,1
    - Dst: crypto::tink::internal::CompareBignumWithWord
      Src: /src/tink/cc/internal/bn_util_test.cc:256,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:256,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/internal/bn_util_test.cc:260,1
    - Dst: crypto::tink::internal::CompareBignumWithWord
      Src: /src/tink/cc/internal/bn_util_test.cc:260,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:260,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/bn_util_test.cc:261,1
    - Dst: crypto::tink::subtle::AesCmacBoringSslTestVectorTest::ExpectCmacVerifyHex
      Src: /src/tink/cc/internal/bn_util_test.cc:261,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/internal/bn_util_test.cc:266,1
    - Dst: crypto::tink::internal::CompareBignumWithWord
      Src: /src/tink/cc/internal/bn_util_test.cc:266,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util_test.cc:266,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/bn_util_test.cc:267,1
    - Dst: crypto::tink::subtle::AesCmacBoringSslTestVectorTest::ExpectCmacVerifyHex
      Src: /src/tink/cc/internal/bn_util_test.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 269
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::subtle::AesCmacBoringSslTestVectorTest::ExpectCmacVerifyHex
    - internal::SslUniquePtr::get
    - BN_set_word
    - crypto::tink::internal::CompareBignumWithWord
    - EXPECT_GT
    - absl::StrCat
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST(BnUtil, CompareBignumWithWord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tink/cc/internal/key_type_info_store.cc:35,1
    - Dst: end
      Src: /src/tink/cc/internal/key_type_info_store.cc:36,1
    - Dst: ToStatusF
      Src: /src/tink/cc/internal/key_type_info_store.cc:37,1
    - Dst: auto::second::get
      Src: /src/tink/cc/internal/key_type_info_store.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type_url
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: crypto::tink::internal::KeyTypeInfoStore::Get
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.cc
    functionUses: 1
    functionsReached:
    - end
    - ToStatusF
    - auto::second::get
    - find
    linkageType: ''
    returnType: util::StatusOr<KeyTypeInfoStore::Info*>
    signature: "util::StatusOr<KeyTypeInfoStore::Info*> KeyTypeInfoStore::Get(\n    absl::string_view
      type_url) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tink/cc/internal/key_type_info_store.cc:46,1
    - Dst: end
      Src: /src/tink/cc/internal/key_type_info_store.cc:47,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_type_info_store.cc:48,1
    - Dst: auto::second::key_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store.cc:50,1
    - Dst: ToStatusF
      Src: /src/tink/cc/internal/key_type_info_store.cc:51,1
    - Dst: auto::second::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store.cc:55,1
    - Dst: ToStatusF
      Src: /src/tink/cc/internal/key_type_info_store.cc:56,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_type_info_store.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - type_url
    - ' key_manager_type_index'
    - new_key_allowed
    argTypes:
    - absl::string_view
    - std::type_index
    - bool
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::KeyTypeInfoStore::IsInsertable
    functionSourceFile: /src/tink/cc/internal/key_type_info_store.cc
    functionUses: 3
    functionsReached:
    - end
    - ToStatusF
    - auto::second::new_key_allowed
    - auto::second::key_manager_type_index
    - crypto::tink::util::OkStatus
    - find
    linkageType: ''
    returnType: util::Status
    signature: "util::Status KeyTypeInfoStore::IsInsertable(\n    absl::string_view
      type_url, const std::type_index& key_manager_type_index,\n    bool new_key_allowed)
      const"
  - 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: ~KeyParser()
    functionSourceFile: /src/tink/cc/internal/key_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - object_identifier
    - function
    argTypes:
    - absl::string_view
    - "absl::FunctionRef<util::StatusOr<KeyT>(\n          SerializationT, absl::optional<SecretKeyAccessToken>)>"
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::KeyParserImpl::KeyParserImpl
    functionSourceFile: /src/tink/cc/internal/key_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void KeyParserImpl(\n      absl::string_view object_identifier,\n
      \     absl::FunctionRef<util::StatusOr<KeyT>(\n          SerializationT, absl::optional<SecretKeyAccessToken>)>\n
      \         function)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyParserImpl::ObjectIdentifier
      Src: /src/tink/cc/internal/key_parser.h:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_parser.h:90,1
    - Dst: dynamic_cast<const SerializationT*>
      Src: /src/tink/cc/internal/key_parser.h:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/key_parser.h:96,1
    - Dst: function_
      Src: /src/tink/cc/internal/key_parser.h:99,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/key_parser.h:100,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_parser.h:100,1
    - Dst: absl::make_unique<KeyT>
      Src: /src/tink/cc/internal/key_parser.h:101,1
    - Dst: std::move
      Src: /src/tink/cc/internal/key_parser.h:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - Serialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 102
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 102
    functionName: crypto::tink::internal::KeyParserImpl::ParseKey
    functionSourceFile: /src/tink/cc/internal/key_parser.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - dynamic_cast<const SerializationT*>
    - std::move
    - crypto::tink::internal::KeyParserImpl::ObjectIdentifier
    - util::StatusOr::ok
    - absl::make_unique<KeyT>
    - function_
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Key>>
    signature: "util::StatusOr<std::unique_ptr<Key>> ParseKey(\n      const Serialization&
      serialization,\n      absl::optional<SecretKeyAccessToken> token) const override"
  - 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: crypto::tink::internal::KeyParserImpl::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/key_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserIndex::Create<SerializationT>
      Src: /src/tink/cc/internal/key_parser.h: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: crypto::tink::internal::KeyParserImpl::Index
    functionSourceFile: /src/tink/cc/internal/key_parser.h
    functionUses: 0
    functionsReached:
    - ParserIndex::Create<SerializationT>
    linkageType: ''
    returnType: ParserIndex
    signature: ParserIndex Index() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
      Src: /src/tink/cc/internal/key_serializer_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_serializer_test.cc:50,1
    - Dst: std::unique_ptr::Index
      Src: /src/tink/cc/internal/key_serializer_test.cc:50,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_serializer_test.cc:51,1
    - Dst: SerializerIndex::Create<NoIdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/key_serializer_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_serializer_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
    - std::unique_ptr::Index
    - SerializerIndex::Create<NoIdKey, NoIdSerialization>
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeySerializerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
      Src: /src/tink/cc/internal/key_serializer_test.cc:56,1
    - Dst: std::unique_ptr::SerializeKey
      Src: /src/tink/cc/internal/key_serializer_test.cc:61,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/key_serializer_test.cc:61,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_serializer_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_serializer_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_serializer_test.cc:63,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/key_serializer_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_serializer_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_serializer_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::SerializeKey
    - absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
    - IsOk
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeySerializerTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
      Src: /src/tink/cc/internal/key_serializer_test.cc:68,1
    - Dst: std::unique_ptr::SerializeKey
      Src: /src/tink/cc/internal/key_serializer_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_serializer_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_serializer_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_serializer_test.cc:75,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/key_serializer_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_serializer_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_serializer_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::SerializeKey
    - absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeySerializerTest, SerializePublicKeyNoAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
      Src: /src/tink/cc/internal/key_serializer_test.cc:80,1
    - Dst: std::unique_ptr::SerializeKey
      Src: /src/tink/cc/internal/key_serializer_test.cc:85,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/key_serializer_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_serializer_test.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_serializer_test.cc:86,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_serializer_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_serializer_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::SerializeKey
    - absl::make_unique<KeySerializerImpl<NoIdKey, NoIdSerialization>>
    - util::StatusOr::status
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KeySerializerTest, SerializeKeyWithInvalidKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtoParametersSerialization(const ProtoParametersSerialization&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: "& operator=(\n      const ProtoParametersSerialization& other)"
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtoParametersSerialization
    signature: "ProtoParametersSerialization & operator=(\n      const ProtoParametersSerialization&
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtoParametersSerialization(ProtoParametersSerialization&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: "& operator=(\n      ProtoParametersSerialization&& other)"
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtoParametersSerialization
    signature: "ProtoParametersSerialization & operator=(\n      ProtoParametersSerialization&&
      other)"
  - 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: '& GetKeyTemplate() const'
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & GetKeyTemplate() 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: crypto::tink::internal::ProtoParametersSerialization::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyTemplate::type_url
      Src: /src/tink/cc/internal/proto_parameters_serialization.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_template
    argTypes:
    - google::crypto::tink::KeyTemplate
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::KeyTemplate::type_url
    linkageType: ''
    returnType: void
    signature: "void ProtoParametersSerialization(\n      google::crypto::tink::KeyTemplate
      key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
      Src: /src/tink/cc/internal/key_parser_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:51,1
    - Dst: std::unique_ptr::ObjectIdentifier
      Src: /src/tink/cc/internal/key_parser_test.cc:51,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:51,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:52,1
    - Dst: std::unique_ptr::Index
      Src: /src/tink/cc/internal/key_parser_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:54,1
    - Dst: ParserIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/key_parser_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_parser_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ObjectIdentifier
    - ParserIndex::Create<NoIdSerialization>
    - std::unique_ptr::Index
    - EXPECT_THAT
    - absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyParserTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
      Src: /src/tink/cc/internal/key_parser_test.cc:59,1
    - Dst: std::unique_ptr::ParseKey
      Src: /src/tink/cc/internal/key_parser_test.cc:64,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/key_parser_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_parser_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:66,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/key_parser_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:67,1
    - Dst: GetParameters
      Src: /src/tink/cc/internal/key_parser_test.cc:67,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:67,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/key_parser_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:68,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:68,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/key_parser_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_parser_test.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - NoIdKey
    - IsOk
    - NoIdParams
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - std::unique_ptr::ParseKey
    - GetIdRequirement
    - absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyParserTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
      Src: /src/tink/cc/internal/key_parser_test.cc:73,1
    - Dst: std::unique_ptr::ParseKey
      Src: /src/tink/cc/internal/key_parser_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_parser_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:80,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/key_parser_test.cc:80,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:81,1
    - Dst: GetParameters
      Src: /src/tink/cc/internal/key_parser_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:81,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/key_parser_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_parser_test.cc:82,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/key_parser_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_parser_test.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - NoIdKey
    - IsOk
    - NoIdParams
    - ASSERT_THAT
    - EXPECT_THAT
    - std::unique_ptr::ParseKey
    - GetIdRequirement
    - absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyParserTest, ParsePublicKeyNoAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
      Src: /src/tink/cc/internal/key_parser_test.cc:87,1
    - Dst: std::unique_ptr::ParseKey
      Src: /src/tink/cc/internal/key_parser_test.cc:92,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/key_parser_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_parser_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_parser_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_parser_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - std::unique_ptr::ParseKey
    - StatusIs
    - absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeyParserTest, ParseKeyWithInvalidSerializationType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
      Src: /src/tink/cc/internal/key_parser_test.cc:98,1
    - Dst: std::unique_ptr::ParseKey
      Src: /src/tink/cc/internal/key_parser_test.cc:103,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/key_parser_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_parser_test.cc:104,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_parser_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_parser_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_parser_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - std::unique_ptr::ParseKey
    - StatusIs
    - absl::make_unique<KeyParserImpl<NoIdSerialization, NoIdKey>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeyParserTest, ParseKeyWithInvalidObjectIdentifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_print_errors_cb
      Src: /src/tink/cc/internal/err_util.cc:30,1
    - Dst: static_cast<std::string *>
      Src: /src/tink/cc/internal/err_util.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: crypto::tink::internal::GetSslErrors
    functionSourceFile: /src/tink/cc/internal/err_util.cc
    functionUses: 0
    functionsReached:
    - ERR_print_errors_cb
    - static_cast<std::string *>
    linkageType: ''
    returnType: std::string
    signature: std::string GetSslErrors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtoKeySerialization(const ProtoKeySerialization& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: '& operator=(const ProtoKeySerialization& other)'
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtoKeySerialization
    signature: ProtoKeySerialization & operator=(const ProtoKeySerialization& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ProtoKeySerialization(ProtoKeySerialization&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(ProtoKeySerialization&& other)'
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtoKeySerialization
    signature: ProtoKeySerialization & operator=(ProtoKeySerialization&& other)
  - 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: crypto::tink::internal::ProtoKeySerialization::TypeUrl
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view TypeUrl() const
  - 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: crypto::tink::internal::ProtoKeySerialization::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() 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: '& SerializedKeyProto() const'
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & SerializedKeyProto() const
  - 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: crypto::tink::internal::ProtoKeySerialization::KeyMaterialType
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType KeyMaterialType() const
  - 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: crypto::tink::internal::ProtoKeySerialization::GetOutputPrefixType
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::OutputPrefixType
    signature: google::crypto::tink::OutputPrefixType GetOutputPrefixType() const
  - 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: crypto::tink::internal::ProtoKeySerialization::IdRequirement
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> IdRequirement() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/proto_key_serialization.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - type_url
    - object_identifier
    - serialized_key
    - key_material_type
    - output_prefix_type
    - id_requirement
    argTypes:
    - absl::string_view
    - absl::string_view
    - RestrictedData
    - google::crypto::tink::KeyData::KeyMaterialType
    - google::crypto::tink::OutputPrefixType
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ProtoKeySerialization(\n      absl::string_view type_url, absl::string_view
      object_identifier,\n      RestrictedData serialized_key,\n      google::crypto::tink::KeyData::KeyMaterialType
      key_material_type,\n      google::crypto::tink::OutputPrefixType output_prefix_type,\n
      \     absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:62,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:63,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:63,1
    - Dst: MutableSerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:66,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:68,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:68,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:69,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:69,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:69,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:70,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:70,1
    - Dst: MutableSerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:73,1
    - Dst: IdParamsSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:75,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:75,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:76,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:76,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:76,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:77,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IdParamsSerialization
    - IsOk
    - ASSERT_THAT
    - MutableSerializationRegistry::ParseParameters
    - typeid
    - std::type_index
    - NoIdSerialization
    - EXPECT_THAT
    - IsFalse
    - IsTrue
    - MutableSerializationRegistry::RegisterParametersParser
    - HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:83,1
    - Dst: MutableSerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:83,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:83,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::ParseParameters
    - StatusIs
    - NoIdSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, ParseParametersWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:92,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:93,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - MutableSerializationRegistry::RegisterParametersParser
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, RegisterSameParametersParser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:104,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:105,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:105,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - MutableSerializationRegistry::RegisterParametersParser
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(MutableSerializationRegistryTest,\n     RegisterDifferentParametersParserWithSameIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:115,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:116,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:116,1
    - Dst: MutableSerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:119,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:121,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:121,1
    - Dst: MutableSerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:124,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:126,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterParametersSerializer
    - IsOk
    - NoIdParams
    - ASSERT_THAT
    - MutableSerializationRegistry::SerializeParameters
    - IdParams
    - EXPECT_THAT
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:132,1
    - Dst: MutableSerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:133,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::SerializeParameters
    - NoIdParams
    - StatusIs
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, SerializeParametersWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:142,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:143,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterParametersSerializer
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, RegisterSameParametersSerializer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:154,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:155,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterParametersSerializer
    - IsOk
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(MutableSerializationRegistryTest,\n     RegisterDifferentParametersSerializerWithSameIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:163,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:164,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:164,1
    - Dst: MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:167,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:167,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:169,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:169,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:169,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:170,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:170,1
    - Dst: MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:172,1
    - Dst: IdKeySerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:173,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:175,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:175,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:175,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:176,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:177,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:177,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterKeyParser
    - IsOk
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - typeid
    - IdKeySerialization
    - std::type_index
    - NoIdSerialization
    - EXPECT_THAT
    - GetIdRequirement
    - Eq
    - MutableSerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:183,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:183,1
    - Dst: MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:186,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:188,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:188,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:188,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:189,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterKeyParser
    - IsOk
    - ASSERT_THAT
    - typeid
    - std::type_index
    - NoIdSerialization
    - EXPECT_THAT
    - MutableSerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, ParseKeyNoSecretAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:195,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:195,1
    - Dst: MutableSerializationRegistry::ParseKeyWithLegacyFallback
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:199,1
    - Dst: IdKeySerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:199,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:202,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:202,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:202,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:203,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:204,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:204,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:204,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:207,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:207,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:212,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:212,1
    - Dst: MutableSerializationRegistry::ParseKeyWithLegacyFallback
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:216,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:219,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:219,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 220
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::ParseKeyWithLegacyFallback
    - MutableSerializationRegistry::RegisterKeyParser
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IdKeySerialization
    - typeid
    - std::type_index
    - EXPECT_THAT
    - GetIdRequirement
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, ParseKeyWithLegacyFallback)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:225,1
    - Dst: MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:226,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:226,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:226,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - NoIdSerialization
    - StatusIs
    - MutableSerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, ParseKeyWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:235,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:236,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterKeyParser
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, RegisterSameKeyParser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:245,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:246,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:246,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::RegisterKeyParser
    - IsOk
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(MutableSerializationRegistryTest,\n     RegisterDifferentKeyParserWithSameIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:254,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:255,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:255,1
    - Dst: MutableSerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:258,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:258,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:261,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:261,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:261,1
    - Dst: MutableSerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:264,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:264,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:267,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:267,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 268
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - IsOk
    - crypto::tink::InsecureSecretKeyAccess::Get
    - MutableSerializationRegistry::SerializeKey
    - MutableSerializationRegistry::RegisterKeySerializer
    - ASSERT_THAT
    - IdKey
    - EXPECT_THAT
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:273,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:273,1
    - Dst: MutableSerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:276,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:277,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:278,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:278,1
    - Dst: Eq
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - IsOk
    - MutableSerializationRegistry::SerializeKey
    - MutableSerializationRegistry::RegisterKeySerializer
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, SerializeKeyNoSecretAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:284,1
    - Dst: MutableSerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:284,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:286,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:286,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - crypto::tink::InsecureSecretKeyAccess::Get
    - MutableSerializationRegistry::SerializeKey
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, SerializeKeyWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:295,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:296,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - MutableSerializationRegistry::RegisterKeySerializer
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, RegisterSameKeySerializer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:305,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:306,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:306,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - MutableSerializationRegistry::RegisterKeySerializer
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(MutableSerializationRegistryTest,\n     RegisterDifferentKeySerializerWithSameIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:321,1
    - Dst: MutableSerializationRegistry::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:322,1
    - Dst: MutableSerializationRegistry::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:323,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:324,1
    - Dst: MutableSerializationRegistry::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:325,1
    - Dst: MutableSerializationRegistry::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:325,1
    - Dst: MutableSerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:328,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:329,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:329,1
    - Dst: MutableSerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:331,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:331,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:332,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:332,1
    - Dst: MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:334,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:334,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:335,1
    - Dst: MutableSerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:337,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:337,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:338,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:339,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:339,1
    - Dst: MutableSerializationRegistry::Reset
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:343,1
    - Dst: MutableSerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:343,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:343,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:345,1
    - Dst: MutableSerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:346,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:346,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:348,1
    - Dst: MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:349,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:349,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:349,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:351,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:352,1
    - Dst: MutableSerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:352,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:354,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:354,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 357
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::Reset
    - MutableSerializationRegistry::RegisterKeyParser
    - NoIdKey
    - MutableSerializationRegistry::RegisterParametersSerializer
    - IsOk
    - NoIdParams
    - crypto::tink::InsecureSecretKeyAccess::Get
    - MutableSerializationRegistry::SerializeKey
    - MutableSerializationRegistry::RegisterKeySerializer
    - ASSERT_THAT
    - MutableSerializationRegistry::ParseParameters
    - MutableSerializationRegistry::SerializeParameters
    - NoIdSerialization
    - StatusIs
    - MutableSerializationRegistry::RegisterParametersParser
    - MutableSerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, Reset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:363,1
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:366,1
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:369,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:370,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:371,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:372,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:372,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:372,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:373,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:373,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:373,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:374,1
    - Dst: typeid
      Src: /src/tink/cc/internal/mutable_serialization_registry_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - typeid
    - std::type_index
    - NoIdSerialization
    - EXPECT_THAT
    - HasIdRequirement
    - IsFalse
    - MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void TEST(MutableSerializationRegistryTest, GlobalInstance)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretProto::set_status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:56,1
    - Dst: SecretProto::set_key_id
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:57,1
    - Dst: SecretProto::set_output_prefix_type
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:58,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:58,1
    - Dst: SecretProto::mutable_key_data
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:59,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:60,1
    - Dst: std::string
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:60,1
    - Dst: TypeUrl
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:60,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:61,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:61,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:62,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:63,1
    - Dst: KeyMaterialType
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - id
    - status
    - ' serialization'
    argTypes:
    - int
    - KeyStatusType
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::ToKeysetKey
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - std::string
    - KeyMaterialType
    - KeyData*::set_key_material_type
    - KeyData*::set_type_url
    - crypto::tink::InsecureSecretKeyAccess::Get
    - SecretProto::set_key_id
    - SecretProto::mutable_key_data
    - GetOutputPrefixType
    - SerializedKeyProto
    - SecretProto::set_status
    - TypeUrl
    - KeyData*::set_value
    - SecretProto::set_output_prefix_type
    linkageType: ''
    returnType: SecretProto<Keyset::Key>
    signature: "SecretProto<Keyset::Key> ToKeysetKey(\n    int id, KeyStatusType status,
      const ProtoKeySerialization& serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:70,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:72,1
    - Dst: dynamic_cast<const ProtoParametersSerialization*>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:75,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: crypto::tink::internal::SerializeParameters
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - dynamic_cast<const ProtoParametersSerialization*>
    - util::StatusOr::ok
    - MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: util::StatusOr<ProtoParametersSerialization>
    signature: "util::StatusOr<ProtoParametersSerialization> SerializeParameters(\n
      \   const Parameters& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LegacyProtoParameters*>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:89,1
    - Dst: LegacyProtoParameters*::Serialization
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - Parameters*
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::SerializeLegacyParameters
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - LegacyProtoParameters*::Serialization
    - dynamic_cast<const LegacyProtoParameters*>
    linkageType: ''
    returnType: util::StatusOr<ProtoParametersSerialization>
    signature: "util::StatusOr<ProtoParametersSerialization> SerializeLegacyParameters(\n
      \   const Parameters* params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:97,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:99,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:100,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:100,1
    - Dst: dynamic_cast<const ProtoKeySerialization*>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:103,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:103,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: crypto::tink::internal::SerializeKey
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::ok
    - dynamic_cast<const ProtoKeySerialization*>
    - MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: util::StatusOr<ProtoKeySerialization>
    signature: util::StatusOr<ProtoKeySerialization> SerializeKey(const Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LegacyProtoKey*>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:115,1
    - Dst: LegacyProtoKey*::Serialization
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:119,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:119,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:120,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - Key*
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: crypto::tink::internal::SerializeLegacyKey
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - LegacyProtoKey*::Serialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::ok
    - dynamic_cast<const LegacyProtoKey*>
    linkageType: ''
    returnType: util::StatusOr<ProtoKeySerialization>
    signature: util::StatusOr<ProtoKeySerialization> SerializeLegacyKey(const Key*
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:131,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:131,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:132,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:132,1
    - Dst: SecretProto::set_status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:135,1
    - Dst: SecretProto::set_key_id
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:136,1
    - Dst: SecretProto::set_output_prefix_type
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:137,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:138,1
    - Dst: SecretProto::mutable_key_data
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ' serialization'
    - id
    - status
    argTypes:
    - ProtoParametersSerialization
    - int
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: crypto::tink::internal::CreateKeysetKeyFromProtoParametersSerialization
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - SecretProto::set_key_id
    - util::StatusOr::ok
    - SecretProto::mutable_key_data
    - GetKeyTemplate
    - SecretProto::set_status
    - SecretProto::set_output_prefix_type
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: util::StatusOr<SecretProto<Keyset::Key>>
    signature: "util::StatusOr<SecretProto<Keyset::Key>> CreateKeysetKeyFromProtoParametersSerialization(\n
      \   const ProtoParametersSerialization& serialization, int id,\n    KeyStatusType
      status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:146,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:147,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:148,1
    - Dst: crypto::tink::internal::ToKeysetKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' key'
    - id
    - status
    argTypes:
    - ProtoKeySerialization
    - int
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: crypto::tink::internal::CreateKeysetKeyFromProtoKeySerialization
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - absl::optional::has_value
    - IdRequirement
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ToKeysetKey
    linkageType: ''
    returnType: util::StatusOr<SecretProto<Keyset::Key>>
    signature: "util::StatusOr<SecretProto<Keyset::Key>> CreateKeysetKeyFromProtoKeySerialization(const
      ProtoKeySerialization& key,\n                                         int id,
      KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: crypto::tink::internal::KeysetHandleBuilderEntry::SetFixedId
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilderEntry::SetFixedId(int id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: crypto::tink::internal::KeysetHandleBuilderEntry::SetRandomId
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilderEntry::SetRandomId()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToKeyStatusType
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:167,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:168,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:168,1
    - Dst: GetKeyIdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:170,1
    - Dst: GetKeyIdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:170,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:171,1
    - Dst: SerializeKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:175,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:177,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:178,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:181,1
    - Dst: SerializeLegacyKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:183,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:183,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:184,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:184,1
    - Dst: CreateKeysetKeyFromProtoKeySerialization
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: crypto::tink::internal::KeyEntry::CreateKeysetKey
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - SerializeKey
    - SerializeLegacyKey
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - ToKeyStatusType
    - util::StatusOr::ok
    - CreateKeysetKeyFromProtoKeySerialization
    - get
    - GetKeyIdRequirement
    linkageType: ''
    returnType: util::StatusOr<SecretProto<Keyset::Key>>
    signature: util::StatusOr<SecretProto<Keyset::Key>> KeyEntry::CreateKeysetKey(int
      id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToKeyStatusType
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:193,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:194,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:194,1
    - Dst: GetKeyIdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:196,1
    - Dst: GetKeyIdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:196,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:197,1
    - Dst: SerializeParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:202,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:203,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:204,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:205,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:208,1
    - Dst: SerializeLegacyParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:210,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:210,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:211,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:211,1
    - Dst: CreateKeysetKeyFromProtoParametersSerialization
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.cc:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: crypto::tink::internal::ParametersEntry::CreateKeysetKey
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.cc
    functionUses: 0
    functionsReached:
    - SerializeLegacyParameters
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - ToKeyStatusType
    - CreateKeysetKeyFromProtoParametersSerialization
    - util::StatusOr::ok
    - SerializeParameters
    - get
    - GetKeyIdRequirement
    linkageType: ''
    returnType: util::StatusOr<SecretProto<Keyset::Key>>
    signature: "util::StatusOr<SecretProto<Keyset::Key>> ParametersEntry::CreateKeysetKey(\n
      \   int id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:58,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:59,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:61,1
    - Dst: SerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:64,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:66,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_registry_test.cc:66,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/serialization_registry_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:67,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:67,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:67,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:68,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:68,1
    - Dst: SerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:71,1
    - Dst: IdParamsSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:73,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_registry_test.cc:73,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/serialization_registry_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:74,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:74,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:74,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:75,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::Builder::RegisterParametersParser
    - IdParamsSerialization
    - IsOk
    - std::move
    - ASSERT_THAT
    - typeid
    - std::type_index
    - NoIdSerialization
    - EXPECT_THAT
    - IsFalse
    - IsTrue
    - SerializationRegistry::ParseParameters
    - HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/internal/serialization_registry_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:81,1
    - Dst: SerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:81,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:81,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - NoIdSerialization
    - StatusIs
    - SerializationRegistry::ParseParameters
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, ParseParametersWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:90,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:91,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:91,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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - SerializationRegistry::Builder::RegisterParametersParser
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegisterSameParametersParser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:102,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:103,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - SerializationRegistry::Builder::RegisterParametersParser
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(SerializationRegistryTest,\n     RegisterDifferentParametersParserWithSameIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:113,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:114,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:114,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:116,1
    - Dst: SerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:119,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_registry_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:121,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:121,1
    - Dst: SerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:124,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_registry_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:126,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::SerializeParameters
    - IsOk
    - NoIdParams
    - std::move
    - ASSERT_THAT
    - IdParams
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterParametersSerializer
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/internal/serialization_registry_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:132,1
    - Dst: SerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:133,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_registry_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::SerializeParameters
    - NoIdParams
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, SerializeParametersWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:142,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:143,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterParametersSerializer
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegisterSameParametersSerializer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:154,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:155,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterParametersSerializer
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(SerializationRegistryTest,\n     RegisterDifferentParametersSerializerWithSameIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:163,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:164,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:164,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:166,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:169,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:169,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:171,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:171,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:171,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:172,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:172,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:174,1
    - Dst: IdKeySerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:175,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:177,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:177,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:177,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:178,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:179,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/serialization_registry_test.cc:179,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - typeid
    - IdKeySerialization
    - std::type_index
    - NoIdSerialization
    - SerializationRegistry::Builder::RegisterKeyParser
    - EXPECT_THAT
    - GetIdRequirement
    - SerializationRegistry::ParseKey
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:185,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:185,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:187,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:190,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:192,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:192,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:192,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:193,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::move
    - ASSERT_THAT
    - typeid
    - std::type_index
    - NoIdSerialization
    - SerializationRegistry::Builder::RegisterKeyParser
    - EXPECT_THAT
    - SerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, ParseKeyNoSecretAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/internal/serialization_registry_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:199,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:200,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:200,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:200,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - NoIdSerialization
    - StatusIs
    - SerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, ParseKeyWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:209,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:210,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterKeyParser
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegisterSameKeyParser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:218,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:219,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:219,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterKeyParser
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegisterDifferentKeyParserWithSameIndex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:227,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:228,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:228,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:230,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:233,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:233,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:236,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:236,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:236,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:239,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:239,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:242,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:242,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - IsOk
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - IdKey
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - SerializationRegistry::SerializeKey
    - Eq
    - SerializationRegistry::Builder::RegisterKeySerializer
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:248,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:248,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:250,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:253,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:256,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:256,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - IsOk
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - SerializationRegistry::SerializeKey
    - Eq
    - SerializationRegistry::Builder::RegisterKeySerializer
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, SerializeKeyNoSecretAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:263,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:263,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:265,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:265,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - SerializationRegistry::SerializeKey
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, SerializeKeyWithoutRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:274,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:274,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:275,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterKeySerializer
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegisterSameKeySerializer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:283,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:284,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/serialization_registry_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusIs
    - EXPECT_THAT
    - SerializationRegistry::Builder::RegisterKeySerializer
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegisterDifferentKeySerializerWithSameIndex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:294,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:295,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:295,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:302,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:303,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:303,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:305,1
    - Dst: SerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:308,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:310,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_registry_test.cc:310,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/serialization_registry_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:311,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:311,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:311,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:312,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:312,1
    - Dst: SerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:315,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_registry_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:317,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:317,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:317,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:320,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:320,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:320,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:322,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:322,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:322,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:322,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:322,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:325,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:325,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:328,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:328,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 329
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::Builder::RegisterParametersParser
    - SerializationRegistry::SerializeParameters
    - NoIdKey
    - NoIdParams
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - typeid
    - std::type_index
    - IsFalse
    - SerializationRegistry::SerializeKey
    - SerializationRegistry::ParseParameters
    - HasIdRequirement
    - SerializationRegistry::Builder::RegisterKeySerializer
    - IsOk
    - NoIdSerialization
    - EXPECT_THAT
    - ObjectIdentifier
    - SerializationRegistry::Builder::RegisterParametersSerializer
    - Eq
    - SerializationRegistry::Builder::RegisterKeyParser
    - SerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, BuiltFromAnotherRegistry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:339,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:339,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:340,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:341,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:341,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:342,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:342,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:344,1
    - Dst: SerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:348,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:349,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:350,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_registry_test.cc:350,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/serialization_registry_test.cc:350,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:351,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:351,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:351,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:352,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:352,1
    - Dst: SerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:355,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_registry_test.cc:355,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:356,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:356,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:357,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:357,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:357,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:360,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:360,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:361,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:361,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:362,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:362,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:362,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:362,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:362,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:365,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:365,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:368,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:368,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 369
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::Builder::RegisterParametersParser
    - SerializationRegistry::SerializeParameters
    - NoIdKey
    - NoIdParams
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - typeid
    - std::type_index
    - IsFalse
    - SerializationRegistry::SerializeKey
    - SerializationRegistry::ParseParameters
    - HasIdRequirement
    - SerializationRegistry::Builder::RegisterKeySerializer
    - IsOk
    - NoIdSerialization
    - EXPECT_THAT
    - ObjectIdentifier
    - SerializationRegistry::Builder::RegisterParametersSerializer
    - Eq
    - SerializationRegistry::Builder::RegisterKeyParser
    - SerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegistryCopy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:379,1
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:380,1
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:380,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:381,1
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/serialization_registry_test.cc:381,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:381,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:382,1
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/serialization_registry_test.cc:382,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:382,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:384,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry_test.cc:385,1
    - Dst: SerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:388,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:389,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:390,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_registry_test.cc:390,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/serialization_registry_test.cc:390,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:391,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:391,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:391,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:392,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:392,1
    - Dst: SerializationRegistry::SerializeParameters
      Src: /src/tink/cc/internal/serialization_registry_test.cc:395,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_registry_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:396,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:397,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:397,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:397,1
    - Dst: SerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:400,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_registry_test.cc:400,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:401,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:402,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:402,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:402,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/serialization_registry_test.cc:402,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry_test.cc:402,1
    - Dst: SerializationRegistry::SerializeKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:405,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_registry_test.cc:405,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_registry_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:407,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/serialization_registry_test.cc:407,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_registry_test.cc:408,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_registry_test.cc:408,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_registry_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 409
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_registry_test.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::Builder::RegisterParametersParser
    - SerializationRegistry::SerializeParameters
    - NoIdKey
    - NoIdParams
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - typeid
    - std::type_index
    - IsFalse
    - SerializationRegistry::SerializeKey
    - SerializationRegistry::ParseParameters
    - HasIdRequirement
    - SerializationRegistry::Builder::RegisterKeySerializer
    - IsOk
    - NoIdSerialization
    - EXPECT_THAT
    - ObjectIdentifier
    - SerializationRegistry::Builder::RegisterParametersSerializer
    - Eq
    - SerializationRegistry::Builder::RegisterKeyParser
    - SerializationRegistry::ParseKey
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationRegistryTest, RegistryMove)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:37,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:41,1
    - Dst: util::Buffer*::allocated_size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:48,1
    - Dst: crypto::tink::internal::TestRandomAccessStream::size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:51,1
    - Dst: util::Buffer*::set_size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:53,1
    - Dst: util::Buffer*::set_size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:55,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/test_random_access_stream.cc:56,1
    - Dst: std::copy
      Src: /src/tink/cc/internal/test_random_access_stream.cc:61,1
    - Dst: begin
      Src: /src/tink/cc/internal/test_random_access_stream.cc:61,1
    - Dst: begin
      Src: /src/tink/cc/internal/test_random_access_stream.cc:62,1
    - Dst: util::Buffer*::get_mem_block
      Src: /src/tink/cc/internal/test_random_access_stream.cc:63,1
    - Dst: util::Buffer*::set_size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:64,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/test_random_access_stream.cc:65,1
    - Dst: crypto::tink::internal::TestRandomAccessStream::size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:70,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - util::Buffer*
    constantsTouched: []
    func_position:
      end: 73
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::TestRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - util::Buffer*::get_mem_block
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - begin
    - util::Buffer*::set_size
    - crypto::tink::internal::TestRandomAccessStream::size
    - util::Buffer*::allocated_size
    - crypto::tink::util::OkStatus
    - std::copy
    linkageType: ''
    returnType: util::Status
    signature: "util::Status TestRandomAccessStream::PRead(int64_t position, int count,\n
      \                                          util::Buffer* dest_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:79,1
    - Dst: clear
      Src: /src/tink/cc/internal/test_random_access_stream.cc:82,1
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream.cc:84,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/internal/test_random_access_stream.cc:84,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/test_random_access_stream.cc:86,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/test_random_access_stream.cc:87,1
    - Dst: RandomAccessStream*::PRead
      Src: /src/tink/cc/internal/test_random_access_stream.cc:88,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/internal/test_random_access_stream.cc:88,1
    - Dst: append
      Src: /src/tink/cc/internal/test_random_access_stream.cc:89,1
    - Dst: std::unique_ptr::get_mem_block
      Src: /src/tink/cc/internal/test_random_access_stream.cc:89,1
    - Dst: std::unique_ptr::size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:89,1
    - Dst: size
      Src: /src/tink/cc/internal/test_random_access_stream.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - random_access_stream
    - ' contents'
    - chunk_size
    argTypes:
    - RandomAccessStream*
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::ReadAllFromRandomAccessStream
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.cc
    functionUses: 2
    functionsReached:
    - std::unique_ptr::size
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::util::Buffer::New
    - std::unique_ptr::get
    - append
    - std::unique_ptr::get_mem_block
    - RandomAccessStream*::PRead
    - crypto::tink::util::OkStatus
    - clear
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadAllFromRandomAccessStream(\n    RandomAccessStream*
      random_access_stream, std::string& contents,\n    int chunk_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:38,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/key_status_util_test.cc:38,1
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:41,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:42,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/key_status_util_test.cc:42,1
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:46,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/key_status_util_test.cc:46,1
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:50,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_status_util_test.cc:50,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_status_util_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_status_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::FromKeyStatusType
    - IsOkAndHolds
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KeyStatusUtilTest, FromKeyStatusType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ToKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:55,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/key_status_util_test.cc:55,1
    - Dst: crypto::tink::internal::ToKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:59,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/key_status_util_test.cc:59,1
    - Dst: crypto::tink::internal::ToKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:63,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/key_status_util_test.cc:63,1
    - Dst: crypto::tink::internal::ToKeyStatusType
      Src: /src/tink/cc/internal/key_status_util_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_status_util_test.cc:67,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/key_status_util_test.cc:67,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_status_util_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_status_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOkAndHolds
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ToKeyStatusType
    linkageType: ''
    returnType: void
    signature: void TEST(KeyStatusUtilTest, ToKeyStatusType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_status_util_test.cc:71,1
    - Dst: crypto::tink::internal::ToKeyStatusName
      Src: /src/tink/cc/internal/key_status_util_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_status_util_test.cc:72,1
    - Dst: crypto::tink::internal::ToKeyStatusName
      Src: /src/tink/cc/internal/key_status_util_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_status_util_test.cc:73,1
    - Dst: crypto::tink::internal::ToKeyStatusName
      Src: /src/tink/cc/internal/key_status_util_test.cc:73,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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_status_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ToKeyStatusName
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(KeyStatusUtilTest, ToKeyStatusName)
  - 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: crypto::tink::internal::SetFipsRestricted
    functionSourceFile: /src/tink/cc/internal/fips_utils.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetFipsRestricted()
  - 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: crypto::tink::internal::UnSetFipsRestricted
    functionSourceFile: /src/tink/cc/internal/fips_utils.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnSetFipsRestricted()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: crypto::tink::internal::IsFipsModeEnabled
    functionSourceFile: /src/tink/cc/internal/fips_utils.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsFipsModeEnabled()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_mode
      Src: /src/tink/cc/internal/fips_utils.cc: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: crypto::tink::internal::IsFipsEnabledInSsl
    functionSourceFile: /src/tink/cc/internal/fips_utils.cc
    functionUses: 2
    functionsReached:
    - FIPS_mode
    linkageType: ''
    returnType: bool
    signature: bool IsFipsEnabledInSsl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/fips_utils.cc:55,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/fips_utils.cc:56,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/fips_utils.cc:59,1
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/fips_utils.cc:62,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/fips_utils.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/fips_utils.cc:63,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/fips_utils.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/fips_utils.cc:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - fips_status
    argTypes:
    - FipsCompatibility
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::ChecksFipsCompatibility
    functionSourceFile: /src/tink/cc/internal/fips_utils.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChecksFipsCompatibility(FipsCompatibility fips_status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/fips_utils_test.cc:46,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/fips_utils_test.cc:49,1
    - Dst: crypto::tink::internal::CheckFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils_test.cc:49,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/fips_utils_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/fips_utils_test.cc:50,1
    - Dst: crypto::tink::internal::CheckFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils_test.cc:50,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/fips_utils_test.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/fips_utils_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CheckFipsCompatibility
    - EXPECT_THAT
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(FipsUtilsTest, CompatibilityInNonFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/fips_utils_test.cc:54,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/fips_utils_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/fips_utils_test.cc:59,1
    - Dst: crypto::tink::internal::CheckFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils_test.cc:59,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/fips_utils_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/fips_utils_test.cc:61,1
    - Dst: crypto::tink::internal::CheckFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/fips_utils_test.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/fips_utils_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CheckFipsCompatibility
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(FipsUtilsTest, CompatibilityInFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/fips_utils_test.cc:65,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/fips_utils_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/fips_utils_test.cc:71,1
    - Dst: crypto::tink::internal::CheckFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils_test.cc:71,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/fips_utils_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/fips_utils_test.cc:76,1
    - Dst: crypto::tink::internal::CheckFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils_test.cc:76,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/fips_utils_test.cc:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/fips_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CheckFipsCompatibility
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(TinkFipsTest, CompatibilityInFipsModeWithoutBoringCrypto)
  - 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: crypto::tink::internal::X25519KeyPubKeySize
    functionSourceFile: /src/tink/cc/internal/ec_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t X25519KeyPubKeySize()
  - 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: crypto::tink::internal::X25519KeyPrivKeySize
    functionSourceFile: /src/tink/cc/internal/ec_util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t X25519KeyPrivKeySize()
  - 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: crypto::tink::internal::X25519KeySharedKeySize
    functionSourceFile: /src/tink/cc/internal/ec_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t X25519KeySharedKeySize()
  - 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: crypto::tink::internal::Ed25519KeyPubKeySize
    functionSourceFile: /src/tink/cc/internal/ec_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Ed25519KeyPubKeySize()
  - 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: crypto::tink::internal::Ed25519KeyPrivKeySize
    functionSourceFile: /src/tink/cc/internal/ec_util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Ed25519KeyPrivKeySize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::FakePrimitive::FakePrimitive
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePrimitive(std::string s)
  - 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: crypto::tink::internal::FakePrimitive::get
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:78,1
    - Dst: key_value
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::FakeKeyTypeManager::FakePrimitiveFactory::Create
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - key_value
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitiveFactory>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::FakeKeyTypeManager::FakeKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakePrimitiveFactory>
    linkageType: ''
    returnType: void
    signature: void FakeKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: crypto::tink::internal::FakeKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() const override
  - 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: crypto::tink::internal::FakeKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: crypto::tink::internal::FakeKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const AesGcmKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::FakeKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat& key_format)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::FakeKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: crypto::tink::internal::FakeKeyTypeManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:124,1
    - Dst: std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: crypto::tink::internal::FakePrimitiveWrapper::Wrap
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Wrap(\n      std::unique_ptr<PrimitiveSet<FakePrimitive>>
      primitive_set)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:135,1
    - Dst: std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: crypto::tink::internal::FakePrimitiveWrapper2::Wrap
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Wrap(\n      std::unique_ptr<PrimitiveSet<FakePrimitive>>
      primitive_set)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:144,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:145,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:145,1
    - Dst: KeyData::set_value
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:147,1
    - Dst: AesGcmKey::SerializeAsString
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:147,1
    - Dst: KeyData::set_type_url
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:148,1
    - Dst: crypto::tink::test::AddKeyData
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:149,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ' keyset'
    - key_id
    - output_prefix_type
    - key_status_type
    argTypes:
    - Keyset
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: crypto::tink::internal::AddAesGcmKeyToKeyset
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 4
    functionsReached:
    - AesGcmKey::set_version
    - KeyData::set_type_url
    - AesGcmKey::key_value
    - KeyData::set_value
    - crypto::tink::test::AddKeyData
    - AesGcmKey::SerializeAsString
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: std::string
    signature: "std::string AddAesGcmKeyToKeyset(Keyset& keyset, uint32_t key_id,\n
      \                                OutputPrefixType output_prefix_type,\n                                 KeyStatusType
      key_status_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegisterKeyTypeManager
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:160,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:162,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:164,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' registry'
    argTypes:
    - RegistryImpl
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: crypto::tink::internal::PrimitiveGetter
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - RegisterKeyTypeManager
    - util::Status::ok
    - absl::make_unique<FakeKeyTypeManager>
    - GetPrimitive
    linkageType: ''
    returnType: "util::StatusOr<std::function<\n    util::StatusOr<std::unique_ptr<FakePrimitive>>(const
      KeyData& key_data)>>"
    signature: "util::StatusOr<std::function<\n    util::StatusOr<std::unique_ptr<FakePrimitive>>(const
      KeyData& key_data)>> PrimitiveGetter(RegistryImpl& registry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:180,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:181,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, Add)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:194,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:194,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, AddNull)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:207,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:208,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:210,1
    - Dst: RegistryImpl::GetPrimitive
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:216,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:216,1
    - Dst: absl::make_unique<MacWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - RegistryImpl::GetPrimitive
    - absl::make_unique<MacWrapper>
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, AddWrappersForDifferentPrimitivesSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:229,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:230,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:233,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:234,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 237
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, AddSameWrapperTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:247,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:248,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:251,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:252,1
    - Dst: absl::make_unique<FakePrimitiveWrapper2>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:253,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 255
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakePrimitiveWrapper2>
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, AddDifferentWrappersForSamePrimitiveFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:265,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:266,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:268,1
    - Dst: KeysetWrapperStore::GetPrimitiveWrapper
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:272,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:275,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:278,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:279,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:281,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:282,1
    - Dst: KeysetInfo::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:283,1
    - Dst: PrimitiveSet<FakePrimitive>::PrimitiveSet<FakePrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:285,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:286,1
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:287,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:289,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:289,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:292,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:294,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:294,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 295
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - KeysetWrapperStore::GetPrimitiveWrapper
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - IsOk
    - EXPECT_THAT
    - absl::make_unique<FakePrimitive>
    - PrimitiveSet<FakePrimitive>::PrimitiveSet<FakePrimitive>
    - std::unique_ptr::AddPrimitive
    - KeysetWrapperStore::Add
    - Wrap
    - Eq
    - KeysetInfo::key_info
    - crypto::tink::internal::PrimitiveGetter
    - get
    - KeysetInfo::mutable_key_info
    - KeysetInfo::add_key_info
    - KeysetInfo::set_primary_key_id
    - absl::make_unique<FakePrimitiveWrapper>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, GetPrimitiveWrapper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:305,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:306,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:310,1
    - Dst: KeysetWrapperStore::GetPrimitiveWrapper
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:310,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - KeysetWrapperStore::GetPrimitiveWrapper
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, GetPrimitiveWrapperNonexistentWrapperFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:322,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:323,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:325,1
    - Dst: KeysetWrapperStore::Get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:329,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:329,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:332,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:334,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:339,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:339,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 340
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - IsOk
    - Keyset::set_primary_key_id
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - KeysetWrapperStore::Get
    - Eq
    - Wrap
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    - get
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, Get)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:350,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:351,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:353,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:355,1
    - Dst: KeysetWrapperStore::Get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:355,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 356
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - KeysetWrapperStore::Get
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, GetNonexistentWrapperFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:360,1
    - Dst: KeysetWrapperStore::IsEmpty
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:360,1
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:365,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:366,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:367,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:368,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:369,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:370,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:371,1
    - Dst: KeysetWrapperStore::IsEmpty
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 372
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - KeysetWrapperStore::IsEmpty
    - KeysetWrapperStore::Add
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, IsEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrimitiveGetter
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:378,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:382,1
    - Dst: KeysetWrapperStore::Add
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:383,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:384,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:385,1
    - Dst: KeysetWrapperStore::Get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:389,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:391,1
    - Dst: KeysetWrapperStore::Get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:392,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:393,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:393,1
    - Dst: crypto::tink::internal::AddAesGcmKeyToKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:396,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:398,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:401,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:402,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:402,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:403,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:403,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_wrapper_store_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 404
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddAesGcmKeyToKeyset
    - IsOk
    - std::move
    - Keyset::set_primary_key_id
    - KeysetWrapperStore::Add
    - ASSERT_THAT
    - KeysetWrapperStore::Get
    - Eq
    - Wrap
    - EXPECT_THAT
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::internal::PrimitiveGetter
    - get
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperStoreTest, Move)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/test_random_access_stream.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - content
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: crypto::tink::internal::TestRandomAccessStream::TestRandomAccessStream
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TestRandomAccessStream(std::string content)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestRandomAccessStream
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: crypto::tink::internal::TestRandomAccessStream::TestRandomAccessStream
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestRandomAccessStream(TestRandomAccessStream&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - TestRandomAccessStream
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: '& operator=(TestRandomAccessStream&& other)'
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestRandomAccessStream
    signature: TestRandomAccessStream & operator=(TestRandomAccessStream&& other)
  - 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: crypto::tink::internal::TestRandomAccessStream::TestRandomAccessStream
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestRandomAccessStream(const TestRandomAccessStream&)
  - 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: '& operator=(const TestRandomAccessStream&)'
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestRandomAccessStream
    signature: TestRandomAccessStream & operator=(const TestRandomAccessStream&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::TestRandomAccessStream::size
      Src: /src/tink/cc/internal/test_random_access_stream.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: crypto::tink::internal::TestRandomAccessStream::size
    functionSourceFile: /src/tink/cc/internal/test_random_access_stream.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::TestRandomAccessStream::size
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: util::StatusOr<int64_t> size() override
  - 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: ~ParametersSerializer()
    functionSourceFile: /src/tink/cc/internal/parameters_serializer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - object_identifier
    - "\n          function"
    argTypes:
    - absl::string_view
    - std::function<util::StatusOr<SerializationT>(ParametersT)>
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::ParametersSerializerImpl::ParametersSerializerImpl
    functionSourceFile: /src/tink/cc/internal/parameters_serializer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ParametersSerializerImpl(\n      absl::string_view object_identifier,\n
      \     const std::function<util::StatusOr<SerializationT>(ParametersT)>&\n          function)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ParametersT*>
      Src: /src/tink/cc/internal/parameters_serializer.h:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/parameters_serializer.h:78,1
    - Dst: function_
      Src: /src/tink/cc/internal/parameters_serializer.h:82,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/parameters_serializer.h:83,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/parameters_serializer.h:83,1
    - Dst: absl::make_unique<SerializationT>
      Src: /src/tink/cc/internal/parameters_serializer.h:84,1
    - Dst: std::move
      Src: /src/tink/cc/internal/parameters_serializer.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::ParametersSerializerImpl::SerializeParameters
    functionSourceFile: /src/tink/cc/internal/parameters_serializer.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    - function_
    - dynamic_cast<const ParametersT*>
    - absl::make_unique<SerializationT>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Serialization>>
    signature: "util::StatusOr<std::unique_ptr<Serialization>> SerializeParameters(\n
      \     const Parameters& parameters) const override"
  - 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: crypto::tink::internal::ParametersSerializerImpl::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/parameters_serializer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializerIndex::Create<ParametersT, SerializationT>
      Src: /src/tink/cc/internal/parameters_serializer.h: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: crypto::tink::internal::ParametersSerializerImpl::Index
    functionSourceFile: /src/tink/cc/internal/parameters_serializer.h
    functionUses: 0
    functionsReached:
    - SerializerIndex::Create<ParametersT, SerializationT>
    linkageType: ''
    returnType: SerializerIndex
    signature: SerializerIndex Index() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: crypto::tink::internal::IsWindows
    functionSourceFile: /src/tink/cc/internal/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsWindows()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtoKeySerialization::EqualsWithPotentialFalseNegatives
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serialization
    - other
    argTypes:
    - ProtoKeySerialization
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::LegacyProtoKeyTest::Equals
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - ProtoKeySerialization::EqualsWithPotentialFalseNegatives
    linkageType: ''
    returnType: bool
    signature: "bool Equals(ProtoKeySerialization serialization,\n              ProtoKeySerialization
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:62,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:62,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:67,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:67,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:70,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:71,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:73,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:74,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:74,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:75,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:75,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:75,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:78,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:79,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:80,1
    - Dst: Equals
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:80,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetIdRequirement
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - util::StatusOr::Serialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_THAT
    - IsTrue
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, CreateAndSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:85,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:85,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:91,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:97,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:97,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:100,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:101,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:101,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:103,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:105,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:115,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:115,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:121,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:121,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:127,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:127,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:130,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:131,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:131,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:133,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, TypeUrlNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:145,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:145,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:147,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:147,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:153,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:159,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:159,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:162,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:163,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:165,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:167,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:171,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, SerializedKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:177,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:177,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:183,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:183,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:189,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:189,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:192,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:193,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:193,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:195,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:197,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:199,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:200,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:201,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 203
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, KeyMaterialTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:207,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:207,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:213,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:213,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:220,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:220,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:223,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:224,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:224,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:226,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:228,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:230,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:232,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 234
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, OutputPrefixTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:238,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:238,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:244,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:244,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:247,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:250,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:250,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:253,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:254,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:254,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:256,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:258,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:258,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:261,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:262,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 264
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(LegacyProtoKeyTest, IdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:279,1
    - Dst: GetParam
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:279,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:282,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:282,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:287,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:287,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:290,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:291,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:293,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:293,1
    - Dst: Eq
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetIdRequirement
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - std::tie
    - crypto::tink::internal::LegacyProtoKey::Create
    - EXPECT_THAT
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AllOutputPrefixTypesTest, GetIdRequirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:303,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:306,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:306,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:312,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:312,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:315,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:316,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:316,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:319,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:320,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:320,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - util::StatusOr::Serialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(AllKeyMaterialTypesTest, CreateAndSerializationWithSecretAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:331,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:334,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:334,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:340,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:340,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:344,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:344,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SecretKeyMaterialTypesTest, CreateWithoutSecretAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:348,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:351,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:351,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:357,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:357,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:357,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:361,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:362,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:362,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:365,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:366,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:366,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 368
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - util::StatusOr::Serialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SecretKeyMaterialTypesTest, SerializationWithoutSecretAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:377,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:380,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:380,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:383,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:386,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:386,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:386,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:390,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 391
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(NonSecretKeyMaterialTypesTest, CreateWithoutSecretAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:394,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:397,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:397,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:403,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:403,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:407,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:408,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:408,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:408,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:411,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:412,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:412,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/legacy_proto_key_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 413
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/legacy_proto_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - util::StatusOr::Serialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(NonSecretKeyMaterialTypesTest, SerializationWithoutSecretAccessToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<\n      ParametersSerializerImpl<NoIdParams, NoIdSerialization>>"
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:43,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:47,1
    - Dst: std::unique_ptr::ObjectIdentifier
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:47,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:48,1
    - Dst: std::unique_ptr::Index
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:49,1
    - Dst: SerializerIndex::Create<NoIdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_serializer_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ObjectIdentifier
    - std::unique_ptr::Index
    - SerializerIndex::Create<NoIdParams, NoIdSerialization>
    - "absl::make_unique<\n      ParametersSerializerImpl<NoIdParams, NoIdSerialization>>"
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersSerializerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<\n      ParametersSerializerImpl<NoIdParams, NoIdSerialization>>"
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:53,1
    - Dst: std::unique_ptr::SerializeParameters
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:59,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:61,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_serializer_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::unique_ptr::SerializeParameters
    - "absl::make_unique<\n      ParametersSerializerImpl<NoIdParams, NoIdSerialization>>"
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersSerializerTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<\n      ParametersSerializerImpl<NoIdParams, NoIdSerialization>>"
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:65,1
    - Dst: std::unique_ptr::SerializeParameters
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:72,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/parameters_serializer_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_serializer_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::unique_ptr::SerializeParameters
    - "absl::make_unique<\n      ParametersSerializerImpl<NoIdParams, NoIdSerialization>>"
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersSerializerTest, SerializeParametersWithInvalidParametersType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_PUT_ERROR
      Src: /src/tink/cc/internal/err_util_test.cc:41,1
    - Dst: OPENSSL_PUT_ERROR
      Src: /src/tink/cc/internal/err_util_test.cc:42,1
    - Dst: OPENSSL_PUT_ERROR
      Src: /src/tink/cc/internal/err_util_test.cc:43,1
    - Dst: BIOerr
      Src: /src/tink/cc/internal/err_util_test.cc:45,1
    - Dst: BIOerr
      Src: /src/tink/cc/internal/err_util_test.cc:46,1
    - Dst: BIOerr
      Src: /src/tink/cc/internal/err_util_test.cc:47,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/err_util_test.cc:49,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/err_util_test.cc:54,1
    - Dst: auto::remove_suffix
      Src: /src/tink/cc/internal/err_util_test.cc:55,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/internal/err_util_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/err_util_test.cc:58,1
    - Dst: SizeIs
      Src: /src/tink/cc/internal/err_util_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/err_util_test.cc:70,1
    - Dst: AllOf
      Src: /src/tink/cc/internal/err_util_test.cc:70,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/err_util_test.cc:70,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/err_util_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/err_util_test.cc:71,1
    - Dst: AllOf
      Src: /src/tink/cc/internal/err_util_test.cc:72,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/err_util_test.cc:72,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/err_util_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/err_util_test.cc:73,1
    - Dst: AllOf
      Src: /src/tink/cc/internal/err_util_test.cc:74,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/err_util_test.cc:74,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/err_util_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/err_util_test.cc:77,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/err_util_test.cc:77,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/err_util_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 78
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/err_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - SizeIs
    - AllOf
    - auto::remove_suffix
    - crypto::tink::internal::GetSslErrors
    - absl::StrSplit
    - ASSERT_THAT
    - BIOerr
    - OPENSSL_PUT_ERROR
    - EXPECT_THAT
    - HasSubstr
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST(GetSslErrorsTest, ReturnsExpectedErrorrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tink/cc/internal/call_with_core_dump_protection.h:31,1
    - Dst: func
      Src: /src/tink/cc/internal/call_with_core_dump_protection.h:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' func'
    argTypes:
    - Func
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: crypto::tink::internal::CallWithCoreDumpProtection
    functionSourceFile: /src/tink/cc/internal/call_with_core_dump_protection.h
    functionUses: 2
    functionsReached:
    - func
    linkageType: ''
    returnType: auto
    signature: auto CallWithCoreDumpProtection(Func&& func) -> decltype(func())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::MakeSecretUniquePtr<AES_KEY>
      Src: /src/tink/cc/internal/aes_util_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: crypto::tink::internal::AesCtrTest::AesCtrTest
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - util::MakeSecretUniquePtr<AES_KEY>
    linkageType: ''
    returnType: void
    signature: void AesCtrTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/aes_util_test.cc:59,1
    - Dst: AES_set_encrypt_key
      Src: /src/tink/cc/internal/aes_util_test.cc:59,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:60,1
    - Dst: key::data
      Src: /src/tink/cc/internal/aes_util_test.cc:60,1
    - Dst: key::size
      Src: /src/tink/cc/internal/aes_util_test.cc:61,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::AesCtrTest::SetUp
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - AES_set_encrypt_key
    - reinterpret_cast<const uint8_t*>
    - key::size
    - key::data
    - get
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: plaintext::size
      Src: /src/tink/cc/internal/aes_util_test.cc:84,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/aes_util_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:86,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:86,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:87,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:88,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:88,1
    - Dst: Not
      Src: /src/tink/cc/internal/aes_util_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - plaintext::size
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::ResizeStringUninitialized
    - crypto::tink::internal::AesCtr128Crypt
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrTest, AesCtrInvalidOutSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/aes_util_test.cc:96,1
    - Dst: plaintext::size
      Src: /src/tink/cc/internal/aes_util_test.cc:96,1
    - Dst: std::copy
      Src: /src/tink/cc/internal/aes_util_test.cc:98,1
    - Dst: plaintext::begin
      Src: /src/tink/cc/internal/aes_util_test.cc:98,1
    - Dst: plaintext::end
      Src: /src/tink/cc/internal/aes_util_test.cc:98,1
    - Dst: std::string::begin
      Src: /src/tink/cc/internal/aes_util_test.cc:99,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/aes_util_test.cc:101,1
    - Dst: plaintext::size
      Src: /src/tink/cc/internal/aes_util_test.cc:101,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:102,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:103,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:104,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:104,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/aes_util_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/aes_util_test.cc:108,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/aes_util_test.cc:108,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:109,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:110,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:111,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:112,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/aes_util_test.cc:112,1
    - Dst: auto::size
      Src: /src/tink/cc/internal/aes_util_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:113,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/aes_util_test.cc:114,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/aes_util_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - plaintext::size
    - crypto::tink::subtle::ResizeStringUninitialized
    - auto::size
    - StatusIs
    - HasSubstr
    - EXPECT_THAT
    - std::string::begin
    - plaintext::end
    - crypto::tink::internal::AesCtr128Crypt
    - plaintext::begin
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    - get
    - std::copy
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrTest, AesCtrPartiallyOverlappingFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/aes_util_test.cc:119,1
    - Dst: plaintext::size
      Src: /src/tink/cc/internal/aes_util_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:120,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:120,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:121,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:122,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/aes_util_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - plaintext::size
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - crypto::tink::subtle::ResizeStringUninitialized
    - crypto::tink::internal::AesCtr128Crypt
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrTest, AesCtrEncrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:129,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:130,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:130,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:131,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/aes_util_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::AesCtr128Crypt
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrTest, AesCtrEncryptInPlace)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/aes_util_test.cc:138,1
    - Dst: ciphertext::size
      Src: /src/tink/cc/internal/aes_util_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:139,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:139,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:140,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:141,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/aes_util_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ResizeStringUninitialized
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - ciphertext::size
    - crypto::tink::internal::AesCtr128Crypt
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrTest, AesCtrDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:148,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/internal/aes_util_test.cc:149,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util_test.cc:149,1
    - Dst: get
      Src: /src/tink/cc/internal/aes_util_test.cc:150,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/aes_util_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/aes_util_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::AesCtr128Crypt
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrTest, AesCtrDecryptInPlace)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesCtrCipherForKeySize
      Src: /src/tink/cc/internal/aes_util_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:159,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/aes_util_test.cc:159,1
    - Dst: EVP_aes_128_ctr
      Src: /src/tink/cc/internal/aes_util_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:161,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/aes_util_test.cc:161,1
    - Dst: EVP_aes_256_ctr
      Src: /src/tink/cc/internal/aes_util_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:163,1
    - Dst: Not
      Src: /src/tink/cc/internal/aes_util_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EVP_aes_128_ctr
    - crypto::tink::internal::GetAesCtrCipherForKeySize
    - IsOkAndHolds
    - EXPECT_THAT
    - EVP_aes_256_ctr
    linkageType: ''
    returnType: void
    signature: void TEST(AesUtilTest, GetAesCtrCipherForKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesCbcCipherForKeySize
      Src: /src/tink/cc/internal/aes_util_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:172,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/aes_util_test.cc:172,1
    - Dst: EVP_aes_128_cbc
      Src: /src/tink/cc/internal/aes_util_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:174,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/aes_util_test.cc:174,1
    - Dst: EVP_aes_256_cbc
      Src: /src/tink/cc/internal/aes_util_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/aes_util_test.cc:176,1
    - Dst: Not
      Src: /src/tink/cc/internal/aes_util_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/aes_util_test.cc:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/aes_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EVP_aes_128_cbc
    - IsOkAndHolds
    - EXPECT_THAT
    - EVP_aes_256_cbc
    - crypto::tink::internal::GetAesCbcCipherForKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(AesUtilTest, GetAesCbcCipherForKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializeParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::MutableSerializationRegistry::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.h
    functionUses: 0
    functionsReached:
    - SerializeParameters
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(registry_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializeKey
      Src: /src/tink/cc/internal/mutable_serialization_registry.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::MutableSerializationRegistry::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.h
    functionUses: 0
    functionsReached:
    - SerializeKey
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(registry_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializationRegistry
      Src: /src/tink/cc/internal/mutable_serialization_registry.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: crypto::tink::internal::MutableSerializationRegistry::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.h
    functionUses: 0
    functionsReached:
    - SerializationRegistry
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(registry_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:48,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:52,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:53,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_encoding_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetValueOfFixedLength
    - IsOkAndHolds
    - absl::StrCat
    - EXPECT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnEncodingUtilTest, GetValueOfFixedLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:59,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:63,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:63,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc: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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_encoding_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetValueOfFixedLength
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnEncodingUtilTest, GetValueOfFixedLengthIntegerTooBig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:69,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:74,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_encoding_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOkAndHolds
    - crypto::tink::internal::GetValueOfFixedLength
    - EXPECT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnEncodingUtilTest, GetValueOfFixedLengthSameLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:89,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:94,1
    - Dst: BigInteger::SizeInBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:94,1
    - Dst: Eq
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:95,1
    - Dst: BigInteger::GetValue
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:95,1
    - Dst: Eq
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:97,1
    - Dst: SizeIs
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:98,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:100,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/internal/bn_encoding_util_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 112
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/bn_encoding_util_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::internal::GetValueOfFixedLength
    - EXPECT_THAT
    - absl::HexStringToBytes
    - BigInteger::GetValue
    - IsOkAndHolds
    - Eq
    - BigInteger::SizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(BnEncodingUtilTest, CreateBigIntegerObjectOfFixedLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha1
      Src: /src/tink/cc/internal/md_util.cc:40,1
    - Dst: EVP_sha224
      Src: /src/tink/cc/internal/md_util.cc:42,1
    - Dst: EVP_sha256
      Src: /src/tink/cc/internal/md_util.cc:44,1
    - Dst: EVP_sha384
      Src: /src/tink/cc/internal/md_util.cc:46,1
    - Dst: EVP_sha512
      Src: /src/tink/cc/internal/md_util.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/md_util.cc:50,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/md_util.cc:52,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/internal/md_util.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - subtle::HashType
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::EvpHashFromHashType
    functionSourceFile: /src/tink/cc/internal/md_util.cc
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_sha512
    - crypto::tink::internal::ExtractStatus
    - EVP_sha384
    - EVP_sha224
    - crypto::tink::subtle::EnumToString
    - EVP_sha1
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<const EVP_MD *>
    signature: util::StatusOr<const EVP_MD *> EvpHashFromHashType(subtle::HashType
      hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/md_util.cc:61,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/md_util.cc:64,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/md_util.cc:66,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/internal/md_util.cc:66,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/md_util.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - sig_hash
    argTypes:
    - subtle::HashType
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::IsHashTypeSafeForSignature
    functionSourceFile: /src/tink/cc/internal/md_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    - crypto::tink::subtle::EnumToString
    linkageType: ''
    returnType: util::Status
    signature: util::Status IsHashTypeSafeForSignature(subtle::HashType sig_hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/internal/md_util.cc:76,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/md_util.cc:78,1
    - Dst: EVP_Digest
      Src: /src/tink/cc/internal/md_util.cc:80,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/md_util.cc:80,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/internal/md_util.cc:80,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/internal/md_util.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/md_util.cc:83,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/md_util.cc:84,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/md_util.cc:85,1
    - Dst: std::string::resize
      Src: /src/tink/cc/internal/md_util.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - input
    - hasher
    argTypes:
    - absl::string_view
    - EVP_MD
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::ComputeHash
    functionSourceFile: /src/tink/cc/internal/md_util.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - absl::string_view::length
    - EVP_Digest
    - crypto::tink::internal::EnsureStringNonNull
    - absl::StrCat
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeHash(absl::string_view input,\n
      \                                       const EVP_MD &hasher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const LegacyProtoParameters*>
      Src: /src/tink/cc/internal/legacy_proto_parameters.cc:28,1
    - Dst: EqualsWithPotentialFalseNegatives
      Src: /src/tink/cc/internal/legacy_proto_parameters.cc:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: LegacyProtoParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.cc
    functionUses: 0
    functionsReached:
    - EqualsWithPotentialFalseNegatives
    - dynamic_cast<const LegacyProtoParameters*>
    linkageType: ''
    returnType: bool
    signature: bool LegacyProtoParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegistryImpl::RegistryImpl
      Src: /src/tink/cc/internal/registry_impl.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: '& GlobalInstance()'
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - RegistryImpl::RegistryImpl
    linkageType: ''
    returnType: RegistryImpl
    signature: RegistryImpl & GlobalInstance()
  - 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: crypto::tink::internal::RegistryImpl::RegistryImpl
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegistryImpl()
  - 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: crypto::tink::internal::RegistryImpl::RegistryImpl
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RegistryImpl(const RegistryImpl&)
  - 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: '& operator=(const RegistryImpl&)'
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RegistryImpl
    signature: RegistryImpl & operator=(const RegistryImpl&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reset
      Src: /src/tink/cc/internal/registry_impl.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: ~RegistryImpl()
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - Reset
    linkageType: ''
    returnType: void
    signature: void ~RegistryImpl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/tink/cc/internal/registry_impl.h: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: crypto::tink::internal::RegistryImpl::GetMonitoringClientFactory
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - load
    linkageType: ''
    returnType: crypto::tink::MonitoringClientFactory
    signature: crypto::tink::MonitoringClientFactory * GetMonitoringClientFactory()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/internal/registry_impl.h:176,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:178,1
    - Dst: AddKeyManager
      Src: /src/tink/cc/internal/registry_impl.h:182,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - KeyManager<P>*
    - bool
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: crypto::tink::internal::RegistryImpl::RegisterKeyManager
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - AddKeyManager
    - absl::WrapUnique
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegistryImpl::RegisterKeyManager(\n    KeyManager<P>*
      manager, bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:192,1
    - Dst: AddKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl.h:196,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - manager
    - new_key_allowed
    argTypes:
    - std::unique_ptr<KeyTypeManager<KeyProto, KeyFormatProto, PrimitiveList>>
    - bool
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: crypto::tink::internal::RegistryImpl::RegisterKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - AddKeyTypeManager
    - crypto::tink::internal::ExtractStatus
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegistryImpl::RegisterKeyTypeManager(\n
      \   std::unique_ptr<KeyTypeManager<KeyProto, KeyFormatProto, PrimitiveList>>\n
      \       manager,\n    bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/internal/registry_impl.h:207,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/internal/registry_impl.h:208,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:211,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:216,1
    - Dst: AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/registry_impl.h:222,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:223,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: crypto::tink::internal::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - AddAsymmetricKeyTypeManagers
    - absl::WrapUnique
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(maps_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:231,1
    - Dst: crypto::tink::internal::RegistryImpl::GetPrimitive
      Src: /src/tink/cc/internal/registry_impl.h:240,1
    - Dst: Add
      Src: /src/tink/cc/internal/registry_impl.h:242,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:242,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wrapper
    argTypes:
    - PrimitiveWrapper<P, Q>*
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: crypto::tink::internal::RegistryImpl::RegisterPrimitiveWrapper
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::RegistryImpl::GetPrimitive
    - Add
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status RegistryImpl::RegisterPrimitiveWrapper(\n
      \   PrimitiveWrapper<P, Q>* wrapper)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RegistryImpl::get_key_type_info
      Src: /src/tink/cc/internal/registry_impl.h:252,1
    - Dst: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::ok"
      Src: /src/tink/cc/internal/registry_impl.h:253,1
    - Dst: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::status"
      Src: /src/tink/cc/internal/registry_impl.h:254,1
    - Dst: crypto::tink::internal::RegistryImpl::get_key_manager
      Src: /src/tink/cc/internal/registry_impl.h:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type_url
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: crypto::tink::internal::RegistryImpl::get_key_manager
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::RegistryImpl::get_key_type_info
    - "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::status"
    - "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::ok"
    - crypto::tink::internal::RegistryImpl::get_key_manager
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const KeyManager<P>*>
    signature: crypto::tink::util::StatusOr<const KeyManager<P>*> RegistryImpl::get_key_manager(absl::string_view
      type_url) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RegistryImpl::get_key_type_info
      Src: /src/tink/cc/internal/registry_impl.h:264,1
    - Dst: type_url
      Src: /src/tink/cc/internal/registry_impl.h:264,1
    - Dst: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::ok"
      Src: /src/tink/cc/internal/registry_impl.h:265,1
    - Dst: "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::status"
      Src: /src/tink/cc/internal/registry_impl.h:266,1
    - Dst: crypto::tink::internal::RegistryImpl::GetPrimitive
      Src: /src/tink/cc/internal/registry_impl.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - google::crypto::tink::KeyData
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: crypto::tink::internal::RegistryImpl::GetPrimitive
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 2
    functionsReached:
    - "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::status"
    - crypto::tink::internal::RegistryImpl::get_key_type_info
    - type_url
    - "crypto::tink::util::StatusOr<\n      const crypto::tink::internal::KeyTypeInfoStore::Info*>::ok"
    - crypto::tink::internal::RegistryImpl::GetPrimitive
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> RegistryImpl::GetPrimitive(\n
      \   const google::crypto::tink::KeyData& key_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:275,1
    - Dst: GetPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl.h:283,1
    - Dst: crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*>::ok
      Src: /src/tink/cc/internal/registry_impl.h:284,1
    - Dst: crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*>::status
      Src: /src/tink/cc/internal/registry_impl.h:285,1
    - Dst: PrimitiveWrapper*::Wrap
      Src: /src/tink/cc/internal/registry_impl.h:289,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl.h:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<P>>
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: crypto::tink::internal::RegistryImpl::Wrap
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*>::ok
    - PrimitiveWrapper*::Wrap
    - crypto::tink::internal::ExtractStatus
    - std::move
    - GetPrimitiveWrapper
    - crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*>::status
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> RegistryImpl::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<P>> primitive_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tink/cc/internal/registry_impl.h:300,1
    - Dst: crypto::tink::util::StatusOr<const KeysetWrapper<P>*>::ok
      Src: /src/tink/cc/internal/registry_impl.h:301,1
    - Dst: crypto::tink::util::StatusOr<const KeysetWrapper<P>*>::status
      Src: /src/tink/cc/internal/registry_impl.h:302,1
    - Dst: KeysetWrapper*::Wrap
      Src: /src/tink/cc/internal/registry_impl.h:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' keyset'
    - ' annotations'
    argTypes:
    - google::crypto::tink::Keyset
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: crypto::tink::internal::RegistryImpl::WrapKeyset
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - Get
    - KeysetWrapper*::Wrap
    - crypto::tink::util::StatusOr<const KeysetWrapper<P>*>::status
    - crypto::tink::util::StatusOr<const KeysetWrapper<P>*>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<P>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<P>> RegistryImpl::WrapKeyset(\n
      \   const google::crypto::tink::Keyset& keyset,\n    const absl::flat_hash_map<std::string,
      std::string>& annotations) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/internal/registry_impl.h:314,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl.h:315,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/registry_impl.h:317,1
    - Dst: SetFipsRestricted
      Src: /src/tink/cc/internal/registry_impl.h:318,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl.h:319,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.h:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: crypto::tink::internal::RegistryImpl::RestrictToFipsIfEmpty
    functionSourceFile: /src/tink/cc/internal/registry_impl.h
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - SetFipsRestricted
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - IsEmpty
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status RegistryImpl::RestrictToFipsIfEmpty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:82,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:82,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:82,1
    - Dst: GetArray
      Src: /src/tink/cc/internal/ec_util_test.cc:85,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:86,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:87,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:90,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - EXPECT_EQ
    - Not
    - IsOk
    - crypto::tink::internal::NewEd25519Key
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - IsNull
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, NewEd25519KeyWithWycheproofTestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:102,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:103,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:103,1
    - Dst: std::string::substr
      Src: /src/tink/cc/internal/ec_util_test.cc:103,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:105,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:110,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:111,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:111,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:112,1
    - Dst: std::string::size
      Src: /src/tink/cc/internal/ec_util_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - std::string::substr
    - IsOk
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - std::string::size
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, NewEd25519KeyInvalidSeed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:120,1
    - Dst: AllOf
      Src: /src/tink/cc/internal/ec_util_test.cc:122,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/internal/ec_util_test.cc:122,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:123,1
    - Dst: SizeIs
      Src: /src/tink/cc/internal/ec_util_test.cc:123,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:123,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:124,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/ec_util_test.cc:124,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:125,1
    - Dst: SizeIs
      Src: /src/tink/cc/internal/ec_util_test.cc:125,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - AllOf
    - SizeIs
    - crypto::tink::internal::NewEcKey
    - crypto::tink::internal::X25519KeyPrivKeySize
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - Field
    - Eq
    - IsEmpty
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, NewEcKeyReturnsWellFormedX25519Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AllOf
      Src: /src/tink/cc/internal/ec_util_test.cc:132,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:132,1
    - Dst: Eq
      Src: /src/tink/cc/internal/ec_util_test.cc:132,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/internal/ec_util_test.cc:133,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:134,1
    - Dst: Eq
      Src: /src/tink/cc/internal/ec_util_test.cc:134,1
    - Dst: Field
      Src: /src/tink/cc/internal/ec_util_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/internal/ec_util_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' expected'
    argTypes:
    - EcKey
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: crypto::tink::internal::EqualsEcKey
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - Field
    - AllOf
    - Eq
    linkageType: ''
    returnType: Matcher<EcKey>
    signature: Matcher<EcKey> EqualsEcKey(const EcKey& expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/ec_util_test.cc:139,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:140,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/internal/ec_util_test.cc:142,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:143,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:146,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:147,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:148,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:149,1
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:150,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:153,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:156,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:156,1
    - Dst: crypto::tink::internal::EqualsEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - IsOk
    - Not
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::EqualsEcKey
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcUtilNewEcKeyWithSeed, KeysFromDifferentSeedAreDifferent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/ec_util_test.cc:160,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:161,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/internal/ec_util_test.cc:163,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:164,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:167,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:168,1
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:169,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:172,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:175,1
    - Dst: crypto::tink::internal::EqualsEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - IsOk
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::EqualsEcKey
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcUtilNewEcKeyWithSeed, SameSeedGivesSameKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/ec_util_test.cc:183,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:184,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/internal/ec_util_test.cc:186,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:187,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:189,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:190,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:193,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util_test.cc:193,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/ec_util_test.cc:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - util::StatusOr::status
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, GenerationWithSeedFailsWithWrongCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/ec_util_test.cc:197,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:198,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/internal/ec_util_test.cc:200,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:201,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:204,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:205,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:208,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util_test.cc:208,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/ec_util_test.cc:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - util::StatusOr::status
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, NewEcKeyFromSeedUnimplementedIfOpenSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:213,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:215,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:218,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:218,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:220,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:220,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:222,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:222,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:224,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:225,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:225,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:226,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:226,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::internal::NewX25519Key
    - IsOk
    - Not
    - ElementsAreArray
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::MakeSpan
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, NewX25519KeyGeneratesNewKeyEveryTime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:231,1
    - Dst: crypto::tink::internal::EcKeyFromX25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:232,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:233,1
    - Dst: crypto::tink::internal::X25519KeyFromEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:238,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:239,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:239,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:240,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:240,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:242,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:243,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:243,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:244,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:244,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcKeyFromX25519Key
    - util::StatusOr::get
    - crypto::tink::internal::X25519KeyFromEcKey
    - crypto::tink::internal::NewX25519Key
    - ASSERT_EQ
    - crypto::tink::internal::X25519KeyPrivKeySize
    - IsOk
    - ElementsAreArray
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::MakeSpan
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, X25519KeyToEcKeyAndBack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/internal/ec_util_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:250,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:253,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:253,1
    - Dst: crypto::tink::internal::X25519KeyFromPrivateKey
      Src: /src/tink/cc/internal/ec_util_test.cc:255,1
    - Dst: absl::Span::begin
      Src: /src/tink/cc/internal/ec_util_test.cc:255,1
    - Dst: absl::Span::end
      Src: /src/tink/cc/internal/ec_util_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:257,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:258,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:258,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:259,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:259,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:261,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:262,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:262,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:263,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:263,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::internal::NewX25519Key
    - crypto::tink::internal::X25519KeyFromPrivateKey
    - IsOk
    - ElementsAreArray
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::Span::begin
    - absl::MakeSpan
    - crypto::tink::internal::X25519KeyPubKeySize
    - absl::Span::end
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, X25519KeyFromRandomPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:279,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:282,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:288,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:291,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:297,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:300,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 312
    functionName: crypto::tink::internal::GetX25519FunctionTestVectors
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::HexStringToBytes
    linkageType: ''
    returnType: std::vector<X25519FunctionTestVector>
    signature: std::vector<X25519FunctionTestVector> GetX25519FunctionTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:317,1
    - Dst: crypto::tink::internal::X25519KeyFromPrivateKey
      Src: /src/tink/cc/internal/ec_util_test.cc:319,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:320,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:322,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:322,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:322,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/internal/ec_util_test.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::X25519KeyFromPrivateKey
    - IsOk
    - ElementsAreArray
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GetParam
    - absl::MakeSpan
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST_P(X25519FunctionTest, ComputeX25519PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:341,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:344,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:347,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:352,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:355,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 362
    functionName: crypto::tink::internal::GetX25519SharedSecretTestVectors
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::HexStringToBytes
    linkageType: ''
    returnType: std::vector<X25519SharedSecretTestVector>
    signature: std::vector<X25519SharedSecretTestVector> GetX25519SharedSecretTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:367,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/internal/ec_util_test.cc:370,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/ec_util_test.cc:372,1
    - Dst: X25519SharedSecretTestVector::private_key::data
      Src: /src/tink/cc/internal/ec_util_test.cc:372,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:373,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:374,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:374,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:374,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/tink/cc/internal/ec_util_test.cc:375,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/ec_util_test.cc:377,1
    - Dst: X25519SharedSecretTestVector::public_key::data
      Src: /src/tink/cc/internal/ec_util_test.cc:377,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:378,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:379,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:379,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:379,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:381,1
    - Dst: crypto::tink::internal::ComputeX25519SharedSecret
      Src: /src/tink/cc/internal/ec_util_test.cc:381,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:381,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:381,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:382,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 384
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - X25519SharedSecretTestVector::public_key::data
    - Not
    - internal::SslUniquePtr::get
    - X25519SharedSecretTestVector::private_key::data
    - ASSERT_THAT
    - crypto::tink::internal::ComputeX25519SharedSecret
    - crypto::tink::util::SecretDataFromStringView
    - EVP_PKEY_new_raw_public_key
    - IsNull
    - EXPECT_THAT
    - IsOkAndHolds
    - GetParam
    - reinterpret_cast<const uint8_t*>
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: void
    signature: void TEST_P(X25519SharedSecretTest, ComputeX25519SharedSecret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:393,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:393,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:394,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/tink/cc/internal/ec_util_test.cc:394,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:394,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:396,1
    - Dst: EVP_PKEY_keygen
      Src: /src/tink/cc/internal/ec_util_test.cc:396,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:396,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/internal/ec_util_test.cc:400,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/ec_util_test.cc:403,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:404,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:408,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:408,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:408,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/tink/cc/internal/ec_util_test.cc:409,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/ec_util_test.cc:412,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:413,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/internal/ec_util_test.cc:416,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:417,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:417,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:417,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:419,1
    - Dst: crypto::tink::internal::ComputeX25519SharedSecret
      Src: /src/tink/cc/internal/ec_util_test.cc:420,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:420,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:420,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:422,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:422,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:423,1
    - Dst: crypto::tink::internal::ComputeX25519SharedSecret
      Src: /src/tink/cc/internal/ec_util_test.cc:424,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:424,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:424,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:426,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 427
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - ASSERT_EQ
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - EVP_PKEY_keygen_init
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - Not
    - internal::SslUniquePtr::get
    - IsOk
    - crypto::tink::internal::ComputeX25519SharedSecret
    - ASSERT_THAT
    - absl::HexStringToBytes
    - IsNull
    - EVP_PKEY_keygen
    - EVP_PKEY_new_raw_public_key
    - EXPECT_THAT
    - reinterpret_cast<const uint8_t*>
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, ComputeX25519SharedSecretInvalidKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 467
    functionName: crypto::tink::internal::GetEncodingTestVectors
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EncodingTestVector>
    signature: std::vector<EncodingTestVector> GetEncodingTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:472,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/internal/ec_util_test.cc:474,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:474,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:475,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:476,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:476,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/internal/ec_util_test.cc:479,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:479,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:480,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:481,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/internal/ec_util_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - EXPECT_EQ
    - IsOk
    - absl::BytesToHexString
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcUtilEncodeDecodePointTest, EcPointEncode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:485,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/internal/ec_util_test.cc:488,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:488,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:489,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:490,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:490,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:491,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:494,1
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/internal/ec_util_test.cc:496,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:497,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:498,1
    - Dst: EC_POINT_cmp
      Src: /src/tink/cc/internal/ec_util_test.cc:498,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:498,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:498,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:498,1
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/internal/ec_util_test.cc:505,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:506,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:506,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:506,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:509,1
    - Dst: std::string
      Src: /src/tink/cc/internal/ec_util_test.cc:509,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util_test.cc:509,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/ec_util_test.cc:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - EC_POINT_cmp
    - std::string
    - util::StatusOr::status
    - EXPECT_EQ
    - IsOk
    - Not
    - crypto::tink::internal::EcGroupFromCurveType
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointDecode
    - HasSubstr
    - EXPECT_THAT
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcUtilEncodeDecodePointTest, EcPointDecode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:531,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:531,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:532,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:533,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:533,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:535,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:535,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:536,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:537,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:537,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:538,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:539,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:539,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 541
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - IsOkAndHolds
    - EXPECT_THAT
    - crypto::tink::internal::EcFieldSizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, EcFieldSizeInBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:544,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:544,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:546,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:547,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:547,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:549,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:550,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:550,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:552,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:553,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:553,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:555,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:556,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:556,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:559,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:559,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:561,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:562,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:562,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:566,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:566,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:569,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 570
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - IsOk
    - Not
    - IsOkAndHolds
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, EcPointEncodingSizeInBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util_test.cc:573,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util_test.cc:574,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util_test.cc:575,1
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/internal/ec_util_test.cc:578,1
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/internal/ec_util_test.cc:580,1
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/internal/ec_util_test.cc:582,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:584,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:584,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:585,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:585,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:586,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CurveTypeFromEcGroup
    - EC_GROUP_new_by_curve_name
    - IsOkAndHolds
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, CurveTypeFromEcGroupSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:590,1
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/internal/ec_util_test.cc:591,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/tink/cc/internal/ec_util_test.cc:591,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/ec_util_test.cc:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CurveTypeFromEcGroup
    - EC_GROUP_new_by_curve_name
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, CurveTypeFromEcGroupUnimplemented)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:597,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:599,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:601,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:602,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:602,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:603,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:603,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:604,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:613,1
    - Dst: EC_GROUP_cmp
      Src: /src/tink/cc/internal/ec_util_test.cc:613,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:613,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:616,1
    - Dst: EC_GROUP_cmp
      Src: /src/tink/cc/internal/ec_util_test.cc:616,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:616,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:619,1
    - Dst: EC_GROUP_cmp
      Src: /src/tink/cc/internal/ec_util_test.cc:619,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:619,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 622
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - util::StatusOr::get
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::EcGroupFromCurveType
    - EC_GROUP_cmp
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, EcGroupFromCurveTypeSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:625,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:625,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/ec_util_test.cc:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::internal::EcGroupFromCurveType
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, EcGroupFromCurveTypeUnimplemented)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/internal/ec_util_test.cc:640,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:641,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:642,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:643,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:643,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/ec_util_test.cc:648,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:651,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/tink/cc/internal/ec_util_test.cc:651,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:651,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:651,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:651,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:652,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:654,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/ec_util_test.cc:655,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:655,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:655,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:656,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:657,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/ec_util_test.cc:658,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/ec_util_test.cc:659,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:659,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:660,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:661,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util_test.cc:661,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:661,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 663
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - util::StatusOr::get
    - ASSERT_EQ
    - EXPECT_EQ
    - IsOk
    - EC_POINT_get_affine_coordinates
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::BignumToBinaryPadded
    - absl::StrCat
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, GetEcPointReturnsAValidPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:667,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:668,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:668,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:668,1
    - Dst: GetArray
      Src: /src/tink/cc/internal/ec_util_test.cc:669,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:671,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:676,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:677,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:677,1
    - Dst: GetArray
      Src: /src/tink/cc/internal/ec_util_test.cc:679,1
    - Dst: GetString
      Src: /src/tink/cc/internal/ec_util_test.cc:680,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:684,1
    - Dst: crypto::tink::internal::EcSignatureIeeeToDer
      Src: /src/tink/cc/internal/ec_util_test.cc:686,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:686,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:687,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:687,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/tink/cc/internal/ec_util_test.cc:692,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/internal/ec_util_test.cc:693,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:694,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:694,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:694,1
    - Dst: ECDSA_SIG_get0
      Src: /src/tink/cc/internal/ec_util_test.cc:698,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:698,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:699,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:699,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:699,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:700,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:700,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/ec_util_test.cc:700,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:702,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:703,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:703,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/ec_util_test.cc:704,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:705,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:705,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/ec_util_test.cc:706,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:707,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/ec_util_test.cc:708,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util_test.cc:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 711
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - ASSERT_THAT
    - IsNull
    - absl::StrCat
    - ECDSA_SIG_get0
    - crypto::tink::internal::EcSignatureIeeeToDer
    - Not
    - IsOk
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::size
    - crypto::tink::internal::EcFieldSizeInBytes
    - crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
    - SslUniquePtr::get
    - EXPECT_EQ
    - d2i_ECDSA_SIG
    - util::StatusOr::get
    - crypto::tink::internal::BignumToString
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcUtilTest, EcSignatureIeeeToDer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:717,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:719,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/internal/ec_util_test.cc:721,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:721,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:721,1
    - Dst: EC_KEY_generate_key
      Src: /src/tink/cc/internal/ec_util_test.cc:722,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:722,1
    - Dst: crypto::tink::internal::EcKeyFromSslEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:724,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:726,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:726,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:727,1
    - Dst: Eq
      Src: /src/tink/cc/internal/ec_util_test.cc:727,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:728,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:728,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/ec_util_test.cc:728,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:729,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:729,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/ec_util_test.cc:729,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:730,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:730,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/ec_util_test.cc:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 731
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 731
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - EC_KEY_set_group
    - util::StatusOr::get
    - EC_KEY_generate_key
    - crypto::tink::internal::EcKeyFromSslEcKey
    - IsOk
    - Not
    - crypto::tink::internal::EcGroupFromCurveType
    - EXPECT_THAT
    - GetParam
    - Eq
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcKeyFromSslEcKeyTestWithParam, EcKeyFromSslEcKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:735,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/internal/ec_util_test.cc:737,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:737,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:737,1
    - Dst: EC_KEY_generate_key
      Src: /src/tink/cc/internal/ec_util_test.cc:738,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:738,1
    - Dst: crypto::tink::internal::EcKeyFromSslEcKey
      Src: /src/tink/cc/internal/ec_util_test.cc:741,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:743,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/ec_util_test.cc:743,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/ec_util_test.cc:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 744
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - SslUniquePtr::get
    - EC_KEY_set_group
    - util::StatusOr::get
    - EC_KEY_generate_key
    - crypto::tink::internal::EcKeyFromSslEcKey
    - util::StatusOr::status
    - crypto::tink::internal::EcGroupFromCurveType
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcKeyFromSSLEcKeyTest, EcKeyFromSslKeyFailsWrongCurveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsArray
      Src: /src/tink/cc/internal/ec_util_test.cc:767,1
    - Dst: GetArray
      Src: /src/tink/cc/internal/ec_util_test.cc:770,1
    - Dst: std::string
      Src: /src/tink/cc/internal/ec_util_test.cc:771,1
    - Dst: GetString
      Src: /src/tink/cc/internal/ec_util_test.cc:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' flags'
    - value
    argTypes:
    - rapidjson::Value
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 776
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 776
    functionName: crypto::tink::internal::HasFlag
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - IsArray
    - std::string
    - GetString
    linkageType: ''
    returnType: bool
    signature: bool HasFlag(const rapidjson::Value& flags, absl::string_view value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:782,1
    - Dst: std::string
      Src: /src/tink/cc/internal/ec_util_test.cc:782,1
    - Dst: GetArray
      Src: /src/tink/cc/internal/ec_util_test.cc:784,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
      Src: /src/tink/cc/internal/ec_util_test.cc:787,1
    - Dst: GetArray
      Src: /src/tink/cc/internal/ec_util_test.cc:792,1
    - Dst: crypto::tink::internal::HasFlag
      Src: /src/tink/cc/internal/ec_util_test.cc:800,1
    - Dst: crypto::tink::internal::HasFlag
      Src: /src/tink/cc/internal/ec_util_test.cc:805,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/internal/ec_util_test.cc:810,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/internal/ec_util_test.cc:811,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util_test.cc:812,1
    - Dst: GetInt
      Src: /src/tink/cc/internal/ec_util_test.cc:812,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/ec_util_test.cc:814,1
    - Dst: GetInt
      Src: /src/tink/cc/internal/ec_util_test.cc:814,1
    - Dst: GetString
      Src: /src/tink/cc/internal/ec_util_test.cc:815,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:816,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:817,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:818,1
    - Dst: GetString
      Src: /src/tink/cc/internal/ec_util_test.cc:819,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 825
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 825
    functionName: crypto::tink::internal::ReadEcdhWycheproofTestVectors
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - std::string
    - crypto::tink::internal::HasFlag
    - GetInt
    - absl::StrSplit
    - std::vector::push_back
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    - crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
    linkageType: ''
    returnType: std::vector<EcdhWycheproofTestVector>
    signature: "std::vector<EcdhWycheproofTestVector> ReadEcdhWycheproofTestVectors(\n
      \   absl::string_view file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/ec_util_test.cc:831,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/internal/ec_util_test.cc:834,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:835,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:835,1
    - Dst: EcdhWycheproofTestVector::pub_bytes::size
      Src: /src/tink/cc/internal/ec_util_test.cc:836,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/ec_util_test.cc:837,1
    - Dst: EcdhWycheproofTestVector::pub_bytes::substr
      Src: /src/tink/cc/internal/ec_util_test.cc:840,1
    - Dst: EcdhWycheproofTestVector::pub_bytes::size
      Src: /src/tink/cc/internal/ec_util_test.cc:841,1
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/internal/ec_util_test.cc:844,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/ec_util_test.cc:845,1
    - Dst: ASSERT_NE
      Src: /src/tink/cc/internal/ec_util_test.cc:848,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/ec_util_test.cc:853,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:854,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:854,1
    - Dst: crypto::tink::internal::ComputeEcdhSharedSecret
      Src: /src/tink/cc/internal/ec_util_test.cc:857,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:857,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/ec_util_test.cc:857,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:860,1
    - Dst: Not
      Src: /src/tink/cc/internal/ec_util_test.cc:860,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/ec_util_test.cc:860,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/ec_util_test.cc:862,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/ec_util_test.cc:862,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/ec_util_test.cc:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 865
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 865
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - util::StatusOr::get
    - crypto::tink::internal::StringToBignum
    - IsOk
    - Not
    - ASSERT_THAT
    - util::StatusOr::ok
    - crypto::tink::internal::EcPointDecode
    - crypto::tink::util::SecretDataFromStringView
    - EcdhWycheproofTestVector::pub_bytes::substr
    - GTEST_SKIP
    - ASSERT_NE
    - EXPECT_THAT
    - crypto::tink::internal::ComputeEcdhSharedSecret
    - IsOkAndHolds
    - GetParam
    - EcdhWycheproofTestVector::pub_bytes::size
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcUtilComputeEcdhSharedSecretTest, ComputeEcdhSharedSecretWycheproof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ReadEcdhWycheproofTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:869,1
    - Dst: crypto::tink::internal::ReadEcdhWycheproofTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:871,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/internal/ec_util_test.cc:873,1
    - Dst: std::vector::end
      Src: /src/tink/cc/internal/ec_util_test.cc:873,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/internal/ec_util_test.cc:873,1
    - Dst: std::vector::end
      Src: /src/tink/cc/internal/ec_util_test.cc:873,1
    - Dst: crypto::tink::internal::ReadEcdhWycheproofTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:874,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/internal/ec_util_test.cc:876,1
    - Dst: std::vector::end
      Src: /src/tink/cc/internal/ec_util_test.cc:876,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/internal/ec_util_test.cc:876,1
    - Dst: std::vector::end
      Src: /src/tink/cc/internal/ec_util_test.cc:876,1
    - Dst: crypto::tink::internal::ReadEcdhWycheproofTestVectors
      Src: /src/tink/cc/internal/ec_util_test.cc:877,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/internal/ec_util_test.cc:879,1
    - Dst: std::vector::end
      Src: /src/tink/cc/internal/ec_util_test.cc:879,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/internal/ec_util_test.cc:879,1
    - Dst: std::vector::end
      Src: /src/tink/cc/internal/ec_util_test.cc:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 881
    functionName: crypto::tink::internal::GetEcUtilComputeEcdhSharedSecretParams
    functionSourceFile: /src/tink/cc/internal/ec_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ReadEcdhWycheproofTestVectors
    - std::vector::begin
    - std::vector::insert
    - std::vector::end
    linkageType: ''
    returnType: std::vector<EcdhWycheproofTestVector>
    signature: std::vector<EcdhWycheproofTestVector> GetEcUtilComputeEcdhSharedSecretParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_identifier
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: crypto::tink::internal::ExampleSerialization::ExampleSerialization
    functionSourceFile: /src/tink/cc/internal/parser_index_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ExampleSerialization(absl::string_view object_identifier)
  - 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: crypto::tink::internal::ExampleSerialization::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/parser_index_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_identifier
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::DifferentSerialization::DifferentSerialization
    functionSourceFile: /src/tink/cc/internal/parser_index_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DifferentSerialization(absl::string_view object_identifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:53,1
    - Dst: ParserIndex::Create<ExampleSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:54,1
    - Dst: ParserIndex::Create<ExampleSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:54,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:55,1
    - Dst: ParserIndex::Create<ExampleSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:56,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:56,1
    - Dst: ExampleSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:57,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:57,1
    - Dst: ExampleSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:58,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:58,1
    - Dst: ExampleSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parser_index_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParserIndex::Create
    - ExampleSerialization
    - ParserIndex::Create<ExampleSerialization>
    - ASSERT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ParserIndex, CreateEquivalent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:62,1
    - Dst: ParserIndex::Create<ExampleSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:63,1
    - Dst: Not
      Src: /src/tink/cc/internal/parser_index_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:64,1
    - Dst: ParserIndex::Create<ExampleSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:65,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:66,1
    - Dst: ExampleSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:66,1
    - Dst: Not
      Src: /src/tink/cc/internal/parser_index_test.cc:67,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:67,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:67,1
    - Dst: ExampleSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parser_index_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParserIndex::Create
    - ParserIndex::Create<ExampleSerialization>
    - ExampleSerialization
    - Not
    - ASSERT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ParserIndex, CreateWithDifferentObjectIdentifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:71,1
    - Dst: ParserIndex::Create<ExampleSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:71,1
    - Dst: Not
      Src: /src/tink/cc/internal/parser_index_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:72,1
    - Dst: ParserIndex::Create<DifferentSerialization>
      Src: /src/tink/cc/internal/parser_index_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parser_index_test.cc:73,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:73,1
    - Dst: ExampleSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:73,1
    - Dst: Not
      Src: /src/tink/cc/internal/parser_index_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parser_index_test.cc:74,1
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/parser_index_test.cc:74,1
    - Dst: DifferentSerialization
      Src: /src/tink/cc/internal/parser_index_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parser_index_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParserIndex::Create
    - ParserIndex::Create<ExampleSerialization>
    - ExampleSerialization
    - Not
    - ParserIndex::Create<DifferentSerialization>
    - ASSERT_THAT
    - DifferentSerialization
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ParserIndex, CreateWithDifferentSerializationType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' registry'
    argTypes:
    - SerializationRegistry
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: SerializationRegistry::Builder::Builder(const SerializationRegistry&
      registry)
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerializationRegistry::Builder::Builder(const SerializationRegistry&
      registry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParametersParser*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:51,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.cc:52,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:55,1
    - Dst: insert
      Src: /src/tink/cc/internal/serialization_registry.cc:59,1
    - Dst: ParametersParser*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:59,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ParametersParser*
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: "SerializationRegistry::Builder::RegisterParametersParser(\n    ParametersParser*
      parser)"
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::internal::ExtractStatus
    - insert
    - crypto::tink::util::OkStatus
    - ParametersParser*::Index
    - find
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SerializationRegistry::Builder::RegisterParametersParser(\n
      \   ParametersParser* parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParametersSerializer*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:65,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.cc:66,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:69,1
    - Dst: insert
      Src: /src/tink/cc/internal/serialization_registry.cc:74,1
    - Dst: ParametersSerializer*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:74,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - ParametersSerializer*
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: "SerializationRegistry::Builder::RegisterParametersSerializer(\n
      \   ParametersSerializer* serializer)"
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - end
    - ParametersSerializer*::Index
    - crypto::tink::internal::ExtractStatus
    - insert
    - crypto::tink::util::OkStatus
    - find
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SerializationRegistry::Builder::RegisterParametersSerializer(\n
      \   ParametersSerializer* serializer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyParser*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:80,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.cc:81,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:84,1
    - Dst: insert
      Src: /src/tink/cc/internal/serialization_registry.cc:88,1
    - Dst: KeyParser*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:88,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - parser
    argTypes:
    - KeyParser*
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: "SerializationRegistry::Builder::RegisterKeyParser(\n    KeyParser*
      parser)"
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::internal::ExtractStatus
    - insert
    - KeyParser*::Index
    - crypto::tink::util::OkStatus
    - find
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SerializationRegistry::Builder::RegisterKeyParser(\n
      \   KeyParser* parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeySerializer*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:94,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.cc:95,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.cc:96,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:98,1
    - Dst: insert
      Src: /src/tink/cc/internal/serialization_registry.cc:102,1
    - Dst: KeySerializer*::Index
      Src: /src/tink/cc/internal/serialization_registry.cc:102,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - KeySerializer*
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: "SerializationRegistry::Builder::RegisterKeySerializer(\n    KeySerializer*
      serializer)"
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::internal::ExtractStatus
    - insert
    - KeySerializer*::Index
    - crypto::tink::util::OkStatus
    - find
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SerializationRegistry::Builder::RegisterKeySerializer(\n
      \   KeySerializer* serializer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializationRegistry
      Src: /src/tink/cc/internal/serialization_registry.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.cc:108,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.cc:108,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: SerializationRegistry::Builder::Build() &&
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - std::move
    - SerializationRegistry
    linkageType: ''
    returnType: SerializationRegistry
    signature: SerializationRegistry SerializationRegistry::Builder::Build() &&
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/serialization_registry.cc:115,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.cc:116,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:118,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/internal/serialization_registry.cc:120,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry.cc:121,1
    - Dst: at
      Src: /src/tink/cc/internal/serialization_registry.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - Serialization
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: crypto::tink::internal::SerializationRegistry::ParseParameters
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParserIndex::Create
    - end
    - crypto::tink::internal::ExtractStatus
    - at
    - typeid
    - absl::StrFormat
    - find
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Parameters>>
    signature: "util::StatusOr<std::unique_ptr<Parameters>> SerializationRegistry::ParseParameters(\n
      \   const Serialization& serialization) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ParserIndex::Create
      Src: /src/tink/cc/internal/serialization_registry.cc:130,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.cc:131,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.cc:132,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.cc:133,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/internal/serialization_registry.cc:135,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry.cc:136,1
    - Dst: at
      Src: /src/tink/cc/internal/serialization_registry.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - Serialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: crypto::tink::internal::SerializationRegistry::ParseKey
    functionSourceFile: /src/tink/cc/internal/serialization_registry.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParserIndex::Create
    - end
    - crypto::tink::internal::ExtractStatus
    - at
    - typeid
    - absl::StrFormat
    - find
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Key>>
    signature: "util::StatusOr<std::unique_ptr<Key>> SerializationRegistry::ParseKey(\n
      \   const Serialization& serialization,\n    absl::optional<SecretKeyAccessToken>
      token) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::SerializationRegistry::Builder::Builder
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - 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: crypto::tink::internal::SerializationRegistry::Builder::Builder
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - "\n                parameters_parsers"
    - "\n                parameters_serializers"
    - key_parsers
    - key_serializers
    argTypes:
    - absl::flat_hash_map<ParserIndex, ParametersParser*>
    - absl::flat_hash_map<SerializerIndex, ParametersSerializer*>
    - absl::flat_hash_map<ParserIndex, KeyParser*>
    - absl::flat_hash_map<SerializerIndex, KeySerializer*>
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: crypto::tink::internal::SerializationRegistry::Builder::Builder
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Builder(const absl::flat_hash_map<ParserIndex, ParametersParser*>&\n
      \               parameters_parsers,\n            const absl::flat_hash_map<SerializerIndex,
      ParametersSerializer*>&\n                parameters_serializers,\n            absl::flat_hash_map<ParserIndex,
      KeyParser*> key_parsers,\n            const absl::flat_hash_map<SerializerIndex,
      KeySerializer*>\n                key_serializers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SerializationRegistry
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: crypto::tink::internal::SerializationRegistry::SerializationRegistry
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerializationRegistry(SerializationRegistry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SerializationRegistry
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: '& operator=(SerializationRegistry&& other)'
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SerializationRegistry
    signature: SerializationRegistry & operator=(SerializationRegistry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SerializationRegistry
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: crypto::tink::internal::SerializationRegistry::SerializationRegistry
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerializationRegistry(const SerializationRegistry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SerializationRegistry
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: '& operator=(const SerializationRegistry& other)'
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SerializationRegistry
    signature: SerializationRegistry & operator=(const SerializationRegistry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: crypto::tink::internal::SerializationRegistry::SerializationRegistry
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SerializationRegistry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializerIndex::Create<SerializationT>
      Src: /src/tink/cc/internal/serialization_registry.h:119,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.h:120,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.h:121,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.h:122,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/internal/serialization_registry.h:124,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry.h:126,1
    - Dst: at
      Src: /src/tink/cc/internal/serialization_registry.h:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: crypto::tink::internal::SerializationRegistry::SerializeParameters
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached:
    - end
    - SerializerIndex::Create<SerializationT>
    - crypto::tink::internal::ExtractStatus
    - at
    - typeid
    - absl::StrFormat
    - find
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Serialization>>
    signature: "util::StatusOr<std::unique_ptr<Serialization>> SerializeParameters(\n
      \     const Parameters& parameters) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializerIndex::Create<SerializationT>
      Src: /src/tink/cc/internal/serialization_registry.h:141,1
    - Dst: find
      Src: /src/tink/cc/internal/serialization_registry.h:142,1
    - Dst: end
      Src: /src/tink/cc/internal/serialization_registry.h:143,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/serialization_registry.h:144,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/internal/serialization_registry.h:146,1
    - Dst: typeid
      Src: /src/tink/cc/internal/serialization_registry.h:147,1
    - Dst: at
      Src: /src/tink/cc/internal/serialization_registry.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - Key
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: crypto::tink::internal::SerializationRegistry::SerializeKey
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached:
    - end
    - SerializerIndex::Create<SerializationT>
    - crypto::tink::internal::ExtractStatus
    - at
    - typeid
    - absl::StrFormat
    - find
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Serialization>>
    signature: "util::StatusOr<std::unique_ptr<Serialization>> SerializeKey(\n      const
      Key& key, absl::optional<SecretKeyAccessToken> token) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.h:162,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.h:163,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.h:164,1
    - Dst: std::move
      Src: /src/tink/cc/internal/serialization_registry.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - parameters_parsers
    - parameters_serializers
    - key_parsers
    - key_serializers
    argTypes:
    - absl::flat_hash_map<ParserIndex, ParametersParser*>
    - absl::flat_hash_map<SerializerIndex, ParametersSerializer*>
    - absl::flat_hash_map<ParserIndex, KeyParser*>
    - absl::flat_hash_map<SerializerIndex, KeySerializer*>
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: crypto::tink::internal::SerializationRegistry::SerializationRegistry
    functionSourceFile: /src/tink/cc/internal/serialization_registry.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SerializationRegistry(\n      absl::flat_hash_map<ParserIndex,
      ParametersParser*>\n          parameters_parsers,\n      absl::flat_hash_map<SerializerIndex,
      ParametersSerializer*>\n          parameters_serializers,\n      absl::flat_hash_map<ParserIndex,
      KeyParser*> key_parsers,\n      absl::flat_hash_map<SerializerIndex, KeySerializer*>\n
      \         key_serializers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::FakePrimitive::FakePrimitive
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePrimitive(std::string s)
  - 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: crypto::tink::internal::FakePrimitive::get
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:79,1
    - Dst: key_value
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::FakeKeyTypeManager::FakePrimitiveFactory::Create
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - key_value
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitiveFactory>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::FakeKeyTypeManager::FakeKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakePrimitiveFactory>
    linkageType: ''
    returnType: void
    signature: void FakeKeyTypeManager()
  - 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: crypto::tink::internal::FakeKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() 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: crypto::tink::internal::FakeKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::FakeKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const AesGcmKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::FakeKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat& key_format)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: crypto::tink::internal::FakeKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: crypto::tink::internal::FakeKeyTypeManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:121,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:121,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakeKeyTypeManager>
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, AddKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:129,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:129,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
    - EXPECT_THAT
    - crypto::tink::internal::MakeKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, AddLegacyKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:136,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:136,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:140,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - ASSERT_THAT
    - absl::make_unique<FakeKeyTypeManager>
    - EXPECT_THAT
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GetKeyTypeInfoStore)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:145,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:145,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:147,1
    - Dst: FakeKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:149,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:152,1
    - Dst: Get
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:154,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:159,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - FakeKeyTypeManager
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - ASSERT_THAT
    - Get
    - absl::make_unique<FakeKeyTypeManager>
    - get_key_manager
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GetKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:165,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:165,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:167,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:171,1
    - Dst: FakeKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:172,1
    - Dst: Get
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:174,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:179,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 180
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
    - crypto::tink::internal::MakeKeyManager
    - EXPECT_EQ
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - IsOk
    - FakeKeyTypeManager
    - ASSERT_THAT
    - Get
    - get_key_manager
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GetLegacyKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:187,1
    - Dst: Get
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:187,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - IsOk
    - ASSERT_THAT
    - Get
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GetMissingKeyManagerFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyPublicKeySign>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: crypto::tink::internal::FakeSignKeyManager::PublicKeySignFactory::Create
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<test::DummyPublicKeySign>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> Create(\n        const
      RsaSsaPssPrivateKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: crypto::tink::internal::FakeSignKeyManager::FakeSignKeyManager
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void FakeSignKeyManager()
  - 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: crypto::tink::internal::FakeSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() const 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: crypto::tink::internal::FakeSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: crypto::tink::internal::FakeSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const RsaSsaPssPrivateKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: crypto::tink::internal::FakeSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyFormat(\n      const RsaSsaPssKeyFormat& key_format)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssPrivateKey
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: crypto::tink::internal::FakeSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPrivateKey
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> CreateKey(\n      const RsaSsaPssKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssPrivateKey
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - RsaSsaPssKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: crypto::tink::internal::FakeSignKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPrivateKey
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> DeriveKey(\n      const RsaSsaPssKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: crypto::tink::internal::FakeSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPublicKey>
    signature: "util::StatusOr<RsaSsaPssPublicKey> GetPublicKey(\n      const RsaSsaPssPrivateKey&
      private_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyPublicKeyVerify>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: crypto::tink::internal::FakeVerifyKeyManager::PublicKeyVerifyFactory::Create
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<test::DummyPublicKeyVerify>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> Create(\n        const
      RsaSsaPssPublicKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: crypto::tink::internal::FakeVerifyKeyManager::FakeVerifyKeyManager
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void FakeVerifyKeyManager()
  - 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: crypto::tink::internal::FakeVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() 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: crypto::tink::internal::FakeVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: crypto::tink::internal::FakeVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const RsaSsaPssPublicKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - RsaSsaPssParams
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: crypto::tink::internal::FakeVerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateParams(const RsaSsaPssParams& params) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:280,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:280,1
    - Dst: absl::make_unique<FakeSignKeyManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:281,1
    - Dst: absl::make_unique<FakeVerifyKeyManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - IsOk
    - absl::make_unique<FakeVerifyKeyManager>
    - EXPECT_THAT
    - absl::make_unique<FakeSignKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, AddAsymmetricKeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:288,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:288,1
    - Dst: absl::make_unique<FakeSignKeyManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:289,1
    - Dst: absl::make_unique<FakeVerifyKeyManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:291,1
    - Dst: FakeSignKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:294,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:297,1
    - Dst: Get
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:300,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:303,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:305,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:305,1
    - Dst: FakeVerifyKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:308,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:311,1
    - Dst: Get
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:314,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:319,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 321
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - FakeSignKeyManager
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - absl::make_unique<FakeVerifyKeyManager>
    - ASSERT_THAT
    - Get
    - FakeVerifyKeyManager
    - get_key_manager
    - absl::make_unique<FakeSignKeyManager>
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GetAsymmetricKeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:326,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:326,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:326,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:327,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:330,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:330,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:331,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:332,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:333,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:333,1
    - Dst: absl::make_unique<FakeSignKeyManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:334,1
    - Dst: absl::make_unique<FakeVerifyKeyManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:335,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:338,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:338,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:339,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:341,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:341,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:342,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:344,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:345,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:345,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:348,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:349,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:351,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:352,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:353,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:353,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 355
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
    - ASSERT_THAT
    - absl::make_unique<FakeSignKeyManager>
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
    - crypto::tink::internal::MakeKeyManager
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - StatusIs
    - crypto::tink::Registry::Reset
    - absl::make_unique<FakeVerifyKeyManager>
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - absl::make_unique<FakeKeyTypeManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GlobalRegistryMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:359,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:359,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:361,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:362,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:362,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:363,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:364,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
      Src: /src/tink/cc/internal/key_gen_configuration_impl_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
    - crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
    - IsOk
    - ASSERT_THAT
    - absl::make_unique<FakeKeyTypeManager>
    - EXPECT_THAT
    - StatusIs
    - EXPECT_FALSE
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyGenConfigurationImplTest, GlobalRegistryModeWithNonEmptyConfigFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:32,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/safe_stringops_test.cc:34,1
    - Dst: crypto::tink::internal::SafeMemCopy
      Src: /src/tink/cc/internal/safe_stringops_test.cc:34,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:35,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - crypto::tink::internal::SafeMemCopy
    - EXPECT_THAT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(MemCopyTest, Regular)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:41,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/safe_stringops_test.cc:43,1
    - Dst: crypto::tink::internal::SafeMemMove
      Src: /src/tink/cc/internal/safe_stringops_test.cc:43,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:44,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - crypto::tink::internal::SafeMemMove
    - EXPECT_THAT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(MemMoveTest, Regular)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:49,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/safe_stringops_test.cc:50,1
    - Dst: crypto::tink::internal::SafeMemMove
      Src: /src/tink/cc/internal/safe_stringops_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:51,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - crypto::tink::internal::SafeMemMove
    - EXPECT_THAT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(MemMoveTest, NoMove)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:56,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/safe_stringops_test.cc:57,1
    - Dst: crypto::tink::internal::SafeMemMove
      Src: /src/tink/cc/internal/safe_stringops_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:58,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - crypto::tink::internal::SafeMemMove
    - EXPECT_THAT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(MemmoveTest, OverlapSuffix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:63,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/safe_stringops_test.cc:64,1
    - Dst: crypto::tink::internal::SafeMemMove
      Src: /src/tink/cc/internal/safe_stringops_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/safe_stringops_test.cc:65,1
    - Dst: StrEq
      Src: /src/tink/cc/internal/safe_stringops_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - crypto::tink::internal::SafeMemMove
    - EXPECT_THAT
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(MemMoveTest, OverlapPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/safe_stringops_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/safe_stringops_test.cc:73,1
    - Dst: crypto::tink::internal::SafeCryptoMemEquals
      Src: /src/tink/cc/internal/safe_stringops_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/safe_stringops_test.cc:74,1
    - Dst: crypto::tink::internal::SafeCryptoMemEquals
      Src: /src/tink/cc/internal/safe_stringops_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - crypto::tink::internal::SafeCryptoMemEquals
    linkageType: ''
    returnType: void
    signature: void TEST(MemEqualsTest, Equal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/safe_stringops_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/safe_stringops_test.cc:82,1
    - Dst: crypto::tink::internal::SafeCryptoMemEquals
      Src: /src/tink/cc/internal/safe_stringops_test.cc:82,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/safe_stringops_test.cc:83,1
    - Dst: crypto::tink::internal::SafeCryptoMemEquals
      Src: /src/tink/cc/internal/safe_stringops_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/safe_stringops_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_FALSE
    - crypto::tink::internal::SafeCryptoMemEquals
    linkageType: ''
    returnType: void
    signature: void TEST(MemEqualsTest, Unequal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/test_file_util_cmake.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: crypto::tink::internal::RunfilesPath
    functionSourceFile: /src/tink/cc/internal/test_file_util_cmake.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string RunfilesPath(absl::string_view path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ChecksFipsCompatibility
      Src: /src/tink/cc/internal/fips_utils.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::CheckFipsCompatibility
    functionSourceFile: /src/tink/cc/internal/fips_utils.h
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::ChecksFipsCompatibility
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status CheckFipsCompatibility()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - object_identifier
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: crypto::tink::internal::BaseSerialization::BaseSerialization
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BaseSerialization(absl::string_view object_identifier)
  - 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: crypto::tink::internal::BaseSerialization::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - BaseSerialization
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: operator==(const BaseSerialization& other) const
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const BaseSerialization& other) const
  - 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: crypto::tink::internal::NoIdSerialization::NoIdSerialization
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NoIdSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::IdParamsSerialization::IdParamsSerialization
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IdParamsSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::IdKeySerialization::IdKeySerialization
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IdKeySerialization(int id)
  - 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: crypto::tink::internal::IdKeySerialization::GetKeyId
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetKeyId() 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: crypto::tink::internal::NoIdParams::HasIdRequirement
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: operator==(const Parameters& other) const override
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - HasIdRequirement
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Parameters& other) 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parameters
    signature: Parameters & GetParameters() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::NoIdKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParameters
      Src: /src/tink/cc/internal/serialization_test_util.h:99,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util.h:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator==(const Key& other) const override
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - GetParameters
    - GetIdRequirement
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Key& other) const 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: crypto::tink::internal::IdParams::HasIdRequirement
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: operator==(const Parameters& other) const override
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - HasIdRequirement
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Parameters& other) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: crypto::tink::internal::IdKey::IdKey
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IdKey(int id)
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Parameters
    signature: Parameters & GetParameters() const override
  - 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: crypto::tink::internal::IdKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParameters
      Src: /src/tink/cc/internal/serialization_test_util.h:127,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: operator==(const Key& other) const override
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - GetParameters
    - GetIdRequirement
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Key& other) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_test_util.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialization
    argTypes:
    - NoIdSerialization
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: crypto::tink::internal::ParseNoIdParams
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - NoIdParams
    linkageType: ''
    returnType: util::StatusOr<NoIdParams>
    signature: "util::StatusOr<NoIdParams> ParseNoIdParams(\n    NoIdSerialization
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_test_util.h:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialization
    argTypes:
    - IdParamsSerialization
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: crypto::tink::internal::ParseIdParams
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - IdParams
    linkageType: ''
    returnType: util::StatusOr<IdParams>
    signature: "util::StatusOr<IdParams> ParseIdParams(\n    IdParamsSerialization
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util.h:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - NoIdParams
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: crypto::tink::internal::SerializeNoIdParams
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - NoIdSerialization
    linkageType: ''
    returnType: util::StatusOr<NoIdSerialization>
    signature: "util::StatusOr<NoIdSerialization> SerializeNoIdParams(\n    NoIdParams
      parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdParamsSerialization
      Src: /src/tink/cc/internal/serialization_test_util.h:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - IdParams
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: crypto::tink::internal::SerializeIdParams
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - IdParamsSerialization
    linkageType: ''
    returnType: util::StatusOr<IdParamsSerialization>
    signature: "util::StatusOr<IdParamsSerialization> SerializeIdParams(\n    IdParams
      parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_test_util.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serialization
    - token
    argTypes:
    - NoIdSerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: crypto::tink::internal::ParseNoIdKey
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - NoIdKey
    linkageType: ''
    returnType: util::StatusOr<NoIdKey>
    signature: "util::StatusOr<NoIdKey> ParseNoIdKey(\n    NoIdSerialization serialization,\n
      \   absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_test_util.h:170,1
    - Dst: IdKeySerialization::GetKeyId
      Src: /src/tink/cc/internal/serialization_test_util.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serialization
    - token
    argTypes:
    - IdKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: crypto::tink::internal::ParseIdKey
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - IdKey
    - IdKeySerialization::GetKeyId
    linkageType: ''
    returnType: util::StatusOr<IdKey>
    signature: "util::StatusOr<IdKey> ParseIdKey(\n    IdKeySerialization serialization,\n
      \   absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - token
    argTypes:
    - NoIdKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: crypto::tink::internal::SerializeNoIdKey
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - NoIdSerialization
    linkageType: ''
    returnType: util::StatusOr<NoIdSerialization>
    signature: "util::StatusOr<NoIdSerialization> SerializeNoIdKey(\n    NoIdKey key,
      absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdKeySerialization
      Src: /src/tink/cc/internal/serialization_test_util.h:182,1
    - Dst: IdKey::GetIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - token
    argTypes:
    - IdKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: crypto::tink::internal::SerializeIdKey
    functionSourceFile: /src/tink/cc/internal/serialization_test_util.h
    functionUses: 0
    functionsReached:
    - IdKeySerialization
    - IdKey::GetIdRequirement
    linkageType: ''
    returnType: util::StatusOr<IdKeySerialization>
    signature: "util::StatusOr<IdKeySerialization> SerializeIdKey(\n    IdKey key,
      absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: crypto::tink::internal::IsBoringSsl
    functionSourceFile: /src/tink/cc/internal/ssl_util.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsBoringSsl()
  - 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: crypto::tink::internal::KeysetHandleBuilderEntry::KeysetHandleBuilderEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetHandleBuilderEntry()
  - 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: ~KeysetHandleBuilderEntry()
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeysetHandleBuilderEntry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - KeyStatus
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::KeysetHandleBuilderEntry::SetStatus
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetStatus(KeyStatus status)
  - 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: crypto::tink::internal::KeysetHandleBuilderEntry::GetStatus
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyStatus
    signature: KeyStatus GetStatus() 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: crypto::tink::internal::KeysetHandleBuilderEntry::SetPrimary
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetPrimary()
  - 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: crypto::tink::internal::KeysetHandleBuilderEntry::UnsetPrimary
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UnsetPrimary()
  - 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: crypto::tink::internal::KeysetHandleBuilderEntry::IsPrimary
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsPrimary() 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: crypto::tink::internal::KeysetHandleBuilderEntry::GetKeyIdStrategy
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyIdStrategy
    signature: KeyIdStrategy GetKeyIdStrategy()
  - 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: crypto::tink::internal::KeysetHandleBuilderEntry::GetKeyIdStrategyEnum
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyIdStrategyEnum
    signature: KeyIdStrategyEnum GetKeyIdStrategyEnum()
  - 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: crypto::tink::internal::KeysetHandleBuilderEntry::GetKeyIdRequirement
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetKeyIdRequirement()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyEntry
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::KeyEntry::KeyEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyEntry(KeyEntry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyEntry
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& operator=(KeyEntry&& other)'
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyEntry
    signature: KeyEntry & operator=(KeyEntry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyEntry
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: crypto::tink::internal::KeyEntry::KeyEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyEntry(const KeyEntry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeyEntry
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator=(const KeyEntry& other)'
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyEntry
    signature: KeyEntry & operator=(const KeyEntry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::shared_ptr<const Key>
    constantsTouched: []
    func_position:
      end: 102
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 102
    functionName: crypto::tink::internal::KeyEntry::KeyEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KeyEntry(std::shared_ptr<const Key> key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ParametersEntry
    constantsTouched: []
    func_position:
      end: 116
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 116
    functionName: crypto::tink::internal::ParametersEntry::ParametersEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametersEntry(ParametersEntry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ParametersEntry
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: '& operator=(ParametersEntry&& other)'
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParametersEntry
    signature: ParametersEntry & operator=(ParametersEntry&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ParametersEntry
    constantsTouched: []
    func_position:
      end: 118
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 118
    functionName: crypto::tink::internal::ParametersEntry::ParametersEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ParametersEntry(const ParametersEntry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ParametersEntry
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: '& operator=(const ParametersEntry& other)'
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParametersEntry
    signature: ParametersEntry & operator=(const ParametersEntry& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_handle_builder_entry.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - std::shared_ptr<const Parameters>
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: crypto::tink::internal::ParametersEntry::ParametersEntry
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ParametersEntry(std::shared_ptr<const Parameters> parameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/bn_encoding_util.cc:33,1
    - Dst: std::string
      Src: /src/tink/cc/internal/bn_encoding_util.cc:34,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/bn_encoding_util.cc:37,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_encoding_util.cc:38,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/internal/bn_encoding_util.cc:40,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/bn_encoding_util.cc:42,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/bn_encoding_util.cc:45,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/bn_encoding_util.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - big_integer_encoding
    - length
    argTypes:
    - absl::string_view
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 47
    functionName: crypto::tink::internal::GetValueOfFixedLength
    functionSourceFile: /src/tink/cc/internal/bn_encoding_util.cc
    functionUses: 4
    functionsReached:
    - std::string
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - absl::StrFormat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> GetValueOfFixedLength(\n    absl::string_view
      big_integer_encoding, int length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: crypto::tink::internal::LegacyProtoParameters::LegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LegacyProtoParameters(const LegacyProtoParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: '& operator=(const LegacyProtoParameters& other)'
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LegacyProtoParameters
    signature: LegacyProtoParameters & operator=(const LegacyProtoParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: crypto::tink::internal::LegacyProtoParameters::LegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LegacyProtoParameters(LegacyProtoParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - LegacyProtoParameters
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(LegacyProtoParameters&& other)'
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LegacyProtoParameters
    signature: LegacyProtoParameters & operator=(LegacyProtoParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/legacy_proto_parameters.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - serialization
    argTypes:
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: crypto::tink::internal::LegacyProtoParameters::LegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void LegacyProtoParameters(ProtoParametersSerialization serialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/internal/legacy_proto_parameters.h: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: crypto::tink::internal::LegacyProtoParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached:
    - GetKeyTemplate
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - 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: '& Serialization() const'
    functionSourceFile: /src/tink/cc/internal/legacy_proto_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ProtoParametersSerialization
    signature: ProtoParametersSerialization & Serialization() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
      Src: /src/tink/cc/internal/parameters_parser_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/parameters_parser_test.cc:48,1
    - Dst: std::unique_ptr::ObjectIdentifier
      Src: /src/tink/cc/internal/parameters_parser_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parameters_parser_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/parameters_parser_test.cc:49,1
    - Dst: std::unique_ptr::Index
      Src: /src/tink/cc/internal/parameters_parser_test.cc:49,1
    - Dst: Eq
      Src: /src/tink/cc/internal/parameters_parser_test.cc:50,1
    - Dst: ParserIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/parameters_parser_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_parser_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ObjectIdentifier
    - std::unique_ptr::Index
    - Eq
    - EXPECT_THAT
    - ParserIndex::Create<NoIdSerialization>
    - absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersParserTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
      Src: /src/tink/cc/internal/parameters_parser_test.cc:55,1
    - Dst: std::unique_ptr::ParseParameters
      Src: /src/tink/cc/internal/parameters_parser_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parameters_parser_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/parameters_parser_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/parameters_parser_test.cc:62,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/internal/parameters_parser_test.cc:62,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/parameters_parser_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_parser_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::unique_ptr::ParseParameters
    - ASSERT_THAT
    - EXPECT_THAT
    - IsFalse
    - absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
    - HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersParserTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
      Src: /src/tink/cc/internal/parameters_parser_test.cc:67,1
    - Dst: std::unique_ptr::ParseParameters
      Src: /src/tink/cc/internal/parameters_parser_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parameters_parser_test.cc:73,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/parameters_parser_test.cc:73,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/parameters_parser_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_parser_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::unique_ptr::ParseParameters
    - ASSERT_THAT
    - StatusIs
    - absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersParserTest, ParseParametersWithInvalidSerializationType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
      Src: /src/tink/cc/internal/parameters_parser_test.cc:78,1
    - Dst: std::unique_ptr::ParseParameters
      Src: /src/tink/cc/internal/parameters_parser_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/parameters_parser_test.cc:84,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/parameters_parser_test.cc:84,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/parameters_parser_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/parameters_parser_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::unique_ptr::ParseParameters
    - ASSERT_THAT
    - StatusIs
    - absl::make_unique<ParametersParserImpl<NoIdSerialization, NoIdParams>>
    linkageType: ''
    returnType: void
    signature: void TEST(ParametersParserTest, ParseParametersWithInvalidObjectIdentifier)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:70,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:70,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:72,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:72,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/rsa_util_test.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - modulus_size_in_bits
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: crypto::tink::internal::GetKeyPair
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - BN_set_word
    - util::Status::ok
    linkageType: ''
    returnType: util::StatusOr<std::pair<RsaPublicKey, RsaPrivateKey>>
    signature: "util::StatusOr<std::pair<RsaPublicKey, RsaPrivateKey>> GetKeyPair(\n
      \   size_t modulus_size_in_bits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:86,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:86,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:87,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:87,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:88,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:88,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:90,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:90,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:91,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:91,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:92,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:92,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:93,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:93,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:94,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:94,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:96,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:96,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:97,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:97,1
    - Dst: IsEmpty
      Src: /src/tink/cc/internal/rsa_util_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetKeyPair
    - EXPECT_EQ
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, BasicSanityChecks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:109,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:110,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:110,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:110,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/rsa_util_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - BN_set_word
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, FailsOnLargeE)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:118,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:123,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:125,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:126,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:128,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:129,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:131,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:132,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:134,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:135,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:137,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:138,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/rsa_util_test.cc:143,1
    - Dst: BN_new
      Src: /src/tink/cc/internal/rsa_util_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:144,1
    - Dst: BN_mul
      Src: /src/tink/cc/internal/rsa_util_test.cc:144,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:144,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:144,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:144,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:145,1
    - Dst: BN_cmp
      Src: /src/tink/cc/internal/rsa_util_test.cc:145,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:145,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:145,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/internal/rsa_util_test.cc:149,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/internal/rsa_util_test.cc:149,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:149,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/rsa_util_test.cc:153,1
    - Dst: BN_dup
      Src: /src/tink/cc/internal/rsa_util_test.cc:153,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:153,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:154,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:154,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:154,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/rsa_util_test.cc:155,1
    - Dst: BN_new
      Src: /src/tink/cc/internal/rsa_util_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:156,1
    - Dst: BN_mod
      Src: /src/tink/cc/internal/rsa_util_test.cc:156,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:156,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:156,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:156,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:158,1
    - Dst: BN_cmp
      Src: /src/tink/cc/internal/rsa_util_test.cc:158,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:158,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:158,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/rsa_util_test.cc:163,1
    - Dst: BN_dup
      Src: /src/tink/cc/internal/rsa_util_test.cc:163,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:163,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:164,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:164,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:164,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/internal/rsa_util_test.cc:165,1
    - Dst: BN_new
      Src: /src/tink/cc/internal/rsa_util_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:166,1
    - Dst: BN_mod
      Src: /src/tink/cc/internal/rsa_util_test.cc:166,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:166,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:166,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:166,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:168,1
    - Dst: BN_cmp
      Src: /src/tink/cc/internal/rsa_util_test.cc:168,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:168,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 170
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - ASSERT_EQ
    - crypto::tink::internal::GetKeyPair
    - ASSERT_THAT
    - internal::SslUniquePtr<BIGNUM>
    - BN_mod
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_new
    - BN_dup
    - EXPECT_GE
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - BN_sub_word
    - BN_num_bits
    - util::StatusOr::get
    - BN_cmp
    - auto::get
    - BN_mul
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, KeyIsWellFormed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:175,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:175,1
    - Dst: std::generate_n
      Src: /src/tink/cc/internal/rsa_util_test.cc:178,1
    - Dst: std::back_inserter
      Src: /src/tink/cc/internal/rsa_util_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:180,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:180,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:182,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/rsa_util_test.cc:186,1
    - Dst: std::vector::size
      Src: /src/tink/cc/internal/rsa_util_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:190,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:191,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:192,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:193,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:194,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:195,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/internal/rsa_util_test.cc:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 199
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - std::generate_n
    - EXPECT_EQ
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - BN_set_word
    - std::vector::size
    - EXPECT_NE
    - std::back_inserter
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, GeneratesDifferentPrivateKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:204,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:210,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/internal/rsa_util_test.cc:210,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/internal/rsa_util_test.cc:210,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:210,1
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:213,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:219,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/internal/rsa_util_test.cc:219,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/internal/rsa_util_test.cc:219,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:219,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 221
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::GetKeyPair
    - crypto::tink::internal::StringToBignum
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - BN_num_bits
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, ValidateRsaModulusSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:229,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:229,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/rsa_util_test.cc:231,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:231,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util_test.cc:231,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:233,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/internal/rsa_util_test.cc:233,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:233,1
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:237,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:237,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/rsa_util_test.cc:239,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:239,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util_test.cc:239,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:241,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/internal/rsa_util_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - crypto::tink::internal::ValidateRsaPublicExponent
    - internal::SslUniquePtr::get
    - IsOk
    - BN_set_word
    - Not
    - ASSERT_THAT
    - BN_num_bytes
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, ValidateRsaPublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/rsa_util_test.cc:247,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util_test.cc:247,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/rsa_util_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bn
    - data
    argTypes:
    - BIGNUM*
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: crypto::tink::internal::ExpectBignumEquals
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - BN_num_bytes
    linkageType: ''
    returnType: void
    signature: void ExpectBignumEquals(const BIGNUM* bn, absl::string_view data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:254,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - ' data'
    argTypes:
    - BIGNUM*
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: crypto::tink::internal::ExpectBignumEquals
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExpectBignumEquals
    - crypto::tink::util::SecretDataAsStringView
    linkageType: ''
    returnType: void
    signature: void ExpectBignumEquals(const BIGNUM* bn, const util::SecretData& data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:260,1
    - Dst: crypto::tink::internal::GetRsaModAndExponents
      Src: /src/tink/cc/internal/rsa_util_test.cc:263,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:264,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/internal/rsa_util_test.cc:268,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:268,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:269,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:270,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::ExpectBignumEquals
    - RSA_get0_key
    - crypto::tink::internal::GetRsaModAndExponents
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, GetRsaModAndExponents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:277,1
    - Dst: crypto::tink::internal::GetRsaPrimeFactors
      Src: /src/tink/cc/internal/rsa_util_test.cc:280,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:281,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/internal/rsa_util_test.cc:284,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:284,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:285,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetRsaPrimeFactors
    - crypto::tink::internal::GetKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - RSA_get0_factors
    - ASSERT_THAT
    - crypto::tink::internal::ExpectBignumEquals
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, GetRsaPrimeFactors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:292,1
    - Dst: crypto::tink::internal::GetRsaCrtParams
      Src: /src/tink/cc/internal/rsa_util_test.cc:298,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:299,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:299,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/internal/rsa_util_test.cc:300,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:300,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:301,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:302,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::ExpectBignumEquals
    - RSA_get0_crt_params
    - crypto::tink::internal::GetRsaCrtParams
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, GetRsaCrtParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:309,1
    - Dst: crypto::tink::internal::RsaPrivateKeyToRsa
      Src: /src/tink/cc/internal/rsa_util_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/rsa_util_test.cc:314,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util_test.cc:314,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util_test.cc:315,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/internal/rsa_util_test.cc:319,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:319,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/internal/rsa_util_test.cc:322,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:322,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:323,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:324,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:325,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:326,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 328
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::GetKeyPair
    - IsOk
    - crypto::tink::internal::RsaPrivateKeyToRsa
    - std::move
    - internal::SslUniquePtr::get
    - RSA_get0_factors
    - ASSERT_THAT
    - util::StatusOr::ok
    - crypto::tink::internal::ExpectBignumEquals
    - RSA_get0_key
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, CopiesRsaPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetKeyPair
      Src: /src/tink/cc/internal/rsa_util_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:333,1
    - Dst: crypto::tink::internal::RsaPublicKeyToRsa
      Src: /src/tink/cc/internal/rsa_util_test.cc:337,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/rsa_util_test.cc:338,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util_test.cc:338,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util_test.cc:339,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/internal/rsa_util_test.cc:343,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:343,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:344,1
    - Dst: crypto::tink::internal::ExpectBignumEquals
      Src: /src/tink/cc/internal/rsa_util_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 346
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::GetKeyPair
    - IsOk
    - internal::SslUniquePtr::get
    - std::move
    - ASSERT_THAT
    - util::StatusOr::ok
    - crypto::tink::internal::RsaPublicKeyToRsa
    - crypto::tink::internal::ExpectBignumEquals
    - RSA_get0_key
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, CopiesRsaPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util_test.cc:354,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/rsa_util_test.cc:354,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util_test.cc:355,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util_test.cc:356,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util_test.cc:358,1
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/rsa_util_test.cc:360,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:360,1
    - Dst: RSA_set0_key
      Src: /src/tink/cc/internal/rsa_util_test.cc:361,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:361,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:361,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:361,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util_test.cc:362,1
    - Dst: internal::SslUniquePtr::release
      Src: /src/tink/cc/internal/rsa_util_test.cc:365,1
    - Dst: internal::SslUniquePtr::release
      Src: /src/tink/cc/internal/rsa_util_test.cc:366,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util_test.cc:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - n_hex
    - exp
    argTypes:
    - absl::string_view
    - uint64_t
    constantsTouched: []
    func_position:
      end: 368
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: crypto::tink::internal::NewRsaPublicKey
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - BN_set_word
    - internal::SslUniquePtr::release
    - util::StatusOr::ok
    - RSA_set0_key
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<RSA>>
    signature: "util::StatusOr<internal::SslUniquePtr<RSA>> NewRsaPublicKey(\n    absl::string_view
      n_hex, uint64_t exp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:371,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:371,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyNullKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:376,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:376,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:376,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - internal::SslUniquePtr::get
    - Not
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyMissingExponentAndModule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewRsaPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:381,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:382,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:382,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:383,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:383,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewRsaPublicKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewRsaPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:390,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:391,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:391,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:392,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:392,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:392,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:392,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 393
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewRsaPublicKey
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyExponentTooLarge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewRsaPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:398,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:399,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:400,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:400,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:400,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:400,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewRsaPublicKey
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyExponentTooSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewRsaPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:407,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:407,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:408,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:408,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:408,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:408,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewRsaPublicKey
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyExponentNotOdd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/rsa_util_test.cc:413,1
    - Dst: crypto::tink::internal::NewRsaPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:418,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/internal/rsa_util_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:419,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:419,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:420,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:420,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:420,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:420,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewRsaPublicKey
    - IsOk
    - Not
    - absl::BytesToHexString
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyModulusTooLarge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewRsaPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:426,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:427,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:427,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/rsa_util_test.cc:428,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/internal/rsa_util_test.cc:428,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util_test.cc:428,1
    - Dst: Not
      Src: /src/tink/cc/internal/rsa_util_test.cc:428,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/rsa_util_test.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/rsa_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewRsaPublicKey
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::internal::RsaCheckPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaUtilTest, RsaCheckPublicKeyModulusSmallerThanExp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/internal/key_info_test.cc:33,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/internal/key_info_test.cc:34,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/internal/key_info_test.cc:35,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/internal/key_info_test.cc:36,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:38,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:38,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:38,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:39,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:39,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:40,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:41,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:41,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:41,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:42,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:42,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/internal/key_info_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key::mutable_key_data
    - Keyset::Key::set_key_id
    - Keyset::Key::set_output_prefix_type
    - EXPECT_THAT
    - crypto::tink::KeyInfoFromKey
    - Eq
    - Keyset::Key::set_status
    linkageType: ''
    returnType: void
    signature: void TEST(KeyInfoFromKeyTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::set_status
      Src: /src/tink/cc/internal/key_info_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:48,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:48,1
    - Dst: google::crypto::tink::Keyset::Key::set_status
      Src: /src/tink/cc/internal/key_info_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:50,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:50,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/internal/key_info_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key::set_status
    - EXPECT_THAT
    - crypto::tink::KeyInfoFromKey
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyInfoFromKeyTest, Status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/internal/key_info_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:56,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:56,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:57,1
    - Dst: google::crypto::tink::Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/internal/key_info_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:59,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/internal/key_info_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeyInfoFromKey
    - google::crypto::tink::Keyset::Key::set_output_prefix_type
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeyInfoFromKeyTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/key_info_test.cc:65,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/internal/key_info_test.cc:66,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/internal/key_info_test.cc:67,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/internal/key_info_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:69,1
    - Dst: crypto::tink::KeysetInfoFromKeyset
      Src: /src/tink/cc/internal/key_info_test.cc:69,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:70,1
    - Dst: crypto::tink::KeysetInfoFromKeyset
      Src: /src/tink/cc/internal/key_info_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:71,1
    - Dst: crypto::tink::KeysetInfoFromKeyset
      Src: /src/tink/cc/internal/key_info_test.cc:71,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:72,1
    - Dst: crypto::tink::KeysetInfoFromKeyset
      Src: /src/tink/cc/internal/key_info_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_info_test.cc:73,1
    - Dst: crypto::tink::KeysetInfoFromKeyset
      Src: /src/tink/cc/internal/key_info_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/internal/key_info_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/internal/key_info_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::set_primary_key_id
    - EXPECT_THAT
    - Keyset::add_key
    - Eq
    - crypto::tink::KeysetInfoFromKeyset
    linkageType: ''
    returnType: void
    signature: void TEST(KeySetInfoForKeySetTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:55,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/internal/monitoring_util_test.cc:55,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/internal/monitoring_util_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/monitoring_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - test::StatusIs
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: "void TEST(MonitoringUtilTest,\n     MonitoringKeySetInfoFromPrimitiveSetEmptyPrimitiveSet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::string>
      Src: /src/tink/cc/internal/monitoring_util_test.cc:61,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/internal/monitoring_util_test.cc:63,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/internal/monitoring_util_test.cc:65,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/internal/monitoring_util_test.cc:66,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/internal/monitoring_util_test.cc:67,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/internal/monitoring_util_test.cc:69,1
    - Dst: std::move
      Src: /src/tink/cc/internal/monitoring_util_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/monitoring_util_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:71,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/internal/monitoring_util_test.cc:71,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/internal/monitoring_util_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/monitoring_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - IsOk
    - test::StatusIs
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - ASSERT_THAT
    - PrimitiveSet::AddPrimitive
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_type_url
    - absl::make_unique<std::string>
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    linkageType: ''
    returnType: void
    signature: void TEST(MonitoringUtilTest, MonitoringKeySetInfoFromPrimitiveSetNullPrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::string>
      Src: /src/tink/cc/internal/monitoring_util_test.cc:85,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/internal/monitoring_util_test.cc:88,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/internal/monitoring_util_test.cc:89,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/internal/monitoring_util_test.cc:90,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/internal/monitoring_util_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/internal/monitoring_util_test.cc:92,1
    - Dst: std::move
      Src: /src/tink/cc/internal/monitoring_util_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - primitive_value
    - type_url
    - status
    - key_id
    - prefix_type
    argTypes:
    - absl::string_view
    - absl::string_view
    - KeyStatusType
    - uint32_t
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: crypto::tink::internal::NewPrimitiveSetInputPrimitive
    functionSourceFile: /src/tink/cc/internal/monitoring_util_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_type_url
    - absl::make_unique<std::string>
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    linkageType: ''
    returnType: PrimitiveSetInputPrimitive<std::string>
    signature: "PrimitiveSetInputPrimitive<std::string> NewPrimitiveSetInputPrimitive(\n
      \   absl::string_view primitive_value, absl::string_view type_url,\n    KeyStatusType
      status, uint32_t key_id, OutputPrefixType prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewPrimitiveSetInputPrimitive
      Src: /src/tink/cc/internal/monitoring_util_test.cc:116,1
    - Dst: crypto::tink::internal::NewPrimitiveSetInputPrimitive
      Src: /src/tink/cc/internal/monitoring_util_test.cc:122,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/internal/monitoring_util_test.cc:128,1
    - Dst: std::move
      Src: /src/tink/cc/internal/monitoring_util_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/monitoring_util_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:131,1
    - Dst: PrimitiveSet::set_primary
      Src: /src/tink/cc/internal/monitoring_util_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/monitoring_util_test.cc:131,1
    - Dst: PrimitiveSet::AddPrimitive
      Src: /src/tink/cc/internal/monitoring_util_test.cc:133,1
    - Dst: std::move
      Src: /src/tink/cc/internal/monitoring_util_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/monitoring_util_test.cc:135,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/internal/monitoring_util_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/monitoring_util_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/monitoring_util_test.cc:140,1
    - Dst: util::StatusOr::GetPrimaryKeyId
      Src: /src/tink/cc/internal/monitoring_util_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:141,1
    - Dst: util::StatusOr::GetAnnotations
      Src: /src/tink/cc/internal/monitoring_util_test.cc:141,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tink/cc/internal/monitoring_util_test.cc:142,1
    - Dst: util::StatusOr::GetEntries
      Src: /src/tink/cc/internal/monitoring_util_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/monitoring_util_test.cc:145,1
    - Dst: UnorderedElementsAre
      Src: /src/tink/cc/internal/monitoring_util_test.cc:147,1
    - Dst: MonitoringKeySetInfoEntryEq
      Src: /src/tink/cc/internal/monitoring_util_test.cc:148,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::Entry
      Src: /src/tink/cc/internal/monitoring_util_test.cc:148,1
    - Dst: MonitoringKeySetInfoEntryEq
      Src: /src/tink/cc/internal/monitoring_util_test.cc:151,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::Entry
      Src: /src/tink/cc/internal/monitoring_util_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 154
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/monitoring_util_test.cc
    functionUses: 0
    functionsReached:
    - PrimitiveSet::set_primary
    - crypto::tink::KeysetHandleBuilder::Entry::Entry
    - MonitoringKeySetInfoEntryEq
    - UnorderedElementsAre
    - EXPECT_EQ
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - IsOk
    - crypto::tink::internal::NewPrimitiveSetInputPrimitive
    - std::move
    - UnorderedElementsAreArray
    - util::StatusOr::GetEntries
    - ASSERT_THAT
    - PrimitiveSet::AddPrimitive
    - EXPECT_THAT
    - util::StatusOr::GetAnnotations
    - util::StatusOr::GetPrimaryKeyId
    linkageType: ''
    returnType: void
    signature: void TEST(MonitoringUtilTest, MonitoringKeySetInfoFromPrimitiveSetValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:32,1
    - Dst: SerializerIndex::Create<NoIdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:32,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:33,1
    - Dst: SerializerIndex::Create<NoIdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:33,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:34,1
    - Dst: SerializerIndex::Create<NoIdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:34,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:35,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:35,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:35,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:36,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:36,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:36,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:37,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:37,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serializer_index_test.cc
    functionUses: 0
    functionsReached:
    - NoIdParams
    - SerializerIndex::Create<NoIdParams, NoIdSerialization>
    - ASSERT_THAT
    - SerializerIndex::Create<NoIdSerialization>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializerIndex, CreateEquivalentFromParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:42,1
    - Dst: SerializerIndex::Create<NoIdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:43,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:44,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:44,1
    - Dst: SerializerIndex::Create<IdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:44,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:45,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:46,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:46,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:47,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:47,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:47,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serializer_index_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - SerializerIndex::Create<IdParams, NoIdSerialization>
    - NoIdParams
    - SerializerIndex::Create<NoIdParams, NoIdSerialization>
    - ASSERT_THAT
    - IdParams
    - SerializerIndex::Create<NoIdSerialization>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializerIndex, CreateFromDifferentParametersType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:52,1
    - Dst: SerializerIndex::Create<NoIdParams, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:53,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:54,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:54,1
    - Dst: SerializerIndex::Create<NoIdParams, IdParamsSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:54,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:55,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:56,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:56,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:57,1
    - Dst: SerializerIndex::Create<IdParamsSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:57,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serializer_index_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serializer_index_test.cc
    functionUses: 0
    functionsReached:
    - SerializerIndex::Create<IdParamsSerialization>
    - Not
    - NoIdParams
    - SerializerIndex::Create<NoIdParams, NoIdSerialization>
    - Eq
    - ASSERT_THAT
    - SerializerIndex::Create<NoIdSerialization>
    - SerializerIndex::Create<NoIdParams, IdParamsSerialization>
    linkageType: ''
    returnType: void
    signature: void TEST(SerializerIndex, CreateFromSameParametersTypeWithDifferentSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:62,1
    - Dst: SerializerIndex::Create<NoIdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:63,1
    - Dst: SerializerIndex::Create<NoIdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:63,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:64,1
    - Dst: SerializerIndex::Create<NoIdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:65,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:65,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:66,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:66,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:67,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:67,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serializer_index_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - SerializerIndex::Create<NoIdKey, NoIdSerialization>
    - ASSERT_THAT
    - SerializerIndex::Create<NoIdSerialization>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializerIndex, CreateEquivalentFromKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:72,1
    - Dst: SerializerIndex::Create<NoIdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:72,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:73,1
    - Dst: SerializerIndex::Create<IdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:74,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:75,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:75,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:76,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:76,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serializer_index_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - SerializerIndex::Create<IdKey, NoIdSerialization>
    - SerializerIndex::Create<NoIdKey, NoIdSerialization>
    - Not
    - IdKey
    - ASSERT_THAT
    - SerializerIndex::Create<NoIdSerialization>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializerIndex, CreateFromDifferentKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:81,1
    - Dst: SerializerIndex::Create<NoIdKey, NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:82,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:83,1
    - Dst: SerializerIndex::Create<NoIdKey, IdKeySerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/serializer_index_test.cc:84,1
    - Dst: SerializerIndex::Create<NoIdSerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:85,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:85,1
    - Dst: Not
      Src: /src/tink/cc/internal/serializer_index_test.cc:86,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serializer_index_test.cc:86,1
    - Dst: SerializerIndex::Create<IdKeySerialization>
      Src: /src/tink/cc/internal/serializer_index_test.cc:86,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serializer_index_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serializer_index_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - SerializerIndex::Create<NoIdKey, IdKeySerialization>
    - SerializerIndex::Create<NoIdKey, NoIdSerialization>
    - Not
    - SerializerIndex::Create<IdKeySerialization>
    - ASSERT_THAT
    - SerializerIndex::Create<NoIdSerialization>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SerializerIndex, CreateFromSameKeyTypeWithDifferentSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/util_test.cc:38,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/internal/util_test.cc:38,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:38,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/util_test.cc:40,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/internal/util_test.cc:40,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:40,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:41,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/util_test.cc:42,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/internal/util_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::EnsureStringNonNull
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, EnsureStringNonNull)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:47,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:48,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BuffersOverlap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuffersOverlapTest, BufferOverlapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:54,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:54,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/util_test.cc:55,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BuffersOverlap
    - EXPECT_TRUE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(BuffersOverlapTest, BufferOverlapSeparate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/util_test.cc:61,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/util_test.cc:63,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:64,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:64,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:64,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:65,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:66,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:66,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:66,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/util_test.cc:68,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:69,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:69,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:70,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/util_test.cc:71,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:71,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/internal/util_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - absl::string_view::substr
    - EXPECT_TRUE
    - crypto::tink::internal::BuffersOverlap
    linkageType: ''
    returnType: void
    signature: void TEST(BuffersOverlapTest, BufferOverlap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:77,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:78,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:78,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:78,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:79,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:80,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:80,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:81,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:81,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - EXPECT_FALSE
    - crypto::tink::internal::BuffersAreIdentical
    linkageType: ''
    returnType: void
    signature: void TEST(BuffersAreIdenticalTest, EmptyString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/internal/util_test.cc:85,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:86,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/util_test.cc:87,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:90,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:91,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - EXPECT_TRUE
    - std::string
    - EXPECT_FALSE
    - crypto::tink::internal::BuffersAreIdentical
    linkageType: ''
    returnType: void
    signature: void TEST(BuffersAreIdenticalTest, BuffersAreIdentical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/internal/util_test.cc:95,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/util_test.cc:96,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:97,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:97,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:97,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:97,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:98,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:98,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:98,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:98,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:99,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:99,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:99,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:99,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/util_test.cc:100,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/util_test.cc:100,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:100,1
    - Dst: auto::substr
      Src: /src/tink/cc/internal/util_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - std::string
    - EXPECT_FALSE
    - auto::substr
    - crypto::tink::internal::BuffersAreIdentical
    linkageType: ''
    returnType: void
    signature: void TEST(BuffersAreIdenticalTest, PartialOverlapFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/util_test.cc:108,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/internal/util_test.cc:108,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/util_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsPrintableAscii
    - IsTrue
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, IsPrintableAscii)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/util_test.cc:112,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/internal/util_test.cc:112,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/util_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/util_test.cc:113,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/internal/util_test.cc:113,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/util_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/util_test.cc:114,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/internal/util_test.cc:114,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/util_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/util_test.cc:115,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/internal/util_test.cc:115,1
    - Dst: std::string
      Src: /src/tink/cc/internal/util_test.cc:115,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/util_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/util_test.cc:116,1
    - Dst: crypto::tink::internal::IsPrintableAscii
      Src: /src/tink/cc/internal/util_test.cc:116,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/util_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsPrintableAscii
    - std::string
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST(UtilTest, IsNotPrintableAscii)
  - 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: ~Serialization()
    functionSourceFile: /src/tink/cc/internal/serialization.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Serialization()
  - 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: ~ParametersParser()
    functionSourceFile: /src/tink/cc/internal/parameters_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - object_identifier
    - "\n          function"
    argTypes:
    - absl::string_view
    - std::function<util::StatusOr<ParametersT>(SerializationT)>
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::ParametersParserImpl::ParametersParserImpl
    functionSourceFile: /src/tink/cc/internal/parameters_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ParametersParserImpl(\n      absl::string_view object_identifier,\n
      \     const std::function<util::StatusOr<ParametersT>(SerializationT)>&\n          function)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ParametersParserImpl::ObjectIdentifier
      Src: /src/tink/cc/internal/parameters_parser.h:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/parameters_parser.h:81,1
    - Dst: dynamic_cast<const SerializationT*>
      Src: /src/tink/cc/internal/parameters_parser.h:86,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/parameters_parser.h:88,1
    - Dst: function_
      Src: /src/tink/cc/internal/parameters_parser.h:92,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/parameters_parser.h:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/parameters_parser.h:93,1
    - Dst: absl::make_unique<ParametersT>
      Src: /src/tink/cc/internal/parameters_parser.h:94,1
    - Dst: std::move
      Src: /src/tink/cc/internal/parameters_parser.h:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - Serialization
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: crypto::tink::internal::ParametersParserImpl::ParseParameters
    functionSourceFile: /src/tink/cc/internal/parameters_parser.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParametersParserImpl::ObjectIdentifier
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - dynamic_cast<const SerializationT*>
    - std::move
    - util::StatusOr::ok
    - absl::make_unique<ParametersT>
    - function_
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Parameters>>
    signature: "util::StatusOr<std::unique_ptr<Parameters>> ParseParameters(\n      const
      Serialization& serialization) const override"
  - 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: crypto::tink::internal::ParametersParserImpl::ObjectIdentifier
    functionSourceFile: /src/tink/cc/internal/parameters_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ObjectIdentifier() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParserIndex::Create<SerializationT>
      Src: /src/tink/cc/internal/parameters_parser.h: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: crypto::tink::internal::ParametersParserImpl::Index
    functionSourceFile: /src/tink/cc/internal/parameters_parser.h
    functionUses: 0
    functionsReached:
    - ParserIndex::Create<SerializationT>
    linkageType: ''
    returnType: ParserIndex
    signature: ParserIndex Index() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Get
      Src: /src/tink/cc/internal/registry_impl.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type_url
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::RegistryImpl::get_key_type_info
    functionSourceFile: /src/tink/cc/internal/registry_impl.cc
    functionUses: 2
    functionsReached:
    - Get
    linkageType: ''
    returnType: util::StatusOr<const KeyTypeInfoStore::Info*>
    signature: "util::StatusOr<const KeyTypeInfoStore::Info*> RegistryImpl::get_key_type_info(\n
      \   absl::string_view type_url) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RegistryImpl::get_key_type_info
      Src: /src/tink/cc/internal/registry_impl.cc:54,1
    - Dst: type_url
      Src: /src/tink/cc/internal/registry_impl.cc:54,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/registry_impl.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/registry_impl.cc:56,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/registry_impl.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/registry_impl.cc:61,1
    - Dst: type_url
      Src: /src/tink/cc/internal/registry_impl.cc:61,1
    - Dst: key_factory
      Src: /src/tink/cc/internal/registry_impl.cc:64,1
    - Dst: value
      Src: /src/tink/cc/internal/registry_impl.cc:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::RegistryImpl::NewKeyData
    functionSourceFile: /src/tink/cc/internal/registry_impl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - key_factory
    - new_key_allowed
    - util::StatusOr::ok
    - crypto::tink::internal::RegistryImpl::get_key_type_info
    - type_url
    - value
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeyData>>
    signature: "util::StatusOr<std::unique_ptr<KeyData>> RegistryImpl::NewKeyData(\n
      \   const KeyTemplate& key_template) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RegistryImpl::get_key_type_info
      Src: /src/tink/cc/internal/registry_impl.cc:71,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/registry_impl.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/registry_impl.cc:73,1
    - Dst: dynamic_cast<const PrivateKeyFactory*>
      Src: /src/tink/cc/internal/registry_impl.cc:76,1
    - Dst: key_factory
      Src: /src/tink/cc/internal/registry_impl.cc:76,1
    - Dst: ToStatusF
      Src: /src/tink/cc/internal/registry_impl.cc:78,1
    - Dst: auto::GetPublicKeyData
      Src: /src/tink/cc/internal/registry_impl.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - type_url
    - serialized_private_key
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::RegistryImpl::GetPublicKeyData
    functionSourceFile: /src/tink/cc/internal/registry_impl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - key_factory
    - dynamic_cast<const PrivateKeyFactory*>
    - ToStatusF
    - util::StatusOr::ok
    - crypto::tink::internal::RegistryImpl::get_key_type_info
    - auto::GetPublicKeyData
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeyData>>
    signature: "util::StatusOr<std::unique_ptr<KeyData>> RegistryImpl::GetPublicKeyData(\n
      \   absl::string_view type_url,\n    absl::string_view serialized_private_key)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RegistryImpl::get_key_type_info
      Src: /src/tink/cc/internal/registry_impl.cc:90,1
    - Dst: type_url
      Src: /src/tink/cc/internal/registry_impl.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/registry_impl.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/registry_impl.cc:92,1
    - Dst: key_deriver
      Src: /src/tink/cc/internal/registry_impl.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.cc:95,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/registry_impl.cc:97,1
    - Dst: type_url
      Src: /src/tink/cc/internal/registry_impl.cc:97,1
    - Dst: key_deriver
      Src: /src/tink/cc/internal/registry_impl.cc:100,1
    - Dst: value
      Src: /src/tink/cc/internal/registry_impl.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' key_template'
    - randomness
    argTypes:
    - KeyTemplate
    - InputStream*
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::RegistryImpl::DeriveKey
    functionSourceFile: /src/tink/cc/internal/registry_impl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - crypto::tink::internal::RegistryImpl::get_key_type_info
    - type_url
    - key_deriver
    - absl::StrCat
    - value
    linkageType: ''
    returnType: util::StatusOr<KeyData>
    signature: "util::StatusOr<KeyData> RegistryImpl::DeriveKey(const KeyTemplate&
      key_template,\n                                                InputStream*
      randomness) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.cc:106,1
    - Dst: crypto::tink::internal::RegistryImpl::GetMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl.cc:110,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl.cc:111,1
    - Dst: store
      Src: /src/tink/cc/internal/registry_impl.cc:114,1
    - Dst: std::unique_ptr<MonitoringClientFactory>::release
      Src: /src/tink/cc/internal/registry_impl.cc:114,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl.cc:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - factory
    argTypes:
    - std::unique_ptr<MonitoringClientFactory>
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: crypto::tink::internal::RegistryImpl::RegisterMonitoringClientFactory
    functionSourceFile: /src/tink/cc/internal/registry_impl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::unique_ptr<MonitoringClientFactory>::release
    - store
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::RegistryImpl::GetMonitoringClientFactory
    linkageType: ''
    returnType: util::Status
    signature: "util::Status RegistryImpl::RegisterMonitoringClientFactory(\n    std::unique_ptr<MonitoringClientFactory>
      factory)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTypeInfoStore
      Src: /src/tink/cc/internal/registry_impl.cc:121,1
    - Dst: KeysetWrapperStore
      Src: /src/tink/cc/internal/registry_impl.cc:122,1
    - Dst: exchange
      Src: /src/tink/cc/internal/registry_impl.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: crypto::tink::internal::RegistryImpl::Reset
    functionSourceFile: /src/tink/cc/internal/registry_impl.cc
    functionUses: 0
    functionsReached:
    - exchange
    - KeysetWrapperStore
    - KeyTypeInfoStore
    linkageType: ''
    returnType: void
    signature: void RegistryImpl::Reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:67,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:67,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:68,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:68,1
    - Dst: LegacyProtoParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::CreateLegacyProtoParameters
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - LegacyProtoParameters
    - util::StatusOr::status
    - MacKeyTemplates::AesCmac
    - util::StatusOr::ok
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<LegacyProtoParameters>
    signature: util::StatusOr<LegacyProtoParameters> CreateLegacyProtoParameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateLegacyProtoParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:76,1
    - Dst: ParametersEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:79,1
    - Dst: absl::make_unique<LegacyProtoParameters>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:79,1
    - Dst: ParametersEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:82,1
    - Dst: ParametersEntry::GetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:82,1
    - Dst: ParametersEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:85,1
    - Dst: ParametersEntry::GetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:85,1
    - Dst: ParametersEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:88,1
    - Dst: ParametersEntry::GetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - ParametersEntry
    - IsOk
    - ParametersEntry::SetStatus
    - ASSERT_THAT
    - EXPECT_THAT
    - ParametersEntry::GetStatus
    - absl::make_unique<LegacyProtoParameters>
    - crypto::tink::internal::CreateLegacyProtoParameters
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetHandleBuilderEntryTest, Status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateLegacyProtoParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:94,1
    - Dst: ParametersEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:97,1
    - Dst: absl::make_unique<LegacyProtoParameters>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:97,1
    - Dst: ParametersEntry::SetFixedId
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:100,1
    - Dst: ParametersEntry::GetKeyIdStrategyEnum
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:101,1
    - Dst: ParametersEntry::GetKeyIdStrategy
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:102,1
    - Dst: ParametersEntry::GetKeyIdStrategy
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:103,1
    - Dst: ParametersEntry::GetKeyIdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:103,1
    - Dst: ParametersEntry::SetRandomId
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:106,1
    - Dst: ParametersEntry::GetKeyIdStrategyEnum
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:107,1
    - Dst: ParametersEntry::GetKeyIdStrategy
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:108,1
    - Dst: ParametersEntry::GetKeyIdStrategy
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:109,1
    - Dst: ParametersEntry::GetKeyIdRequirement
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - ParametersEntry
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - ParametersEntry::GetKeyIdStrategy
    - ParametersEntry::SetFixedId
    - absl::make_unique<LegacyProtoParameters>
    - ParametersEntry::GetKeyIdRequirement
    - ParametersEntry::GetKeyIdStrategyEnum
    - ParametersEntry::SetRandomId
    - crypto::tink::internal::CreateLegacyProtoParameters
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetHandleBuilderEntryTest, IdStrategy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateLegacyProtoParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:115,1
    - Dst: ParametersEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:118,1
    - Dst: absl::make_unique<LegacyProtoParameters>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:118,1
    - Dst: ParametersEntry::SetPrimary
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:121,1
    - Dst: ParametersEntry::IsPrimary
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:121,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:121,1
    - Dst: ParametersEntry::UnsetPrimary
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:124,1
    - Dst: ParametersEntry::IsPrimary
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:124,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - ParametersEntry
    - IsOk
    - ParametersEntry::UnsetPrimary
    - ASSERT_THAT
    - ParametersEntry::SetPrimary
    - ParametersEntry::IsPrimary
    - EXPECT_THAT
    - absl::make_unique<LegacyProtoParameters>
    - IsFalse
    - IsTrue
    - crypto::tink::internal::CreateLegacyProtoParameters
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetHandleBuilderEntryTest, Primary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:129,1
    - Dst: crypto::tink::TinkConfig::Register
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc: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: crypto::tink::internal::CreateKeysetKeyTest::SetUp
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::TinkConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateLegacyProtoParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:135,1
    - Dst: ParametersEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:138,1
    - Dst: absl::make_unique<LegacyProtoParameters>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:138,1
    - Dst: ParametersEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:139,1
    - Dst: ParametersEntry::SetFixedId
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:140,1
    - Dst: ParametersEntry::CreateKeysetKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:145,1
    - Dst: status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:145,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:146,1
    - Dst: key_id
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:146,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:147,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:148,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:149,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:150,1
    - Dst: key_data
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:151,1
    - Dst: util::StatusOr::Serialization
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - ParametersEntry
    - ParametersEntry::CreateKeysetKey
    - IsOk
    - util::StatusOr::Serialization
    - status
    - ParametersEntry::SetStatus
    - ASSERT_THAT
    - key_id
    - EXPECT_THAT
    - ParametersEntry::SetFixedId
    - absl::make_unique<LegacyProtoParameters>
    - key_data
    - output_prefix_type
    - crypto::tink::internal::CreateLegacyProtoParameters
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateKeysetKeyTest, CreateKeysetKeyFromParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateLegacyProtoParameters
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:157,1
    - Dst: ParametersEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:160,1
    - Dst: absl::make_unique<LegacyProtoParameters>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:160,1
    - Dst: ParametersEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:161,1
    - Dst: ParametersEntry::SetFixedId
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:162,1
    - Dst: ParametersEntry::CreateKeysetKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:165,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - ParametersEntry
    - ParametersEntry::CreateKeysetKey
    - util::StatusOr::status
    - IsOk
    - StatusIs
    - ParametersEntry::SetStatus
    - ASSERT_THAT
    - EXPECT_THAT
    - ParametersEntry::SetFixedId
    - absl::make_unique<LegacyProtoParameters>
    - crypto::tink::internal::CreateLegacyProtoParameters
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateKeysetKeyTest, CreateKeysetKeyFromParametersWithDifferentKeyId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:171,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:171,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:176,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:179,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:180,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:180,1
    - Dst: KeyEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:182,1
    - Dst: absl::make_unique<LegacyProtoKey>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:182,1
    - Dst: KeyEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:183,1
    - Dst: KeyEntry::SetFixedId
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:184,1
    - Dst: KeyEntry::CreateKeysetKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:189,1
    - Dst: status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:189,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:190,1
    - Dst: key_id
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:191,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:192,1
    - Dst: key_data
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:192,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:193,1
    - Dst: key_data
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:193,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:195,1
    - Dst: key_data
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:195,1
    - Dst: Eq
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - KeyEntry::CreateKeysetKey
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - status
    - ASSERT_THAT
    - key_id
    - output_prefix_type
    - crypto::tink::internal::LegacyProtoKey::Create
    - KeyEntry
    - absl::make_unique<LegacyProtoKey>
    - KeyEntry::SetStatus
    - EXPECT_THAT
    - key_data
    - KeyEntry::SetFixedId
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateKeysetKeyTest, CreateKeysetKeyFromKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:200,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:200,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:205,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:205,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:208,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:209,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:209,1
    - Dst: KeyEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:211,1
    - Dst: absl::make_unique<LegacyProtoKey>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:211,1
    - Dst: KeyEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:212,1
    - Dst: KeyEntry::SetFixedId
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:213,1
    - Dst: KeyEntry::CreateKeysetKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:215,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:216,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - KeyEntry::CreateKeysetKey
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - KeyEntry
    - absl::make_unique<LegacyProtoKey>
    - KeyEntry::SetStatus
    - EXPECT_THAT
    - KeyEntry::SetFixedId
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateKeysetKeyTest, CreateKeysetKeyFromKeyWithDifferentEntryKeyId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:223,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:223,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:228,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:228,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:231,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:232,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:232,1
    - Dst: KeyEntry
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:234,1
    - Dst: absl::make_unique<LegacyProtoKey>
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:234,1
    - Dst: KeyEntry::SetStatus
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:235,1
    - Dst: KeyEntry::CreateKeysetKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:238,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:238,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 240
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - KeyEntry::CreateKeysetKey
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::LegacyProtoKey::Create
    - KeyEntry
    - absl::make_unique<LegacyProtoKey>
    - KeyEntry::SetStatus
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CreateKeysetKeyTest,\n       CreateKeysetKeyFromKeyWithDifferentSerializationKeyId)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:247,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:250,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateKeysetKeyTest, CreateKeysetFromNonLegacyParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:264,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:267,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:272,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:272,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - KeysetHandleBuilder
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CreateKeysetKeyTest,\n       CreateKeysetWithAllowedParametersProhibitedByKeyManager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:280,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:281,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:282,1
    - Dst: GetPartialKeyAccess
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:283,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:283,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:286,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 291
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateKeysetKeyTest, CreateKeysetFromNonLegacyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/internal/key_info.cc:29,1
    - Dst: key_id
      Src: /src/tink/cc/internal/key_info.cc:29,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/internal/key_info.cc:30,1
    - Dst: key_data
      Src: /src/tink/cc/internal/key_info.cc:30,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/internal/key_info.cc:31,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/internal/key_info.cc:31,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/internal/key_info.cc:32,1
    - Dst: status
      Src: /src/tink/cc/internal/key_info.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Keyset::Key
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: crypto::tink::KeyInfoFromKey
    functionSourceFile: /src/tink/cc/internal/key_info.cc
    functionUses: 3
    functionsReached:
    - status
    - KeysetInfo::KeyInfo::set_key_id
    - key_id
    - KeysetInfo::KeyInfo::set_type_url
    - key_data
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: KeysetInfo::KeyInfo KeyInfoFromKey(const Keyset::Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::set_primary_key_id
      Src: /src/tink/cc/internal/key_info.cc:38,1
    - Dst: primary_key_id
      Src: /src/tink/cc/internal/key_info.cc:38,1
    - Dst: key
      Src: /src/tink/cc/internal/key_info.cc:39,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/internal/key_info.cc:40,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/internal/key_info.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: crypto::tink::KeysetInfoFromKeyset
    functionSourceFile: /src/tink/cc/internal/key_info.cc
    functionUses: 1
    functionsReached:
    - primary_key_id
    - crypto::tink::KeyInfoFromKey
    - key
    - KeysetInfo::add_key_info
    - KeysetInfo::set_primary_key_id
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo KeysetInfoFromKeyset(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtoKeySerialization::EqualsWithPotentialFalseNegatives
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serialization
    - other
    argTypes:
    - ProtoKeySerialization
    - ProtoKeySerialization
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: crypto::tink::internal::ProtoKeySerializationTest::Equals
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - ProtoKeySerialization::EqualsWithPotentialFalseNegatives
    linkageType: ''
    returnType: bool
    signature: "bool Equals(ProtoKeySerialization serialization,\n              ProtoKeySerialization
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:52,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:52,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:54,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:57,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:59,1
    - Dst: util::StatusOr::TypeUrl
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:60,1
    - Dst: util::StatusOr::SerializedKeyProto
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:61,1
    - Dst: util::StatusOr::KeyMaterialType
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:62,1
    - Dst: util::StatusOr::GetOutputPrefixType
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:63,1
    - Dst: util::StatusOr::IdRequirement
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:64,1
    - Dst: util::StatusOr::ObjectIdentifier
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - util::StatusOr::GetOutputPrefixType
    - util::StatusOr::IdRequirement
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::KeyMaterialType
    - ASSERT_THAT
    - util::StatusOr::ObjectIdentifier
    - util::StatusOr::TypeUrl
    - EXPECT_THAT
    - util::StatusOr::SerializedKeyProto
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, CreateWithIdRequirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:69,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:69,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:74,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:76,1
    - Dst: util::StatusOr::TypeUrl
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:77,1
    - Dst: util::StatusOr::SerializedKeyProto
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:78,1
    - Dst: util::StatusOr::KeyMaterialType
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:79,1
    - Dst: util::StatusOr::GetOutputPrefixType
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:79,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:80,1
    - Dst: util::StatusOr::IdRequirement
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:80,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:81,1
    - Dst: util::StatusOr::ObjectIdentifier
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - util::StatusOr::GetOutputPrefixType
    - util::StatusOr::IdRequirement
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::KeyMaterialType
    - ASSERT_THAT
    - util::StatusOr::ObjectIdentifier
    - util::StatusOr::TypeUrl
    - EXPECT_THAT
    - util::StatusOr::SerializedKeyProto
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, CreateWithoutIdRequirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:86,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:86,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:91,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:92,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:98,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:98,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, OutputPrefixIncompatibleWithIdRequirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:104,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:104,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:109,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:109,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:117,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:117,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsTrue
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:122,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:122,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:127,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:127,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:133,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:135,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:135,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, TypeUrlAndObjectIdentifierNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:140,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:142,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:145,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:145,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:148,1
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:150,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:155,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:155,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, SerializedKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:160,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:160,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:165,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:171,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:173,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:173,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, KeyMaterialTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:178,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:178,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:183,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:183,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:191,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:191,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, OutputPrefixTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:196,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:196,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:201,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:201,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:207,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:209,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:209,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, IdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:214,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:214,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:219,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:220,1
    - Dst: util::StatusOr::SerializedKeyProto
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:220,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:221,1
    - Dst: util::StatusOr::SerializedKeyProto
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:221,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:222,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:223,1
    - Dst: util::StatusOr::SerializedKeyProto
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:225,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:227,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_key_serialization_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_key_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::SerializedKeyProto
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoKeySerializationTest, AssignSecretToStringView)
  - 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: crypto::tink::internal::KeysetWrapperStore::KeysetWrapperStore
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetWrapperStore()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeysetWrapperStore
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: crypto::tink::internal::KeysetWrapperStore::KeysetWrapperStore
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeysetWrapperStore(KeysetWrapperStore&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - KeysetWrapperStore
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(KeysetWrapperStore&& other)'
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeysetWrapperStore
    signature: KeysetWrapperStore & operator=(KeysetWrapperStore&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/internal/keyset_wrapper_store.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: crypto::tink::internal::KeysetWrapperStore::IsEmpty
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool IsEmpty() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:90,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:90,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:91,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:91,1
    - Dst: absl::make_unique<KeysetWrapperImpl<P, Q>>
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:92,1
    - Dst: std::unique_ptr<PrimitiveWrapper<P, Q>>::get
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:93,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:93,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wrapper
    - primitive_getter
    argTypes:
    - std::unique_ptr<PrimitiveWrapper<P, Q>>
    - "absl::AnyInvocable<crypto::tink::util::StatusOr<std::unique_ptr<P>>(\n            const
      google::crypto::tink::KeyData& key_data) const>"
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: crypto::tink::internal::KeysetWrapperStore::Info::Info
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<KeysetWrapperImpl<P, Q>>
    - std::move
    - typeid
    - std::type_index
    - std::unique_ptr<PrimitiveWrapper<P, Q>>::get
    linkageType: ''
    returnType: void
    signature: "void Info(\n        std::unique_ptr<PrimitiveWrapper<P, Q>> wrapper,\n
      \       absl::AnyInvocable<crypto::tink::util::StatusOr<std::unique_ptr<P>>(\n
      \           const google::crypto::tink::KeyData& key_data) const>\n            primitive_getter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:99,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:100,1
    - Dst: static_cast<KeysetWrapper<Q>*>
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:104,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::KeysetWrapperStore::Info::Get
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - static_cast<KeysetWrapper<Q>*>
    - typeid
    - std::type_index
    - get
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const KeysetWrapper<Q>*>
    signature: crypto::tink::util::StatusOr<const KeysetWrapper<Q>*> Get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:115,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:117,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:117,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:120,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:120,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:121,1
    - Dst: static_cast<const PrimitiveWrapper<P, P>*>
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:125,1
    - Dst: get
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: crypto::tink::internal::KeysetWrapperStore::Info::GetPrimitiveWrapper
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - static_cast<const PrimitiveWrapper<P, P>*>
    - crypto::tink::internal::ExtractStatus
    - typeid
    - std::type_index
    - absl::StrCat
    - get
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*>
    signature: crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*> GetPrimitiveWrapper()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:133,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' wrapper'
    argTypes:
    - PrimitiveWrapper<P, Q>
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: crypto::tink::internal::KeysetWrapperStore::Info::HasSameType
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - typeid
    - std::type_index
    linkageType: ''
    returnType: bool
    signature: bool HasSameType(const PrimitiveWrapper<P, Q>& wrapper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:162,1
    - Dst: find
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:165,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:165,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:165,1
    - Dst: end
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:166,1
    - Dst: auto::second::HasSameType
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:167,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:168,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:171,1
    - Dst: insert
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:174,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:175,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:175,1
    - Dst: Info
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:176,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:176,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:176,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wrapper
    - primitive_getter
    argTypes:
    - std::unique_ptr<PrimitiveWrapper<P, Q>>
    - "absl::AnyInvocable<crypto::tink::util::StatusOr<std::unique_ptr<P>>(\n        const
      google::crypto::tink::KeyData& key_data) const>"
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: crypto::tink::internal::KeysetWrapperStore::Add
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::internal::ExtractStatus
    - Info
    - insert
    - std::move
    - typeid
    - std::type_index
    - auto::second::HasSameType
    - crypto::tink::util::OkStatus
    - find
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status KeysetWrapperStore::Add(\n    std::unique_ptr<PrimitiveWrapper<P,
      Q>> wrapper,\n    absl::AnyInvocable<crypto::tink::util::StatusOr<std::unique_ptr<P>>(\n
      \       const google::crypto::tink::KeyData& key_data) const>\n        primitive_getter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:184,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:184,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:184,1
    - Dst: end
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:185,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:186,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:188,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:188,1
    - Dst: auto::second::GetPrimitiveWrapper
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: crypto::tink::internal::KeysetWrapperStore::GetPrimitiveWrapper
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::internal::ExtractStatus
    - typeid
    - auto::second::GetPrimitiveWrapper
    - std::type_index
    - absl::StrCat
    - find
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*>
    signature: crypto::tink::util::StatusOr<const PrimitiveWrapper<P, P>*> KeysetWrapperStore::GetPrimitiveWrapper()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:196,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:196,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:196,1
    - Dst: end
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:197,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:198,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:200,1
    - Dst: typeid
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:200,1
    - Dst: auto::second::Get
      Src: /src/tink/cc/internal/keyset_wrapper_store.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: crypto::tink::internal::KeysetWrapperStore::Get
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_store.h
    functionUses: 0
    functionsReached:
    - auto::second::Get
    - end
    - crypto::tink::internal::ExtractStatus
    - typeid
    - std::type_index
    - absl::StrCat
    - find
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const KeysetWrapper<P>*>
    signature: "crypto::tink::util::StatusOr<const KeysetWrapper<P>*> KeysetWrapperStore::Get()\n
      \   const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtoParametersSerialization::EqualsWithPotentialFalseNegatives
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - serialization
    - other
    argTypes:
    - ProtoParametersSerialization
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: crypto::tink::internal::ProtoParametersSerializationTest::Equals
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - ProtoParametersSerialization::EqualsWithPotentialFalseNegatives
    linkageType: ''
    returnType: bool
    signature: "bool Equals(ProtoParametersSerialization serialization,\n              ProtoParametersSerialization
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:50,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:52,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:54,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:56,1
    - Dst: util::StatusOr::ObjectIdentifier
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:57,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:58,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:60,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:60,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:61,1
    - Dst: TestProto::ParseFromString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:63,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:64,1
    - Dst: TestProto::num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - TestProto::num
    - ASSERT_THAT
    - Eq
    - EXPECT_THAT
    - util::StatusOr::GetKeyTemplate
    - TestProto::ParseFromString
    - TestProto::set_num
    - util::StatusOr::ObjectIdentifier
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoParametersSerializationTest, CreateFromIndividualComponents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:69,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:71,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:71,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:72,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:73,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:76,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:78,1
    - Dst: util::StatusOr::ObjectIdentifier
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:79,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:80,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:82,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:82,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:83,1
    - Dst: TestProto::ParseFromString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:85,1
    - Dst: util::StatusOr::GetKeyTemplate
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:86,1
    - Dst: TestProto::num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:86,1
    - Dst: Eq
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - KeyTemplate::set_output_prefix_type
    - TestProto::num
    - ASSERT_THAT
    - Eq
    - util::StatusOr::ObjectIdentifier
    - EXPECT_THAT
    - KeyTemplate::set_type_url
    - util::StatusOr::GetKeyTemplate
    - TestProto::ParseFromString
    - TestProto::set_num
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoParametersSerializationTest, CreateFromKeyTemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:91,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:94,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:96,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:96,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:99,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:101,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:103,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:103,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsTrue
    - TestProto::set_num
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoParametersSerializationTest, Equals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:108,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:111,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:113,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:117,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:119,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:121,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:121,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    - TestProto::set_num
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoParametersSerializationTest, TypeUrlNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:126,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:129,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:131,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:131,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:134,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:136,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:138,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:138,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    - TestProto::set_num
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoParametersSerializationTest, OutputPrefixTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:143,1
    - Dst: TestProto::set_num
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:145,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:148,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:150,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:150,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:153,1
    - Dst: TestProto::SerializeAsString
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:155,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:157,1
    - Dst: Equals
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:157,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/proto_parameters_serialization_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - TestProto::SerializeAsString
    - ASSERT_THAT
    - Equals
    - EXPECT_THAT
    - IsFalse
    - TestProto::set_num
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(ProtoParametersSerializationTest, DifferentValueNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_util.cc:41,1
    - Dst: BN_is_negative
      Src: /src/tink/cc/internal/bn_util.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_util.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_util.cc:52,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/bn_util.cc:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - bignum
    argTypes:
    - absl::Span<char>
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::BignumToBinaryPadded
    functionSourceFile: /src/tink/cc/internal/bn_util.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - BN_is_negative
    linkageType: ''
    returnType: util::Status
    signature: "util::Status BignumToBinaryPadded(absl::Span<char> buffer,\n                                  const
      BIGNUM *bignum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_util.cc:61,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/internal/bn_util.cc:64,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/bn_util.cc:65,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/bn_util.cc:65,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/bn_util.cc:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - bn
    - len
    argTypes:
    - BIGNUM*
    - size_t
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::BignumToString
    functionSourceFile: /src/tink/cc/internal/bn_util.cc
    functionUses: 9
    functionsReached:
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::BignumToBinaryPadded
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> BignumToString(const BIGNUM *bn, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_util.cc:75,1
    - Dst: crypto::tink::internal::BignumToBinaryPadded
      Src: /src/tink/cc/internal/bn_util.cc:78,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/internal/bn_util.cc:79,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tink/cc/internal/bn_util.cc:79,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/internal/bn_util.cc:79,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/internal/bn_util.cc:80,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/bn_util.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bn
    - len
    argTypes:
    - BIGNUM*
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::BignumToSecretData
    functionSourceFile: /src/tink/cc/internal/bn_util.cc
    functionUses: 5
    functionsReached:
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::BignumToBinaryPadded
    - util::SecretData::data
    - reinterpret_cast<char *>
    - util::SecretData::size
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> BignumToSecretData(const BIGNUM *bn,\n
      \                                                   size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/tink/cc/internal/bn_util.cc:90,1
    - Dst: reinterpret_cast<const unsigned char *>
      Src: /src/tink/cc/internal/bn_util.cc:91,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/bn_util.cc:91,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/internal/bn_util.cc:92,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util.cc:93,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/bn_util.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/internal/bn_util.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bigendian_bn_str
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: crypto::tink::internal::StringToBignum
    functionSourceFile: /src/tink/cc/internal/bn_util.cc
    functionUses: 10
    functionsReached:
    - BN_bin2bn
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::string_view::length
    - reinterpret_cast<const unsigned char *>
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<BIGNUM>>
    signature: "util::StatusOr<internal::SslUniquePtr<BIGNUM>> StringToBignum(\n    absl::string_view
      bigendian_bn_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_cmp_word
      Src: /src/tink/cc/internal/bn_util.cc:102,1
    - Dst: BN_set_word
      Src: /src/tink/cc/internal/bn_util.cc:105,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util.cc:105,1
    - Dst: BN_cmp
      Src: /src/tink/cc/internal/bn_util.cc:106,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/bn_util.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bignum
    - word
    argTypes:
    - BIGNUM*
    - BN_ULONG
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: crypto::tink::internal::CompareBignumWithWord
    functionSourceFile: /src/tink/cc/internal/bn_util.cc
    functionUses: 2
    functionsReached:
    - internal::SslUniquePtr::get
    - BN_cmp_word
    - BN_cmp
    - BN_set_word
    linkageType: ''
    returnType: int
    signature: int CompareBignumWithWord(const BIGNUM *bignum, BN_ULONG word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:44,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:44,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/md_util_test.cc:44,1
    - Dst: EVP_sha1
      Src: /src/tink/cc/internal/md_util_test.cc:44,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:45,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:45,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/md_util_test.cc:46,1
    - Dst: EVP_sha224
      Src: /src/tink/cc/internal/md_util_test.cc:46,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:47,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:47,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/md_util_test.cc:48,1
    - Dst: EVP_sha256
      Src: /src/tink/cc/internal/md_util_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:49,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:49,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/md_util_test.cc:50,1
    - Dst: EVP_sha384
      Src: /src/tink/cc/internal/md_util_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:51,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:51,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/md_util_test.cc:52,1
    - Dst: EVP_sha512
      Src: /src/tink/cc/internal/md_util_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:53,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:53,1
    - Dst: Not
      Src: /src/tink/cc/internal/md_util_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/md_util_test.cc
    functionUses: 0
    functionsReached:
    - EVP_sha256
    - EVP_sha512
    - Not
    - EVP_sha384
    - IsOk
    - EVP_sha224
    - crypto::tink::internal::EvpHashFromHashType
    - EVP_sha1
    - IsOkAndHolds
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MdUtil, EvpHashFromHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:58,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/internal/md_util_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:59,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/internal/md_util_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:60,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/internal/md_util_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:61,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/internal/md_util_test.cc:61,1
    - Dst: Not
      Src: /src/tink/cc/internal/md_util_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:62,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/internal/md_util_test.cc:62,1
    - Dst: Not
      Src: /src/tink/cc/internal/md_util_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:63,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/internal/md_util_test.cc:63,1
    - Dst: Not
      Src: /src/tink/cc/internal/md_util_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/md_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::internal::IsHashTypeSafeForSignature
    linkageType: ''
    returnType: void
    signature: void TEST(MdUtil, IsHashTypeSafeForSignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/internal/md_util_test.cc:68,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/md_util_test.cc:68,1
    - Dst: EVP_sha512
      Src: /src/tink/cc/internal/md_util_test.cc:68,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/internal/md_util_test.cc:69,1
    - Dst: EVP_sha512
      Src: /src/tink/cc/internal/md_util_test.cc:69,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/internal/md_util_test.cc:71,1
    - Dst: EVP_sha512
      Src: /src/tink/cc/internal/md_util_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/md_util_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/md_util_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/md_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - EVP_sha512
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::ComputeHash
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MdUtil, ComputeHashAcceptsNullStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tink/cc/internal/md_util_test.cc:95,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/internal/md_util_test.cc:100,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/internal/md_util_test.cc:105,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/internal/md_util_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::GetMdUtilComputeHashSamplesTestParams
    functionSourceFile: /src/tink/cc/internal/md_util_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<MdUtilComputeHashSamplesTestParam>
    signature: std::vector<MdUtilComputeHashSamplesTestParam> GetMdUtilComputeHashSamplesTestParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/internal/md_util_test.cc:122,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/internal/md_util_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/md_util_test.cc:124,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/md_util_test.cc:125,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/internal/md_util_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/md_util_test.cc:128,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/internal/md_util_test.cc:128,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/md_util_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/internal/md_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::ComputeHash
    - ASSERT_THAT
    - crypto::tink::internal::EvpHashFromHashType
    - EXPECT_THAT
    - IsOkAndHolds
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(MdUtilComputeHashSamplesTest, ComputesHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:65,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:65,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:67,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:69,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:72,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:72,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:77,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AesGcmKeyManager
    - IsOk
    - new_key_allowed
    - ASSERT_THAT
    - absl::make_unique<AesGcmKeyManager>
    - get_key_manager
    - KeyTypeInfoStore::Get
    - KeyTypeInfoStore::AddKeyTypeManager
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:81,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:86,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:87,1
    - Dst: absl::make_unique<KmsEnvelopeAeadKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:87,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<KmsEnvelopeAeadKeyManager>
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - KeyTypeInfoStore::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddKeyTypeManagerNoBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:94,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:94,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:96,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:98,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:101,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:104,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:104,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:106,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:109,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:112,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:112,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:114,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:117,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:120,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:120,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:122,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:125,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:128,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:128,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:128,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 131
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AesGcmKeyManager
    - IsOk
    - new_key_allowed
    - ASSERT_THAT
    - absl::make_unique<AesGcmKeyManager>
    - StatusIs
    - KeyTypeInfoStore::Get
    - KeyTypeInfoStore::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddKeyTypeManagerAndChangeNewKeyAllowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:135,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:135,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:136,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:139,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:142,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:144,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:149,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:149,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:152,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:154,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:159,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 161
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
    - EXPECT_EQ
    - IsOk
    - EcdsaVerifyKeyManager
    - ASSERT_THAT
    - absl::make_unique<EcdsaVerifyKeyManager>
    - EcdsaSignKeyManager
    - get_key_manager
    - absl::make_unique<EcdsaSignKeyManager>
    - KeyTypeInfoStore::Get
    - get_key_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddAsymmetricKeyTypeManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:166,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:167,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:170,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:170,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:171,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:172,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:178,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:179,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:182,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:182,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:183,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:190,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:190,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:191,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:195,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:195,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:196,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 201
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - absl::make_unique<EcdsaVerifyKeyManager>
    - EXPECT_THAT
    - absl::make_unique<EcdsaSignKeyManager>
    - KeyTypeInfoStore::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddAsymmetricKeyTypeManagersAlreadyExists)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:205,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:205,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:206,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:209,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:211,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:212,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:217,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:217,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:221,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:224,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:224,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:225,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:228,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:231,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:231,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:234,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:237,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:237,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:238,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:241,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:244,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:244,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:247,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:247,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:250,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:250,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:251,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:254,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:257,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:257,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:260,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:263,1
    - Dst: KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:263,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:264,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:265,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 268
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
    - EcdsaVerifyKeyManager
    - IsOk
    - EXPECT_EQ
    - StatusIs
    - new_key_allowed
    - ASSERT_THAT
    - absl::make_unique<EcdsaVerifyKeyManager>
    - EcdsaSignKeyManager
    - absl::make_unique<EcdsaSignKeyManager>
    - KeyTypeInfoStore::Get
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddAsymmetricKeyTypeManagersAndChangeNewKeyAllowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:273,1
    - Dst: KeyTypeInfoStore::AddKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:273,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:275,1
    - Dst: AesGcmKeyManager::get_key_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:277,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:279,1
    - Dst: get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:284,1
    - Dst: get_key_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 285
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - EXPECT_EQ
    - IsOk
    - get_key_type
    - ASSERT_THAT
    - AesGcmKeyManager::get_key_type
    - get_key_manager
    - KeyTypeInfoStore::Get
    - KeyTypeInfoStore::AddKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:290,1
    - Dst: KeyTypeInfoStore::AddKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:290,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:292,1
    - Dst: AesGcmKeyManager::get_key_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:294,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:297,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:300,1
    - Dst: KeyTypeInfoStore::AddKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:300,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:302,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:303,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:305,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:308,1
    - Dst: KeyTypeInfoStore::AddKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:308,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:310,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:313,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:316,1
    - Dst: KeyTypeInfoStore::AddKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:316,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:318,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:320,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:321,1
    - Dst: new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:324,1
    - Dst: KeyTypeInfoStore::AddKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:324,1
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:324,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 327
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::MakeKeyManager
    - EXPECT_EQ
    - IsOk
    - new_key_allowed
    - ASSERT_THAT
    - AesGcmKeyManager::get_key_type
    - StatusIs
    - KeyTypeInfoStore::Get
    - KeyTypeInfoStore::AddKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, AddKeyManagerAndChangeNewKeyAllowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:331,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:331,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:333,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:335,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:335,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:336,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:338,1
    - Dst: KeyTypeInfoStore::Get
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:338,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - IsOk
    - ASSERT_THAT
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - StatusIs
    - KeyTypeInfoStore::Get
    - KeyTypeInfoStore::AddKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, Get)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:344,1
    - Dst: KeyTypeInfoStore::IsEmpty
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:346,1
    - Dst: KeyTypeInfoStore::AddKeyTypeManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:346,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:346,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:349,1
    - Dst: KeyTypeInfoStore::IsEmpty
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - KeyTypeInfoStore::AddKeyTypeManager
    - KeyTypeInfoStore::IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreTest, IsEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:353,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:356,1
    - Dst: KeyTypeInfoStore::Info::key_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:356,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:357,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:358,1
    - Dst: KeyTypeInfoStore::Info::public_key_type_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:358,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:360,1
    - Dst: KeyTypeInfoStore::Info::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:360,1
    - Dst: KeyTypeInfoStore::Info::set_new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:362,1
    - Dst: KeyTypeInfoStore::Info::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:362,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:364,1
    - Dst: KeyTypeInfoStore::Info::get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:367,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:368,1
    - Dst: DoesSupport
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:368,1
    - Dst: KeyTypeInfoStore::Info::get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:370,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:372,1
    - Dst: DoesSupport
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:372,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:375,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:376,1
    - Dst: KeyTypeInfoStore::Info::key_factory
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:376,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:379,1
    - Dst: KeyTypeInfoStore::Info::key_deriver
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 380
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - KeyTypeInfoStore::Info::new_key_allowed
    - EXPECT_EQ
    - AesGcmKeyManager
    - KeyTypeInfoStore::Info::key_manager_type_index
    - IsOk
    - DoesSupport
    - KeyTypeInfoStore::Info::key_deriver
    - ASSERT_THAT
    - typeid
    - AesGcmKeyFormat::set_key_size
    - std::type_index
    - KeyTypeInfoStore::Info::key_factory
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - KeyTypeInfoStore::Info::set_new_key_allowed
    - AesGcmKeyFormat::SerializeAsString
    - KeyTypeInfoStore::Info::get_key_manager
    - KeyTypeInfoStore::Info::public_key_type_manager_type_index
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreInfoTest, KeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:384,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:388,1
    - Dst: KeyTypeInfoStore::Info::key_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:388,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:389,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:390,1
    - Dst: KeyTypeInfoStore::Info::public_key_type_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:390,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:391,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:393,1
    - Dst: KeyTypeInfoStore::Info::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:393,1
    - Dst: KeyTypeInfoStore::Info::set_new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:395,1
    - Dst: KeyTypeInfoStore::Info::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:395,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:397,1
    - Dst: KeyTypeInfoStore::Info::get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:399,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:400,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:401,1
    - Dst: DoesSupport
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:401,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:404,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:405,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:406,1
    - Dst: EcdsaParams*::set_encoding
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:407,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:408,1
    - Dst: KeyTypeInfoStore::Info::key_factory
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:408,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:408,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:411,1
    - Dst: KeyTypeInfoStore::Info::key_deriver
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 412
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - DoesSupport
    - ASSERT_THAT
    - typeid
    - EcdsaParams*::set_curve
    - std::type_index
    - absl::make_unique<EcdsaSignKeyManager>
    - KeyTypeInfoStore::Info::get_key_manager
    - EcdsaKeyFormat::SerializeAsString
    - IsOk
    - absl::make_unique<EcdsaVerifyKeyManager>
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - KeyTypeInfoStore::Info::set_new_key_allowed
    - KeyTypeInfoStore::Info::public_key_type_manager_type_index
    - EXPECT_EQ
    - EcdsaParams*::set_encoding
    - KeyTypeInfoStore::Info::new_key_allowed
    - KeyTypeInfoStore::Info::key_manager_type_index
    - KeyTypeInfoStore::Info::key_deriver
    - KeyTypeInfoStore::Info::key_factory
    - EcdsaKeyFormat::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreInfoTest, AsymmetricKeyTypeManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MakeKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:417,1
    - Dst: std::type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:418,1
    - Dst: typeid
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:418,1
    - Dst: std::unique_ptr::release
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:422,1
    - Dst: KeyTypeInfoStore::Info::key_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:423,1
    - Dst: KeyTypeInfoStore::Info::public_key_type_manager_type_index
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:425,1
    - Dst: KeyTypeInfoStore::Info::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:425,1
    - Dst: KeyTypeInfoStore::Info::set_new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:427,1
    - Dst: KeyTypeInfoStore::Info::new_key_allowed
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:427,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:429,1
    - Dst: KeyTypeInfoStore::Info::get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:431,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:432,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:432,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:433,1
    - Dst: DoesSupport
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:433,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:435,1
    - Dst: KeyTypeInfoStore::Info::get_key_manager
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:435,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:436,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:439,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:440,1
    - Dst: KeyTypeInfoStore::Info::key_factory
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:440,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:440,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:443,1
    - Dst: KeyTypeInfoStore::Info::key_deriver
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 444
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::release
    - DoesSupport
    - ASSERT_THAT
    - typeid
    - std::type_index
    - AesGcmKeyFormat::SerializeAsString
    - KeyTypeInfoStore::Info::get_key_manager
    - IsOk
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - KeyTypeInfoStore::Info::set_new_key_allowed
    - KeyTypeInfoStore::Info::public_key_type_manager_type_index
    - crypto::tink::internal::MakeKeyManager
    - EXPECT_EQ
    - AesGcmKeyManager
    - StatusIs
    - KeyTypeInfoStore::Info::new_key_allowed
    - KeyTypeInfoStore::Info::key_manager_type_index
    - KeyTypeInfoStore::Info::key_deriver
    - KeyTypeInfoStore::Info::key_factory
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreInfoTest, KeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:447,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:451,1
    - Dst: KeyTypeInfoStore::Info::key_factory
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:453,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:454,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:454,1
    - Dst: KeyTypeInfoStore::Info::GetPrimitive
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:457,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:458,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:458,1
    - Dst: Encrypt
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:459,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:460,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:460,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:461,1
    - Dst: Decrypt
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/key_type_info_store_test.cc:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 462
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/key_type_info_store_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - KeyTypeInfoStore::Info::key_factory
    - AesGcmKeyFormat::SerializeAsString
    - KeyTypeInfoStore::Info::GetPrimitive
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(KeyTypeInfoStoreInfoTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::AesBlockSize
      Src: /src/tink/cc/internal/aes_util.cc:41,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/internal/aes_util.cc:43,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/aes_util.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/aes_util.cc:44,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/aes_util.cc:46,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/aes_util.cc:47,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/internal/aes_util.cc:47,1
    - Dst: crypto::tink::internal::BuffersAreIdentical
      Src: /src/tink/cc/internal/aes_util.cc:51,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/aes_util.cc:51,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/internal/aes_util.cc:51,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/internal/aes_util.cc:51,1
    - Dst: crypto::tink::internal::BuffersOverlap
      Src: /src/tink/cc/internal/aes_util.cc:52,1
    - Dst: absl::string_view
      Src: /src/tink/cc/internal/aes_util.cc:52,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/internal/aes_util.cc:52,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/internal/aes_util.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/aes_util.cc:53,1
    - Dst: crypto::tink::internal::AesBlockSize
      Src: /src/tink/cc/internal/aes_util.cc:58,1
    - Dst: AES_ctr128_encrypt
      Src: /src/tink/cc/internal/aes_util.cc:64,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/aes_util.cc:64,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/aes_util.cc:64,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util.cc:65,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/internal/aes_util.cc:65,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/aes_util.cc:65,1
    - Dst: std::vector::data
      Src: /src/tink/cc/internal/aes_util.cc:66,1
    - Dst: CRYPTO_ctr128_encrypt
      Src: /src/tink/cc/internal/aes_util.cc:68,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/internal/aes_util.cc:68,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/internal/aes_util.cc:68,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/internal/aes_util.cc:69,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/internal/aes_util.cc:69,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/internal/aes_util.cc:69,1
    - Dst: std::vector::data
      Src: /src/tink/cc/internal/aes_util.cc:70,1
    - Dst: reinterpret_cast<block128_f>
      Src: /src/tink/cc/internal/aes_util.cc:71,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/aes_util.cc:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - data
    - iv
    - key
    - out
    argTypes:
    - absl::string_view
    - uint8_t[]
    - AES_KEY*
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::AesCtr128Crypt
    functionSourceFile: /src/tink/cc/internal/aes_util.cc
    functionUses: 6
    functionsReached:
    - absl::string_view
    - std::vector::data
    - crypto::tink::internal::BuffersOverlap
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<block128_f>
    - absl::Span<char>::size
    - crypto::tink::util::OkStatus
    - absl::Span<char>::data
    - CRYPTO_ctr128_encrypt
    - crypto::tink::internal::AesBlockSize
    - absl::StrCat
    - AES_ctr128_encrypt
    - reinterpret_cast<uint8_t*>
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - crypto::tink::internal::BuffersAreIdentical
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesCtr128Crypt(absl::string_view data, uint8_t iv[AesBlockSize()],\n
      \                           const AES_KEY* key, absl::Span<char> out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_ctr
      Src: /src/tink/cc/internal/aes_util.cc:80,1
    - Dst: EVP_aes_256_ctr
      Src: /src/tink/cc/internal/aes_util.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/aes_util.cc:84,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/aes_util.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: crypto::tink::internal::GetAesCtrCipherForKeySize
    functionSourceFile: /src/tink/cc/internal/aes_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EVP_aes_128_ctr
    - absl::StrCat
    - EVP_aes_256_ctr
    linkageType: ''
    returnType: util::StatusOr<const EVP_CIPHER*>
    signature: "util::StatusOr<const EVP_CIPHER*> GetAesCtrCipherForKeySize(\n    uint32_t
      key_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_cbc
      Src: /src/tink/cc/internal/aes_util.cc:93,1
    - Dst: EVP_aes_256_cbc
      Src: /src/tink/cc/internal/aes_util.cc:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/aes_util.cc:97,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/aes_util.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: crypto::tink::internal::GetAesCbcCipherForKeySize
    functionSourceFile: /src/tink/cc/internal/aes_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EVP_aes_128_cbc
    - absl::StrCat
    - EVP_aes_256_cbc
    linkageType: ''
    returnType: util::StatusOr<const EVP_CIPHER*>
    signature: "util::StatusOr<const EVP_CIPHER*> GetAesCbcCipherForKeySize(\n    uint32_t
      key_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/registry_impl_test.cc: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: crypto::tink::internal::RegistryTest::SetUp
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/registry_impl_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: crypto::tink::internal::RegistryTest::TearDown
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key_type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::TestKeyFactory::TestKeyFactory
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestKeyFactory(const std::string& key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - MessageLite
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: crypto::tink::internal::TestKeyFactory::NewKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: "util::StatusOr<std::unique_ptr<portable_proto::MessageLite>> NewKey(\n
      \     const MessageLite& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: crypto::tink::internal::TestKeyFactory::NewKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<portable_proto::MessageLite>>
    signature: "util::StatusOr<std::unique_ptr<portable_proto::MessageLite>> NewKey(\n
      \     absl::string_view serialized_key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyData>
      Src: /src/tink/cc/internal/registry_impl_test.cc:135,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:136,1
    - Dst: auto::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:137,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - serialized_key_format
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: crypto::tink::internal::TestKeyFactory::NewKeyData
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<KeyData>
    - auto::set_value
    - std::move
    - auto::set_type_url
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeyData>>
    signature: "util::StatusOr<std::unique_ptr<KeyData>> NewKeyData(\n      absl::string_view
      serialized_key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key_type'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: crypto::tink::internal::TestAeadKeyManager::TestAeadKeyManager
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestAeadKeyManager(const std::string& key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyAead::DummyAead
      Src: /src/tink/cc/internal/registry_impl_test.cc:152,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KeyData
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: crypto::tink::internal::TestAeadKeyManager::GetPrimitive
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - DummyAead::DummyAead
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> GetPrimitive(\n      const KeyData&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - MessageLite
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: crypto::tink::internal::TestAeadKeyManager::GetPrimitive
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> GetPrimitive(\n      const MessageLite&
      key) const override"
  - 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: crypto::tink::internal::TestAeadKeyManager::get_version
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: '& get_key_factory() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyFactory
    signature: KeyFactory & get_key_factory() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: crypto::tink::internal::AeadVariant::AeadVariant
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AeadVariant(std::string s)
  - 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: crypto::tink::internal::AeadVariant::get
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/internal/registry_impl_test.cc:194,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/internal/registry_impl_test.cc:195,1
    - Dst: key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: crypto::tink::internal::ExampleKeyTypeManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadVariant>
      Src: /src/tink/cc/internal/registry_impl_test.cc:203,1
    - Dst: key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: crypto::tink::internal::ExampleKeyTypeManager::AeadVariantFactory::Create
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariant>
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>> Create(\n
      \       const AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:208,1
    - Dst: absl::make_unique<AeadVariantFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: crypto::tink::internal::ExampleKeyTypeManager::ExampleKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariantFactory>
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void ExampleKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: crypto::tink::internal::ExampleKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: crypto::tink::internal::ExampleKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: crypto::tink::internal::ExampleKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKey(const AesGcmKey& key) const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: crypto::tink::internal::ExampleKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:232,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/registry_impl_test.cc:232,1
    - Dst: key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: crypto::tink::internal::ExampleKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/internal/registry_impl_test.cc:242,1
    - Dst: key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:242,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:243,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:244,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:247,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: crypto::tink::internal::ExampleKeyTypeManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<std::string>::status
    - crypto::tink::util::StatusOr<std::string>::value
    - AesGcmKey::set_key_value
    - key_size
    - ReadBytesFromStream
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<AesGcmKey>
    signature: "crypto::tink::util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: crypto::tink::internal::TestWrapper::TestWrapper
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestWrapper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<P>>
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: crypto::tink::internal::TestWrapper::Wrap
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Q>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Q>> Wrap(\n      std::unique_ptr<PrimitiveSet<P>>
      primitive_set) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadVariant>
      Src: /src/tink/cc/internal/registry_impl_test.cc:274,1
    - Dst: std::unique_ptr<PrimitiveSet<AeadVariant>>::get_primary
      Src: /src/tink/cc/internal/registry_impl_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<AeadVariant>>
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: crypto::tink::internal::AeadVariantWrapper::Wrap
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariant>
    - std::unique_ptr<PrimitiveSet<AeadVariant>>::get_primary
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>> Wrap(\n
      \     std::unique_ptr<PrimitiveSet<AeadVariant>> primitive_set) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::string>
      Src: /src/tink/cc/internal/registry_impl_test.cc:284,1
    - Dst: std::unique_ptr<PrimitiveSet<AeadVariant>>::get_primary
      Src: /src/tink/cc/internal/registry_impl_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<AeadVariant>>
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: crypto::tink::internal::AeadVariantToStringWrapper::Wrap
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<AeadVariant>>::get_primary
    - absl::make_unique<std::string>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<std::string>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<std::string>> Wrap(\n
      \     std::unique_ptr<PrimitiveSet<AeadVariant>> primitive_set) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/tink/cc/internal/registry_impl_test.cc:292,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:293,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:294,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:296,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' key_type_prefix'
    - manager_count
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: crypto::tink::internal::register_test_managers
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - EXPECT_TRUE
    - util::Status::ok
    - std::to_string
    - absl::make_unique<TestAeadKeyManager>
    linkageType: ''
    returnType: void
    signature: "void register_test_managers(const std::string& key_type_prefix,\n
      \                           int manager_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::to_string
      Src: /src/tink/cc/internal/registry_impl_test.cc:303,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:304,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:305,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:305,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:305,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:307,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/internal/registry_impl_test.cc:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key_type_prefix'
    - manager_count
    argTypes:
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: crypto::tink::internal::verify_test_managers
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - auto::get_key_type
    - auto::value
    - Registry::get_key_manager<Aead>
    - std::to_string
    linkageType: ''
    returnType: void
    signature: "void verify_test_managers(const std::string& key_type_prefix,\n                          int
      manager_count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:314,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:318,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:319,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:321,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:321,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:323,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:324,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:324,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:324,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:328,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:329,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:331,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:331,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:333,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:334,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:334,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:335,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:335,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:336,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:337,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:337,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:338,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:339,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 340
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - auto::status
    - EXPECT_TRUE
    - EXPECT_FALSE
    - util::Status::ok
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::string
    - KeyTemplate::set_type_url
    - absl::make_unique<TestAeadKeyManager>
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testRegisterKeyManagerMoreRestrictiveNewKeyAllowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:345,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:348,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:351,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:351,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:356,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:357,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:359,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:359,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:360,1
    - Dst: util::Status::code
      Src: /src/tink/cc/internal/registry_impl_test.cc:360,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:361,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:362,1
    - Dst: util::Status::message
      Src: /src/tink/cc/internal/registry_impl_test.cc:362,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:364,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:365,1
    - Dst: util::Status::message
      Src: /src/tink/cc/internal/registry_impl_test.cc:365,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:368,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:369,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:370,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:370,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:371,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:372,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:372,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:373,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:374,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 375
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - EXPECT_FALSE
    - EXPECT_TRUE
    - auto::status
    - util::Status::ok
    - std::string
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - auto::ok
    - util::Status::message
    - KeyTemplate::set_type_url
    - crypto::tink::Registry::NewKeyData
    - absl::make_unique<TestAeadKeyManager>
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testRegisterKeyManagerLessRestrictiveNewKeyAllowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::thread::join
      Src: /src/tink/cc/internal/registry_impl_test.cc:386,1
    - Dst: std::thread::join
      Src: /src/tink/cc/internal/registry_impl_test.cc:387,1
    - Dst: std::thread::join
      Src: /src/tink/cc/internal/registry_impl_test.cc:397,1
    - Dst: std::thread::join
      Src: /src/tink/cc/internal/registry_impl_test.cc:398,1
    - Dst: std::thread::join
      Src: /src/tink/cc/internal/registry_impl_test.cc:399,1
    - Dst: std::thread::join
      Src: /src/tink/cc/internal/registry_impl_test.cc:400,1
    - Dst: std::to_string
      Src: /src/tink/cc/internal/registry_impl_test.cc:403,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:404,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:405,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:405,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:406,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:406,1
    - Dst: std::to_string
      Src: /src/tink/cc/internal/registry_impl_test.cc:408,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:409,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:410,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:411,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 412
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - auto::value
    - Registry::get_key_manager<Aead>
    - std::to_string
    - std::thread::join
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testConcurrentRegistration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:417,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:418,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:418,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:419,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:419,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:421,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:422,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:424,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:424,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:426,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:427,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:428,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:428,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:430,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:431,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:431,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:431,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:432,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:433,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/internal/registry_impl_test.cc:433,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:434,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/internal/registry_impl_test.cc:434,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:436,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:437,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:437,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:437,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:438,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:439,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/internal/registry_impl_test.cc:439,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:440,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/internal/registry_impl_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 441
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - absl::make_unique<TestAeadKeyManager>
    - auto::value
    - Registry::get_key_manager<Aead>
    - EXPECT_FALSE
    - auto::DoesSupport
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:444,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:447,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:447,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:448,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:448,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:449,1
    - Dst: auto::code
      Src: /src/tink/cc/internal/registry_impl_test.cc:449,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:452,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:453,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:454,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:454,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:457,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:458,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:459,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:459,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:463,1
    - Dst: crypto::tink::internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:464,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:465,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:466,1
    - Dst: auto::code
      Src: /src/tink/cc/internal/registry_impl_test.cc:466,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:469,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:470,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:470,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:470,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:471,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:472,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/internal/registry_impl_test.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 473
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - crypto::tink::internal::MakeKeyManager<Aead>
    - EXPECT_TRUE
    - auto::status
    - auto::ok
    - EXPECT_EQ
    - AesGcmKeyManager
    - absl::make_unique<TestAeadKeyManager>
    - std::move
    - auto::value
    - Registry::get_key_manager<Aead>
    - auto::code
    - EXPECT_FALSE
    - auto::DoesSupport
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testRegisterKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:479,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:480,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:480,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:481,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:482,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:485,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:486,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:487,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:487,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:488,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:489,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:490,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<Aead>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:490,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - AesGcmKeyManager
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - Registry::get_key_manager<Aead>
    - absl::make_unique<TestAeadKeyManager>
    - Eq
    - crypto::tink::util::StatusOr<const KeyManager<Aead>*>::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, GetKeyManagerRemainsValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:503,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:507,1
    - Dst: AddLegacyKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:511,1
    - Dst: AddRawKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:515,1
    - Dst: AddRawKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:519,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/registry_impl_test.cc:522,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:526,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:528,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:528,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:529,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:530,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:531,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:531,1
    - Dst: Registry::GetPrimitive<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:539,1
    - Dst: Keyset::key
      Src: /src/tink/cc/internal/registry_impl_test.cc:539,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:540,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:540,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:540,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:541,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:542,1
    - Dst: DummyAead
      Src: /src/tink/cc/internal/registry_impl_test.cc:542,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:543,1
    - Dst: Registry::GetPrimitive<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:548,1
    - Dst: Keyset::key
      Src: /src/tink/cc/internal/registry_impl_test.cc:548,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:549,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:549,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:549,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:550,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:551,1
    - Dst: DummyAead
      Src: /src/tink/cc/internal/registry_impl_test.cc:551,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 554
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - auto::status
    - EXPECT_TRUE
    - Keyset::key
    - util::Status::ok
    - auto::ok
    - AddRawKey
    - AddLegacyKey
    - EXPECT_EQ
    - DummyAead
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - auto::value
    - Registry::GetPrimitive<Aead>
    - auto::Encrypt
    - absl::make_unique<TestAeadKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testGettingPrimitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:563,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:564,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:566,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:566,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:567,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:568,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:570,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:570,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:571,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:572,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:574,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:574,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:578,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:579,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:580,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:581,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:581,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:582,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:582,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:583,1
    - Dst: KeyTemplate::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:583,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:583,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:588,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:589,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:590,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:591,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:591,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:591,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:592,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:592,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:593,1
    - Dst: KeyTemplate::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:593,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:593,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:598,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:599,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:600,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:601,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:602,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:603,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:604,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:605,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:605,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:606,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:607,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:607,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:613,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:614,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:615,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:616,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:617,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:617,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:618,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:619,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 621
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - auto::status
    - EXPECT_TRUE
    - EXPECT_FALSE
    - util::Status::ok
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::string
    - auto::value
    - KeyTemplate::set_type_url
    - crypto::tink::Registry::NewKeyData
    - KeyTemplate::value
    - absl::make_unique<TestAeadKeyManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testNewKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/registry_impl_test.cc:625,1
    - Dst: absl::make_unique<EciesAeadHkdfPrivateKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:627,1
    - Dst: absl::make_unique<EciesAeadHkdfPublicKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:629,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:631,1
    - Dst: internal::MakePrivateKeyManager<HybridDecrypt>
      Src: /src/tink/cc/internal/registry_impl_test.cc:632,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/registry_impl_test.cc:633,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/registry_impl_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:635,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:635,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:637,1
    - Dst: crypto::tink::internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:638,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:639,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:639,1
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:642,1
    - Dst: crypto::tink::Registry::GetPublicKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:647,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:648,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:649,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:650,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:650,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:650,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:651,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:652,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:652,1
    - Dst: auto::type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:654,1
    - Dst: auto::key_material_type
      Src: /src/tink/cc/internal/registry_impl_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:655,1
    - Dst: auto::public_key
      Src: /src/tink/cc/internal/registry_impl_test.cc:655,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:656,1
    - Dst: crypto::tink::Registry::GetPublicKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:659,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:660,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:660,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:661,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:661,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:662,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:663,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:664,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:665,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:665,1
    - Dst: crypto::tink::Registry::GetPublicKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:668,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:669,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:671,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:672,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:672,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:673,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:674,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 675
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<EciesAeadHkdfPrivateKeyManager>
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - crypto::tink::Registry::GetPublicKeyData
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::status
    - std::string
    - auto::SerializeAsString
    - internal::MakePrivateKeyManager<HybridDecrypt>
    - auto::key_material_type
    - EXPECT_EQ
    - AesGcmKeyManager
    - EXPECT_PRED_FORMAT2
    - EciesAeadHkdfPublicKeyManager
    - crypto::tink::test::GetEciesAesGcmHkdfTestKey
    - auto::public_key
    - crypto::tink::Registry::Reset
    - crypto::tink::Registry::RegisterKeyManager
    - crypto::tink::internal::MakeKeyManager<Aead>
    - absl::make_unique<EciesAeadHkdfPublicKeyManager>
    - EciesAeadHkdfPrivateKeyManager
    - auto::value
    - auto::get
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, testGetPublicKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:680,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:681,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:681,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:683,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:684,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AeadWrapper>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterWrapperTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:691,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:691,1
    - Dst: absl::make_unique<AeadVariantToStringWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:692,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:694,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:694,1
    - Dst: absl::make_unique<AeadVariantToStringWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::make_unique<AeadVariantToStringWrapper>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterTransformingWrapperTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:702,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:702,1
    - Dst: absl::make_unique<AeadVariantToStringWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:703,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:706,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:706,1
    - Dst: absl::make_unique<TestWrapper<std::string>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:707,1
    - Dst: Not
      Src: /src/tink/cc/internal/registry_impl_test.cc:708,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:708,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:710,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:710,1
    - Dst: absl::make_unique<TestWrapper<AeadVariant>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:711,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 713
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::make_unique<AeadVariantToStringWrapper>
    - absl::make_unique<TestWrapper<AeadVariant>>
    - Not
    - IsOk
    - absl::make_unique<TestWrapper<std::string>>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterTransformingWrapperTwiceMixing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:718,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:718,1
    - Dst: absl::make_unique<TestWrapper<std::string>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:719,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:720,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:722,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:722,1
    - Dst: absl::make_unique<AeadVariantToStringWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:723,1
    - Dst: Not
      Src: /src/tink/cc/internal/registry_impl_test.cc:724,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 725
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadVariantToStringWrapper>
    - IsOk
    - Not
    - absl::make_unique<TestWrapper<std::string>>
    - EXPECT_THAT
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterTransformingWrapperTwiceMixingBackwards)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:730,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:731,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:731,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:733,1
    - Dst: absl::make_unique<TestWrapper<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:734,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:735,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:735,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:736,1
    - Dst: util::Status::code
      Src: /src/tink/cc/internal/registry_impl_test.cc:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 737
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 737
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::Status::ok
    - EXPECT_EQ
    - absl::make_unique<TestWrapper<Aead>>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AeadWrapper>
    - EXPECT_FALSE
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterDifferentWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:742,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:743,1
    - Dst: absl::make_unique<TestWrapper<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:743,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:745,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:746,1
    - Dst: absl::make_unique<TestWrapper<Mac>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 748
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 748
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<TestWrapper<Aead>>
    - EXPECT_TRUE
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<TestWrapper<Mac>>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterDifferentWrappersDifferentPrimitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:754,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:755,1
    - Dst: absl::make_unique<TestWrapper<Mac>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:755,1
    - Dst: Registry::Wrap<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:759,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:759,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:760,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:760,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:761,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:761,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:762,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:763,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 764
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Registry::Wrap<Aead>
    - absl::make_unique<PrimitiveSet<Aead>>
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::string
    - absl::make_unique<TestWrapper<Mac>>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::status
    - EXPECT_FALSE
    - crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::ok
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, NoWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:769,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:770,1
    - Dst: absl::make_unique<TestWrapper<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:770,1
    - Dst: Registry::Wrap<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:774,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:774,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:775,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:775,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:776,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:777,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 778
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Registry::Wrap<Aead>
    - absl::make_unique<PrimitiveSet<Aead>>
    - EXPECT_PRED_FORMAT2
    - std::string
    - absl::make_unique<TestWrapper<Aead>>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::status
    - EXPECT_FALSE
    - crypto::tink::util::StatusOr<std::unique_ptr<Aead>>::ok
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, WrapperFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:784,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:785,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:787,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:788,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:789,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:790,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:792,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:793,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:794,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:795,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:797,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:798,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:800,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:801,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/internal/registry_impl_test.cc:801,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:802,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:803,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:805,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/internal/registry_impl_test.cc:805,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:806,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:807,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/internal/registry_impl_test.cc:809,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:810,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:810,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:811,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/internal/registry_impl_test.cc:811,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:811,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:811,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:813,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:814,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:814,1
    - Dst: Registry::Wrap<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:817,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:817,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:818,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:818,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:818,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:819,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:819,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:823,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:824,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:824,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:824,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:825,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:826,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:828,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:829,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:829,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:829,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:830,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:830,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:832,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:833,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/registry_impl_test.cc:834,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:834,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/internal/registry_impl_test.cc:835,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:836,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 837
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - Registry::Wrap<Aead>
    - auto::ok
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - absl::make_unique<AeadWrapper>
    - EXPECT_FALSE
    - auto::status
    - std::string
    - std::unique_ptr::Encrypt
    - auto::AddPrimitive
    - IsOk
    - std::unique_ptr::Decrypt
    - EXPECT_PRED_FORMAT2
    - EXPECT_EQ
    - KeysetInfo::key_info
    - absl::make_unique<PrimitiveSet<Aead>>
    - auto::set_primary
    - KeysetInfo::mutable_key_info
    - auto::value
    - absl::make_unique<DummyAead>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, UsualWrappingTest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/internal/registry_impl_test.cc:843,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:844,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/internal/registry_impl_test.cc:844,1
    - Dst: KeyData::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:846,1
    - Dst: AesGcmKey::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:846,1
    - Dst: KeyData::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:847,1
    - Dst: crypto::tink::test::AddKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:848,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key_id
    - output_prefix_type
    - key_status_type
    - ' modified_keyset'
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    - Keyset
    constantsTouched: []
    func_position:
      end: 851
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 851
    functionName: crypto::tink::internal::AddAesGcmKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - KeyData::set_type_url
    - AesGcmKey::key_value
    - KeyData::set_value
    - crypto::tink::test::AddKeyData
    - AesGcmKey::SerializeAsString
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: std::string
    signature: "std::string AddAesGcmKey(uint32_t key_id, OutputPrefixType output_prefix_type,\n
      \                        KeyStatusType key_status_type,\n                         Keyset&
      modified_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:855,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:856,1
    - Dst: crypto::tink::internal::AddAesGcmKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:861,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/registry_impl_test.cc:862,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:864,1
    - Dst: ON_CALL
      Src: /src/tink/cc/internal/registry_impl_test.cc:866,1
    - Dst: FipsStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:866,1
    - Dst: testing::Return
      Src: /src/tink/cc/internal/registry_impl_test.cc:867,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:869,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:870,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:870,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:871,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:872,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:872,1
    - Dst: absl::make_unique<AeadVariantWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:873,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:874,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/internal/registry_impl_test.cc:877,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:879,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:879,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:880,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:880,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 881
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - crypto::tink::util::StatusOr<std::unique_ptr<AeadVariant>>::value
    - std::move
    - Keyset::set_primary_key_id
    - ASSERT_THAT
    - crypto::tink::internal::AddAesGcmKey
    - ON_CALL
    - GTEST_SKIP
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AeadVariantWrapper>
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - testing::Return
    - RegistryImpl::GlobalInstance
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    - FipsStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeysetWrappingTest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:886,1
    - Dst: crypto::tink::internal::AddAesGcmKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:891,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/registry_impl_test.cc:892,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:894,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:894,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:895,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:896,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:897,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:897,1
    - Dst: absl::make_unique<AeadVariantToStringWrapper>
      Src: /src/tink/cc/internal/registry_impl_test.cc:898,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:899,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/internal/registry_impl_test.cc:902,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:904,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:904,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:905,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<std::string>>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:905,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 906
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 906
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - absl::make_unique<AeadVariantToStringWrapper>
    - IsOk
    - Keyset::set_primary_key_id
    - ASSERT_THAT
    - crypto::tink::internal::AddAesGcmKey
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - GTEST_SKIP
    - EXPECT_THAT
    - crypto::tink::util::StatusOr<std::unique_ptr<std::string>>::value
    - RegistryImpl::GlobalInstance
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, TransformingKeysetWrappingTest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:913,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:916,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:916,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:917,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:918,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:920,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/internal/registry_impl_test.cc:920,1
    - Dst: absl::make_unique<TestWrapper<std::string, Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:921,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:922,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:925,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:926,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:928,1
    - Dst: KeysetInfo::mutable_key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:929,1
    - Dst: KeysetInfo::set_primary_key_id
      Src: /src/tink/cc/internal/registry_impl_test.cc:930,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/internal/registry_impl_test.cc:932,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:933,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/internal/registry_impl_test.cc:933,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:934,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/internal/registry_impl_test.cc:935,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:938,1
    - Dst: Registry::Wrap<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:938,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:938,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:939,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 941
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 941
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - Registry::Wrap<Aead>
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - absl::make_unique<ExampleKeyTypeManager>
    - IsOk
    - auto::AddPrimitive
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::make_unique<TestWrapper<std::string, Aead>>
    - StatusIs
    - KeysetInfo::key_info
    - absl::make_unique<PrimitiveSet<Aead>>
    - KeysetInfo::mutable_key_info
    - absl::make_unique<DummyAead>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - HasSubstr
    - KeysetInfo::add_key_info
    - KeysetInfo::set_primary_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, TransformingPrimitiveWrapperCustomKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:947,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:948,1
    - Dst: crypto::tink::internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:949,1
    - Dst: Registry::get_key_manager<int>
      Src: /src/tink/cc/internal/registry_impl_test.cc:952,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:952,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:953,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:953,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:954,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:954,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:954,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:955,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:955,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:958,1
    - Dst: std::string
      Src: /src/tink/cc/internal/registry_impl_test.cc:958,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:958,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:959,1
    - Dst: typeid
      Src: /src/tink/cc/internal/registry_impl_test.cc:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 960
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 960
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - crypto::tink::internal::MakeKeyManager<Aead>
    - EXPECT_TRUE
    - auto::status
    - std::string
    - auto::ok
    - Registry::get_key_manager<int>
    - AesGcmKeyManager
    - typeid
    - HasSubstr
    - EXPECT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, GetKeyManagerErrorMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:964,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:967,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:967,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:968,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 970
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 970
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:973,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:974,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:977,1
    - Dst: ON_CALL
      Src: /src/tink/cc/internal/registry_impl_test.cc:979,1
    - Dst: FipsStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:979,1
    - Dst: testing::Return
      Src: /src/tink/cc/internal/registry_impl_test.cc:980,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:982,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:983,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:983,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 985
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 985
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - std::move
    - ON_CALL
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - testing::Return
    - absl::make_unique<ExampleKeyTypeManager>
    - FipsStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterFipsKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:988,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:989,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:993,1
    - Dst: ON_CALL
      Src: /src/tink/cc/internal/registry_impl_test.cc:995,1
    - Dst: FipsStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:995,1
    - Dst: testing::Return
      Src: /src/tink/cc/internal/registry_impl_test.cc:996,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:998,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:999,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:999,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1001
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - std::move
    - ON_CALL
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - testing::Return
    - absl::make_unique<ExampleKeyTypeManager>
    - FipsStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterFipsKeyTypeManagerNoBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1005,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1008,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1008,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1009,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1010,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:1012,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1013,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1014,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:1019,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/internal/registry_impl_test.cc:1020,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1021,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1022
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - auto::Decrypt
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - GTEST_SKIP
    - Registry::get_key_manager<Aead>
    - auto::Encrypt
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerGetFirstKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1026,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1029,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1029,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1030,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1031,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:1033,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1034,1
    - Dst: Registry::get_key_manager<AeadVariant>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1035,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1040,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/registry_impl_test.cc:1040,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1040,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1041
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - AesGcmKey::key_value
    - IsOk
    - AesGcmKeyFormat::set_key_size
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - GTEST_SKIP
    - Registry::get_key_manager<AeadVariant>
    - auto::get
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerGetSecondKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1045,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1048,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1048,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1049,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1050,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1051,1
    - Dst: Registry::get_key_manager<Mac>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1051,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1054,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1056
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - Registry::get_key_manager<Mac>
    - HasSubstr
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerNotSupportedPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1063,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1066,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1066,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1067,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1068,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1071,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1071,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1072,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1072,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1073,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1073,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1074,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1075,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1076,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<Aead>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1076,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1077,1
    - Dst: ExampleKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1078
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - ASSERT_THAT
    - ExampleKeyTypeManager
    - EXPECT_THAT
    - GTEST_SKIP
    - Registry::get_key_manager<Aead>
    - crypto::tink::util::StatusOr<const KeyManager<Aead>*>::value
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, GetKeyManagerRemainsValidForKeyTypeManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1082,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1085,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1085,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1086,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1087,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:1090,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1092,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1093,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1093,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1095,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1096,1
    - Dst: KeyData::type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1096,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1097,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1098,1
    - Dst: KeyData::key_material_type
      Src: /src/tink/cc/internal/registry_impl_test.cc:1098,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1099,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1101,1
    - Dst: KeyData::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1102,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1102,1
    - Dst: SizeIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1103
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::Registry::RegisterKeyTypeManager
    - AesGcmKey::ParseFromString
    - AesGcmKey::key_value
    - IsOk
    - KeyData::value
    - KeyData::key_material_type
    - KeyData::type_url
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - GTEST_SKIP
    - KeyTemplate::set_type_url
    - crypto::tink::Registry::NewKeyData
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerNewKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1110,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1110,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1111,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1112,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:1115,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1117,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1118,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1120,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1120,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1121
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - GTEST_SKIP
    - KeyTemplate::set_type_url
    - crypto::tink::Registry::NewKeyData
    - absl::make_unique<ExampleKeyTypeManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerNewKeyInvalidSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1128,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1128,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1129,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1130,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:1133,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1135,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1136,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1136,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1139,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/internal/registry_impl_test.cc:1143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1144,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1145,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1145,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1145,1
    - Dst: KeyTemplate::type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1145,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1147,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1147,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1149,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1149,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1150
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::Registry::RegisterKeyTypeManager
    - EXPECT_TRUE
    - KeyTemplate::type_url
    - AesGcmKey::ParseFromString
    - AesGcmKey::key_value
    - IsOk
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - KeyTemplate::set_type_url
    - RegistryImpl::GlobalInstance
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerDeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1159,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1159,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1160,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1162,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1162,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1163,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1164,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/internal/registry_impl_test.cc:1167,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1169,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1170,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1170,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1173,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/internal/registry_impl_test.cc:1177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1178,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1179,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1179,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1179,1
    - Dst: KeyTemplate::type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1181,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1181,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1183,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1183,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1184
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::Registry::RegisterKeyTypeManager
    - EXPECT_TRUE
    - KeyTemplate::type_url
    - AesGcmKey::ParseFromString
    - AesGcmKey::key_value
    - IsOk
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - KeyTemplate::set_type_url
    - RegistryImpl::GlobalInstance
    - Eq
    - absl::make_unique<ExampleKeyTypeManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyTypeManagerDeriveKeyRegisterTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1190,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1190,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1191,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1193,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1198,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/internal/registry_impl_test.cc:1199,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1200,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1201
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - RegistryImpl::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - KeyTemplate::set_type_url
    - StatusIs
    - absl::make_unique<TestAeadKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyManagerDeriveKeyFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1207,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/internal/registry_impl_test.cc:1208,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1209,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1210
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - KeyTemplate::set_type_url
    - StatusIs
    - RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, KeyManagerDeriveNotRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1217,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1217,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1218,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1220,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1220,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1221,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1223
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterKeyTypeManagerTwiceMoreRestrictive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1230,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1230,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1231,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1233,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1233,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1234,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1236,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1236,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1237,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1239,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1239,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1240,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1242
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterKeyTypeManagerTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1249,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1249,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1250,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1251,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1252,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1252,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1253,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1255
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterKeyTypeManagerLessRestrictive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1259,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1262,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1262,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1263,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1265,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1265,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1266,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1270
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::make_unique<TestAeadKeyManager>
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterKeyTypeManagerBeforeKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1274,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1277,1
    - Dst: crypto::tink::Registry::RegisterKeyManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1277,1
    - Dst: absl::make_unique<TestAeadKeyManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1278,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1282,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1282,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1283,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1285
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyManager
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::make_unique<TestAeadKeyManager>
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterKeyTypeManagerAfterKeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 1306
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1306
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::PrivatePrimitiveAFactory::Create
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PrivatePrimitiveA>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<PrivatePrimitiveA>> Create(\n
      \       const EcdsaPrivateKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 1313
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1313
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::PrivatePrimitiveBFactory::Create
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PrivatePrimitiveB>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<PrivatePrimitiveB>> Create(\n
      \       const EcdsaPrivateKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrivatePrimitiveAFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1317,1
    - Dst: absl::make_unique<PrivatePrimitiveBFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1318
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::TestPrivateKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrivatePrimitiveBFactory>
    - absl::make_unique<PrivatePrimitiveAFactory>
    linkageType: ''
    returnType: void
    signature: void TestPrivateKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1323
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1325
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const EcdsaPrivateKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 1333
      start: 1330
    functionDepth: 1
    functionLinenumber: 1330
    functionLinenumberEnd: 1333
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const EcdsaKeyFormat&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1335
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/internal/registry_impl_test.cc:1340,1
    - Dst: params
      Src: /src/tink/cc/internal/registry_impl_test.cc:1340,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/internal/registry_impl_test.cc:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 1344
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1344
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - params
    - EcdsaPrivateKey::mutable_public_key
    - EcdsaPublicKey::mutable_params
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPrivateKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPrivateKey> CreateKey(\n      const
      EcdsaKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/internal/registry_impl_test.cc:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 1349
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1349
    functionName: crypto::tink::internal::TestPrivateKeyTypeManager::GetPublicKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPublicKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPublicKey> GetPublicKey(\n      const
      EcdsaPrivateKey& private_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::PublicPrimitiveAFactory::Create
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PublicPrimitiveA>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<PublicPrimitiveA>> Create(\n
      \       const EcdsaPublicKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 1383
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1383
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::PublicPrimitiveBFactory::Create
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<PublicPrimitiveB>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<PublicPrimitiveB>> Create(\n
      \       const EcdsaPublicKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicPrimitiveAFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1387,1
    - Dst: absl::make_unique<PublicPrimitiveBFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1388
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::TestPublicKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicPrimitiveAFactory>
    - absl::make_unique<PublicPrimitiveBFactory>
    linkageType: ''
    returnType: void
    signature: void TestPublicKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1393
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1395
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 1399
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1399
    functionName: crypto::tink::internal::TestPublicKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const EcdsaPublicKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<TestPrivateKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1412,1
    - Dst: ON_CALL
      Src: /src/tink/cc/internal/registry_impl_test.cc:1413,1
    - Dst: FipsStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1413,1
    - Dst: testing::Return
      Src: /src/tink/cc/internal/registry_impl_test.cc:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1416
    functionName: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - testing::Return
    - ON_CALL
    - absl::make_unique<TestPrivateKeyTypeManager>
    - FipsStatus
    linkageType: ''
    returnType: std::unique_ptr<TestPrivateKeyTypeManager>
    signature: std::unique_ptr<TestPrivateKeyTypeManager> CreateTestPrivateKeyManagerFipsCompatible()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<TestPublicKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1420,1
    - Dst: ON_CALL
      Src: /src/tink/cc/internal/registry_impl_test.cc:1421,1
    - Dst: FipsStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1421,1
    - Dst: testing::Return
      Src: /src/tink/cc/internal/registry_impl_test.cc:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1424
    functionName: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - testing::Return
    - ON_CALL
    - absl::make_unique<TestPublicKeyTypeManager>
    - FipsStatus
    linkageType: ''
    returnType: std::unique_ptr<TestPublicKeyTypeManager>
    signature: std::unique_ptr<TestPublicKeyTypeManager> CreateTestPublicKeyManagerFipsCompatible()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1427,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1428,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1432,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1433,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1434,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1435,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1436
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::util::Status::ok
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterAsymmetricKeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1439,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1440,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1444,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1444,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1445,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1446,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1449,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1450,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1451,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1452,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1453
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::util::Status::ok
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricMoreRestrictiveNewKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1456,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1457,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1461,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1461,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1462,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1463,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1465,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1466,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1467,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1468,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1468,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1470,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1470,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1471,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1472,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1474,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1475,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1476,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1477,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1478
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::util::Status::ok
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricSameNewKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1481,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1482,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1486,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1487,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1488,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1489,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1489,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1490,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1490,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1491,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1492,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1493,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1495
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::util::Status::ok
    - HasSubstr
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricLessRestrictiveGivesError)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1502,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1503,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1507,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1507,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1508,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1509,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1510,1
    - Dst: Registry::get_key_manager<PrivatePrimitiveA>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1513,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1514,1
    - Dst: Registry::get_key_manager<PublicPrimitiveA>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1516,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1517,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1519,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1519,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1520,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1521,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1522,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1524,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1524,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1525,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1525,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1526,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1526,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1527,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1528
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::value
    - Registry::get_key_manager<PrivatePrimitiveA>
    - IsOk
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::value
    - TestPublicKeyTypeManager
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - ASSERT_THAT
    - Eq
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - Registry::get_key_manager<PublicPrimitiveA>
    - TestPrivateKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterAsymmetricKeyManagersGetKeyManagerStaysValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1531,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1532,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1536,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1536,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1537,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1539,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1539,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1540,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1545,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1545,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1546,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1547,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1549,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1549,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1550,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1552,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1552,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1555
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - ASSERT_FALSE
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricPrivateRegisterAlone)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1558,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1559,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1563,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1563,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1564,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1565,1
    - Dst: Registry::get_key_manager<PrivatePrimitiveA>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1568,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1569,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1570,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1570,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1570,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1571,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1571,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1572,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1573
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::ok
    - Registry::get_key_manager<PrivatePrimitiveA>
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::value
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - EXPECT_THAT
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveA>*>::status
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - Eq
    - TestPrivateKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricGetPrimitiveA)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1576,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1577,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1581,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1581,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1582,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1583,1
    - Dst: Registry::get_key_manager<PrivatePrimitiveB>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1586,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1587,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1588,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveB>*>::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1588,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveB>*>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1588,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1589,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveB>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1589,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1590,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1591
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveB>*>::ok
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - Registry::get_key_manager<PrivatePrimitiveB>
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveB>*>::value
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::util::StatusOr<const KeyManager<PrivatePrimitiveB>*>::status
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - Eq
    - TestPrivateKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricGetPrimitiveB)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1594,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1595,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1599,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1599,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1600,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1601,1
    - Dst: Registry::get_key_manager<PublicPrimitiveA>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1604,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1605,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1606,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1606,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1606,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1607,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1607,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1608,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1609
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::value
    - TestPublicKeyTypeManager
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::ok
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::status
    - Eq
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - Registry::get_key_manager<PublicPrimitiveA>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricGetPublicPrimitiveA)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1612,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1613,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1617,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1617,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1618,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1619,1
    - Dst: Registry::get_key_manager<PublicPrimitiveB>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1622,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1623,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1624,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveB>*>::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1624,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveB>*>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1624,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1625,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveB>*>::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1625,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1626,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1611
    functionDepth: 1
    functionLinenumber: 1611
    functionLinenumberEnd: 1627
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveB>*>::ok
    - Registry::get_key_manager<PublicPrimitiveB>
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - Eq
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveB>*>::status
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveB>*>::value
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - TestPublicKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricGetPublicPrimitiveB)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1630,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1631,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1635,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1635,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1636,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1637,1
    - Dst: Registry::get_key_manager<PublicPrimitiveA>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1640,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1641,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1642,1
    - Dst: crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1642,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1643,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1629
    functionDepth: 1
    functionLinenumber: 1629
    functionLinenumberEnd: 1645
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - crypto::tink::util::StatusOr<const KeyManager<PublicPrimitiveA>*>::status
    - HasSubstr
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - Registry::get_key_manager<PublicPrimitiveA>
    - TestPrivateKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricGetWrongPrimitiveError)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/registry_impl_test.cc:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1648
    functionDepth: 1
    functionLinenumber: 1648
    functionLinenumberEnd: 1648
    functionName: crypto::tink::internal::PrivateKeyManagerImplTest::SetUp
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/internal/registry_impl_test.cc:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1653
    functionName: crypto::tink::internal::PrivateKeyManagerImplTest::TearDown
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1657,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1658,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1662,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1662,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1663,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1664,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/internal/registry_impl_test.cc:1668,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1670,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1670,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1671,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1671,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/internal/registry_impl_test.cc:1672,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1674,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1675,1
    - Dst: std::unique_ptr::type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1675,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1676,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1676,1
    - Dst: EcdsaPrivateKey::ParseFromString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1678,1
    - Dst: std::unique_ptr::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1678,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1679,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/internal/registry_impl_test.cc:1679,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1681
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPrivateKey::public_key
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EcdsaKeyFormat::SerializeAsString
    - KeyTemplate::set_output_prefix_type
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - EXPECT_THAT
    - EcdsaPrivateKey::ParseFromString
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - crypto::tink::Registry::NewKeyData
    - std::unique_ptr::value
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - std::unique_ptr::type_url
    - KeyTemplate::set_type_url
    - Eq
    - TestPrivateKeyTypeManager
    - KeyTemplate::set_value
    - EcdsaKeyFormat::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrivateKeyManagerImplTest, AsymmetricFactoryNewKeyFromMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1684,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1685,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1689,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1689,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1690,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1691,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1693,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1693,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1694,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1695,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1699,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1699,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1700,1
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1701,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1702,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1703
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - HasSubstr
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - KeyTemplate::set_type_url
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - TestPrivateKeyTypeManager
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrivateKeyManagerImplTest, AsymmetricNewKeyDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/internal/registry_impl_test.cc:1706,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1707,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1711,1
    - Dst: crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1712,1
    - Dst: crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
      Src: /src/tink/cc/internal/registry_impl_test.cc:1713,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/internal/registry_impl_test.cc:1715,1
    - Dst: crypto::tink::Registry::GetPublicKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1719,1
    - Dst: TestPrivateKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1719,1
    - Dst: EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1720,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1722,1
    - Dst: std::unique_ptr::type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1722,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1723,1
    - Dst: TestPublicKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1723,1
    - Dst: EcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1725,1
    - Dst: std::unique_ptr::value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1725,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1726,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/internal/registry_impl_test.cc:1726,1
    - Dst: Eq
      Src: /src/tink/cc/internal/registry_impl_test.cc:1726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1727
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::value
    - EcdsaPublicKey::params
    - EcdsaPublicKey::ParseFromString
    - EcdsaPrivateKey::mutable_public_key
    - crypto::tink::Registry::GetPublicKeyData
    - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
    - EcdsaPrivateKey::SerializeAsString
    - ASSERT_THAT
    - std::unique_ptr::type_url
    - TestPublicKeyTypeManager
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - EXPECT_THAT
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
    - Eq
    - TestPrivateKeyTypeManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, AsymmetricGetPublicKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1734,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1737,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1737,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1738,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1739,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1741,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1741,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager2>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1742,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1743,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1744,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1745,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1746,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1746,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1747,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager2>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1748,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1749,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1750,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1751,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1751,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager2>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1752,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager2>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1753,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1754,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1755,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1756,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1756,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager2>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1757,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1758,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1759,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1760,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1760,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager2>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1761,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1762,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1764
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<TestPublicKeyTypeManager2>
    - crypto::tink::Registry::RegisterKeyTypeManager
    - absl::make_unique<TestPublicKeyTypeManager>
    - absl::make_unique<TestPrivateKeyTypeManager2>
    - StatusIs
    - absl::make_unique<TestPrivateKeyTypeManager>
    - HasSubstr
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterAssymmetricReregistrationWithWrongClasses)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1768
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1776,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/internal/registry_impl_test.cc:1779,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1779,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1780,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1781,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1783,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1784,1
    - Dst: absl::make_unique<TestPrivateKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1785,1
    - Dst: absl::make_unique<TestPublicKeyTypeManagerWithDifferentKeyType>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1786,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1788,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1790
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<TestPublicKeyTypeManager>
    - StatusIs
    - absl::make_unique<TestPrivateKeyTypeManager>
    - HasSubstr
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - GTEST_SKIP
    - ASSERT_TRUE
    - EXPECT_THAT
    - absl::make_unique<TestPublicKeyTypeManagerWithDifferentKeyType>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryTest, RegisterAssymmetricReregistrationWithNewKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1797
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::DelegatingKeyTypeManager
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DelegatingKeyTypeManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - registry
    argTypes:
    - RegistryImpl*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1799
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::set_registry
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_registry(RegistryImpl* registry)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1804
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1806
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1808
    functionName: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 1813
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1813
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const EcdsaPrivateKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 1818
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1818
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const EcdsaKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1824,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1826,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1826,1
    - Dst: NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1827,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1828,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1828,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 1832
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1832
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - AesGcmKeyFormat::SerializeAsString
    - KeyTemplate::set_type_url
    - NewKeyData
    - KeyTemplate::set_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPrivateKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPrivateKey> CreateKey(\n      const
      EcdsaKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1839,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1841,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1841,1
    - Dst: crypto::tink::internal::DelegatingKeyTypeManager::DeriveKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:1843,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1844,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1844,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - EcdsaKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1834
    functionDepth: 1
    functionLinenumber: 1834
    functionLinenumberEnd: 1848
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::DeriveKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::DelegatingKeyTypeManager::DeriveKey
    - AesGcmKeyFormat::SerializeAsString
    - KeyTemplate::set_type_url
    - KeyTemplate::set_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPrivateKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPrivateKey> DeriveKey(\n      const
      EcdsaKeyFormat& key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1854,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1856,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1856,1
    - Dst: NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1857,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/registry_impl_test.cc:1858,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/registry_impl_test.cc:1858,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 1862
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1862
    functionName: crypto::tink::internal::DelegatingKeyTypeManager::GetPublicKey
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - AesGcmKeyFormat::SerializeAsString
    - KeyTemplate::set_type_url
    - NewKeyData
    - KeyTemplate::set_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcdsaPublicKey>
    signature: "crypto::tink::util::StatusOr<EcdsaPublicKey> GetPublicKey(\n      const
      EcdsaPrivateKey& private_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnSetFipsRestricted
      Src: /src/tink/cc/internal/registry_impl_test.cc:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1878
    functionName: crypto::tink::internal::RegistryImplTest::TearDown
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - UnSetFipsRestricted
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1884,1
    - Dst: absl::make_unique<DelegatingKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1888,1
    - Dst: auto::set_registry
      Src: /src/tink/cc/internal/registry_impl_test.cc:1889,1
    - Dst: RegistryImpl::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1891,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:1893,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1894,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1894,1
    - Dst: RegistryImpl::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1895,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1897,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1898,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1898,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1902,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1904,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1904,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1905,1
    - Dst: RegistryImpl::NewKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1905,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1906,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1908
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaKeyFormat::SerializeAsString
    - RegistryImpl::RegisterKeyTypeManager
    - IsOk
    - auto::set_registry
    - std::move
    - RegistryImpl::NewKeyData
    - HasSubstr
    - EXPECT_THAT
    - GTEST_SKIP
    - KeyTemplate::set_type_url
    - StatusIs
    - absl::make_unique<DelegatingKeyTypeManager>
    - absl::make_unique<ExampleKeyTypeManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, CanDelegateCreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1913,1
    - Dst: absl::make_unique<DelegatingKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1917,1
    - Dst: auto::set_registry
      Src: /src/tink/cc/internal/registry_impl_test.cc:1918,1
    - Dst: RegistryImpl::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1920,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:1922,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1923,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1923,1
    - Dst: RegistryImpl::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1924,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1926,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1927,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1927,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/registry_impl_test.cc:1931,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/registry_impl_test.cc:1933,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1933,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1934,1
    - Dst: RegistryImpl::DeriveKey
      Src: /src/tink/cc/internal/registry_impl_test.cc:1934,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1935,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1937
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaKeyFormat::SerializeAsString
    - RegistryImpl::RegisterKeyTypeManager
    - IsOk
    - auto::set_registry
    - std::move
    - RegistryImpl::DeriveKey
    - HasSubstr
    - EXPECT_THAT
    - GTEST_SKIP
    - KeyTemplate::set_type_url
    - StatusIs
    - absl::make_unique<DelegatingKeyTypeManager>
    - absl::make_unique<ExampleKeyTypeManager>
    - KeyTemplate::set_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, CanDelegateDeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1941,1
    - Dst: absl::make_unique<DelegatingKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1945,1
    - Dst: auto::set_registry
      Src: /src/tink/cc/internal/registry_impl_test.cc:1946,1
    - Dst: RegistryImpl::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/internal/registry_impl_test.cc:1947,1
    - Dst: auto::release
      Src: /src/tink/cc/internal/registry_impl_test.cc:1948,1
    - Dst: absl::make_unique<TestPublicKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1949,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1950,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1950,1
    - Dst: RegistryImpl::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1951,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1953,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1954,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1954,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/internal/registry_impl_test.cc:1957,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1960,1
    - Dst: RegistryImpl::GetPublicKeyData
      Src: /src/tink/cc/internal/registry_impl_test.cc:1960,1
    - Dst: DelegatingKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1961,1
    - Dst: EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/internal/registry_impl_test.cc:1962,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:1964,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/registry_impl_test.cc:1965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1966
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - RegistryImpl::GetPublicKeyData
    - RegistryImpl::RegisterKeyTypeManager
    - absl::make_unique<TestPublicKeyTypeManager>
    - IsOk
    - auto::set_registry
    - EcdsaPrivateKey::mutable_public_key
    - RegistryImpl::RegisterAsymmetricKeyManagers
    - EcdsaPrivateKey::SerializeAsString
    - DelegatingKeyTypeManager
    - auto::release
    - EXPECT_THAT
    - GTEST_SKIP
    - HasSubstr
    - StatusIs
    - absl::make_unique<DelegatingKeyTypeManager>
    - absl::make_unique<ExampleKeyTypeManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, CanDelegateGetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1970,1
    - Dst: RegistryImpl::RestrictToFipsIfEmpty
      Src: /src/tink/cc/internal/registry_impl_test.cc:1970,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - RegistryImpl::RestrictToFipsIfEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, FipsRestrictionSucceedsOnEmptyRegistry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1975,1
    - Dst: RegistryImpl::RestrictToFipsIfEmpty
      Src: /src/tink/cc/internal/registry_impl_test.cc:1975,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1975,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1976,1
    - Dst: RegistryImpl::RestrictToFipsIfEmpty
      Src: /src/tink/cc/internal/registry_impl_test.cc:1976,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1976,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1977,1
    - Dst: RegistryImpl::RestrictToFipsIfEmpty
      Src: /src/tink/cc/internal/registry_impl_test.cc:1977,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1978
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - RegistryImpl::RestrictToFipsIfEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, FipsRestrictionSucceedsWhenSettingMultipleTimes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1982,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:1985,1
    - Dst: RegistryImpl::RestrictToFipsIfEmpty
      Src: /src/tink/cc/internal/registry_impl_test.cc:1985,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:1985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1986
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - RegistryImpl::RestrictToFipsIfEmpty
    - EXPECT_THAT
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, FipsRestrictionSucceedsIfBuildInFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/internal/registry_impl_test.cc:1990,1
    - Dst: absl::make_unique<ExampleKeyTypeManager>
      Src: /src/tink/cc/internal/registry_impl_test.cc:1993,1
    - Dst: ON_CALL
      Src: /src/tink/cc/internal/registry_impl_test.cc:1994,1
    - Dst: FipsStatus
      Src: /src/tink/cc/internal/registry_impl_test.cc:1994,1
    - Dst: testing::Return
      Src: /src/tink/cc/internal/registry_impl_test.cc:1995,1
    - Dst: RegistryImpl::RegisterKeyTypeManager
      Src: /src/tink/cc/internal/registry_impl_test.cc:1998,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:2000,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2001,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:2001,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2002,1
    - Dst: RegistryImpl::RestrictToFipsIfEmpty
      Src: /src/tink/cc/internal/registry_impl_test.cc:2002,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:2003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2004
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - RegistryImpl::RegisterKeyTypeManager
    - IsOk
    - std::move
    - ON_CALL
    - EXPECT_THAT
    - GTEST_SKIP
    - RegistryImpl::RestrictToFipsIfEmpty
    - StatusIs
    - testing::Return
    - absl::make_unique<ExampleKeyTypeManager>
    - FipsStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, FipsFailsIfNotEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:2008,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2011,1
    - Dst: RegistryImpl::RegisterMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2011,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:2012,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:2013,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2014,1
    - Dst: RegistryImpl::GetMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2014,1
    - Dst: Not
      Src: /src/tink/cc/internal/registry_impl_test.cc:2014,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/registry_impl_test.cc:2014,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:2016,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2017,1
    - Dst: RegistryImpl::RegisterMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2017,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:2018,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2020
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - RegistryImpl::RegisterMonitoringClientFactory
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - std::move
    - Not
    - ASSERT_THAT
    - RegistryImpl::GetMonitoringClientFactory
    - EXPECT_THAT
    - IsNull
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, CanRegisterOnlyOneMonitoringFactory)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2024,1
    - Dst: RegistryImpl::RegisterMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2024,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:2025,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/internal/registry_impl_test.cc:2027,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2028,1
    - Dst: RegistryImpl::RegisterMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2028,1
    - Dst: std::move
      Src: /src/tink/cc/internal/registry_impl_test.cc:2029,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/registry_impl_test.cc:2030,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2031,1
    - Dst: RegistryImpl::GetMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2031,1
    - Dst: Not
      Src: /src/tink/cc/internal/registry_impl_test.cc:2031,1
    - Dst: IsNull
      Src: /src/tink/cc/internal/registry_impl_test.cc:2031,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/registry_impl_test.cc:2032,1
    - Dst: RegistryImpl::RegisterMonitoringClientFactory
      Src: /src/tink/cc/internal/registry_impl_test.cc:2032,1
    - Dst: StatusIs
      Src: /src/tink/cc/internal/registry_impl_test.cc:2033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2034
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/internal/registry_impl_test.cc
    functionUses: 0
    functionsReached:
    - RegistryImpl::RegisterMonitoringClientFactory
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - std::move
    - Not
    - ASSERT_THAT
    - RegistryImpl::GetMonitoringClientFactory
    - EXPECT_THAT
    - IsNull
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(RegistryImplTest, CannotRegisterNullFactory)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<OutputPrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:65,1
    - Dst: std::unique_ptr<PrimitiveSet<InputPrimitive>>::get_all
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:66,1
    - Dst: push_back
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:67,1
    - Dst: std::make_pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:68,1
    - Dst: get_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:68,1
    - Dst: get_primitive
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:68,1
    - Dst: get_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:69,1
    - Dst: std::unique_ptr<PrimitiveSet<InputPrimitive>>::get_primary
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:69,1
    - Dst: auto::back
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:70,1
    - Dst: append
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<InputPrimitive>>
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::Wrapper::Wrap
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - get_primitive
    - push_back
    - std::make_pair
    - std::unique_ptr<PrimitiveSet<InputPrimitive>>::get_all
    - std::unique_ptr<PrimitiveSet<InputPrimitive>>::get_primary
    - auto::back
    - std::move
    - append
    - absl::make_unique<OutputPrimitive>
    - get_key_id
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<OutputPrimitive>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<OutputPrimitive>> Wrap(\n
      \     std::unique_ptr<PrimitiveSet<InputPrimitive>> primitive_set)\n      const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StartsWith
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:79,1
    - Dst: type_url
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:80,1
    - Dst: type_url
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:81,1
    - Dst: absl::make_unique<InputPrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:83,1
    - Dst: type_url
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - google::crypto::tink::KeyData
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::CreateIn
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StartsWith
    - crypto::tink::internal::ExtractStatus
    - type_url
    - absl::make_unique<InputPrimitive>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<InputPrimitive>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<InputPrimitive>> CreateIn(\n
      \   const google::crypto::tink::KeyData& key_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyData::set_type_url
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:89,1
    - Dst: std::string
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type_url
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: crypto::tink::internal::OnlyTypeUrlKeyData
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::KeyData::set_type_url
    - std::string
    linkageType: ''
    returnType: google::crypto::tink::KeyData
    signature: google::crypto::tink::KeyData OnlyTypeUrlKeyData(absl::string_view
      type_url)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddKeyData
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:97,1
    - Dst: crypto::tink::internal::OnlyTypeUrlKeyData
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' keydata'
    argTypes:
    - std::vector<std::pair<int, std::string>>
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: crypto::tink::internal::CreateKeyset
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::OnlyTypeUrlKeyData
    - AddKeyData
    linkageType: ''
    returnType: google::crypto::tink::Keyset
    signature: "google::crypto::tink::Keyset CreateKeyset(\n    const std::vector<std::pair<int,
      std::string>>& keydata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:107,1
    - Dst: crypto::tink::internal::CreateKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:111,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:112,1
    - Dst: auto::Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:118,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:118,1
    - Dst: UnorderedElementsAre
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:119,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:119,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:119,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - UnorderedElementsAre
    - IsOk
    - ASSERT_THAT
    - google::crypto::tink::Keyset::set_primary_key_id
    - auto::Wrap
    - Pair
    - crypto::tink::internal::CreateKeyset
    - util::StatusOr::value
    - absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperImplTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:126,1
    - Dst: crypto::tink::internal::CreateKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:130,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:131,1
    - Dst: auto::Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:136,1
    - Dst: Not
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:137,1
    - Dst: std::string
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:137,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:137,1
    - Dst: HasSubstr
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 138
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - util::StatusOr::status
    - Not
    - IsOk
    - ASSERT_THAT
    - google::crypto::tink::Keyset::set_primary_key_id
    - HasSubstr
    - auto::Wrap
    - crypto::tink::internal::CreateKeyset
    - absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperImplTest, FailingGetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:145,1
    - Dst: auto::Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:148,1
    - Dst: crypto::tink::KeysetHandle::AddToKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:150,1
    - Dst: Not
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - ASSERT_THAT
    - auto::Wrap
    - crypto::tink::KeysetHandle::AddToKeyset
    - absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperImplTest, ValidatesKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:157,1
    - Dst: crypto::tink::internal::CreateKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:161,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:162,1
    - Dst: google::crypto::tink::Keyset::mutable_key
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:164,1
    - Dst: auto::Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:169,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:169,1
    - Dst: UnorderedElementsAre
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:170,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:170,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:170,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 172
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - UnorderedElementsAre
    - IsOk
    - google::crypto::tink::Keyset::mutable_key
    - ASSERT_THAT
    - google::crypto::tink::Keyset::set_primary_key_id
    - auto::Wrap
    - Pair
    - crypto::tink::internal::CreateKeyset
    - util::StatusOr::value
    - absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperImplTest, OnlyEnabled)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<OutputPrimitive>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:185,1
    - Dst: auto::push_back
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:186,1
    - Dst: auto::push_back
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:187,1
    - Dst: auto::push_back
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:188,1
    - Dst: auto::push_back
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: crypto::tink::internal::GetOutputPrimitiveForTesting
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<OutputPrimitive>
    - auto::push_back
    linkageType: ''
    returnType: std::unique_ptr<OutputPrimitive>
    signature: std::unique_ptr<OutputPrimitive> GetOutputPrimitiveForTesting()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:197,1
    - Dst: crypto::tink::internal::CreateKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:199,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:201,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:206,1
    - Dst: Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:206,1
    - Dst: get_annotations
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:212,1
    - Dst: crypto::tink::internal::GetOutputPrimitiveForTesting
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:214,1
    - Dst: auto::Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:220,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:221,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:222,1
    - Dst: Pointee
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:222,1
    - Dst: UnorderedElementsAre
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:222,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:223,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:223,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:224,1
    - Dst: Pair
      Src: /src/tink/cc/internal/keyset_wrapper_impl_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 225
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
    functionUses: 0
    functionsReached:
    - UnorderedElementsAre
    - EXPECT_EQ
    - Pointee
    - EXPECT_CALL
    - Keyset::set_primary_key_id
    - crypto::tink::internal::GetOutputPrimitiveForTesting
    - get_annotations
    - Wrap
    - EXPECT_THAT
    - auto::Wrap
    - IsOkAndHolds
    - crypto::tink::internal::CreateKeyset
    - Pair
    - absl::make_unique<KeysetWrapperImpl<InputPrimitive, OutputPrimitive>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetWrapperImplTest, WrapWithAnnotationCorrectlyWrittenToPrimitiveSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MutableSerializationRegistry::MutableSerializationRegistry
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: '& MutableSerializationRegistry::GlobalInstance()'
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 0
    functionsReached:
    - MutableSerializationRegistry::MutableSerializationRegistry
    linkageType: ''
    returnType: MutableSerializationRegistry
    signature: MutableSerializationRegistry & MutableSerializationRegistry::GlobalInstance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializationRegistry::Builder::RegisterParametersParser
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:55,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:57,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - ParametersParser*
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::MutableSerializationRegistry::RegisterParametersParser
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 0
    functionsReached:
    - SerializationRegistry::Builder::RegisterParametersParser
    - std::move
    - util::Status::ok
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status MutableSerializationRegistry::RegisterParametersParser(\n
      \   ParametersParser* parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializationRegistry::Builder::RegisterParametersSerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:65,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:66,1
    - Dst: std::move
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:67,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - ParametersSerializer*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::MutableSerializationRegistry::RegisterParametersSerializer
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - util::Status::ok
    - std::move
    - SerializationRegistry::Builder::RegisterParametersSerializer
    linkageType: ''
    returnType: util::Status
    signature: "util::Status MutableSerializationRegistry::RegisterParametersSerializer(\n
      \   ParametersSerializer* serializer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializationRegistry::Builder::RegisterKeyParser
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:75,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:77,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - KeyParser*
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::MutableSerializationRegistry::RegisterKeyParser
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - util::Status::ok
    - std::move
    - SerializationRegistry::Builder::RegisterKeyParser
    linkageType: ''
    returnType: util::Status
    signature: "util::Status MutableSerializationRegistry::RegisterKeyParser(\n    KeyParser*
      parser)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SerializationRegistry::Builder::RegisterKeySerializer
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:85,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:87,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - serializer
    argTypes:
    - KeySerializer*
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::MutableSerializationRegistry::RegisterKeySerializer
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - std::move
    - util::Status::ok
    - SerializationRegistry::Builder::RegisterKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: "util::Status MutableSerializationRegistry::RegisterKeySerializer(\n
      \   KeySerializer* serializer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MutableSerializationRegistry::ParseParameters
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - Serialization
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::MutableSerializationRegistry::ParseParameters
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::MutableSerializationRegistry::ParseParameters
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Parameters>>
    signature: "util::StatusOr<std::unique_ptr<Parameters>> MutableSerializationRegistry::ParseParameters(\n
      \   const Serialization& serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - Serialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: crypto::tink::internal::MutableSerializationRegistry::ParseKey
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::MutableSerializationRegistry::ParseKey
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Key>>
    signature: "util::StatusOr<std::unique_ptr<Key>> MutableSerializationRegistry::ParseKey(\n
      \   const Serialization& serialization,\n    absl::optional<SecretKeyAccessToken>
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::MutableSerializationRegistry::ParseKey
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:108,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:109,1
    - Dst: dynamic_cast<const ProtoKeySerialization*>
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:111,1
    - Dst: crypto::tink::internal::LegacyProtoKey::Create
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:112,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:113,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:114,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:114,1
    - Dst: absl::make_unique<LegacyProtoKey>
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:115,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:117,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/mutable_serialization_registry.cc:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - Serialization
    - SecretKeyAccessToken
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::MutableSerializationRegistry::ParseKeyWithLegacyFallback
    functionSourceFile: /src/tink/cc/internal/mutable_serialization_registry.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::ok
    - crypto::tink::internal::LegacyProtoKey::Create
    - absl::make_unique<LegacyProtoKey>
    - dynamic_cast<const ProtoKeySerialization*>
    - crypto::tink::internal::MutableSerializationRegistry::ParseKey
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Key>>
    signature: "util::StatusOr<std::unique_ptr<Key>> MutableSerializationRegistry::ParseKeyWithLegacyFallback(\n
      \   const Serialization& serialization, SecretKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - transforming_wrapper
    - primitive_getter
    argTypes:
    - PrimitiveWrapper<P, Q>*
    - "absl::AnyInvocable<crypto::tink::util::StatusOr<std::unique_ptr<P>>(\n          const
      google::crypto::tink::KeyData& key_data) const>"
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: crypto::tink::internal::KeysetWrapperImpl::KeysetWrapperImpl
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KeysetWrapperImpl(\n      const PrimitiveWrapper<P, Q>* transforming_wrapper,\n
      \     absl::AnyInvocable<crypto::tink::util::StatusOr<std::unique_ptr<P>>(\n
      \         const google::crypto::tink::KeyData& key_data) const>\n          primitive_getter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateKeyset
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:56,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:57,1
    - Dst: typename PrimitiveSet<P>::Builder::AddAnnotations
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:59,1
    - Dst: key
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:60,1
    - Dst: status
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:61,1
    - Dst: primitive_getter_
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:64,1
    - Dst: key_data
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:65,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:65,1
    - Dst: key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:66,1
    - Dst: primary_key_id
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:66,1
    - Dst: typename PrimitiveSet<P>::Builder::AddPrimaryPrimitive
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:67,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:67,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:67,1
    - Dst: KeyInfoFromKey
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:68,1
    - Dst: typename PrimitiveSet<P>::Builder::AddPrimitive
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:70,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:70,1
    - Dst: auto::value
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:70,1
    - Dst: KeyInfoFromKey
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:71,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:75,1
    - Dst: crypto::tink::util::StatusOr<PrimitiveSet<P>>::ok
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:76,1
    - Dst: crypto::tink::util::StatusOr<PrimitiveSet<P>>::status
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:76,1
    - Dst: crypto::tink::internal::KeysetWrapperImpl::Wrap
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:77,1
    - Dst: absl::make_unique<PrimitiveSet<P>>
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:78,1
    - Dst: std::move
      Src: /src/tink/cc/internal/keyset_wrapper_impl.h:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - ' keyset'
    - ' annotations'
    argTypes:
    - google::crypto::tink::Keyset
    - absl::flat_hash_map<std::string, std::string>
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::KeysetWrapperImpl::Wrap
    functionSourceFile: /src/tink/cc/internal/keyset_wrapper_impl.h
    functionUses: 1
    functionsReached:
    - KeyInfoFromKey
    - auto::ok
    - std::move
    - key_data
    - primitive_getter_
    - auto::status
    - absl::make_unique<PrimitiveSet<P>>
    - status
    - typename PrimitiveSet<P>::Builder::AddPrimaryPrimitive
    - crypto::tink::internal::KeysetWrapperImpl::Wrap
    - crypto::tink::util::StatusOr<PrimitiveSet<P>>::status
    - primary_key_id
    - crypto::tink::util::StatusOr<PrimitiveSet<P>>::ok
    - key_id
    - key
    - ValidateKeyset
    - typename PrimitiveSet<P>::Builder::AddAnnotations
    - auto::value
    - typename PrimitiveSet<P>::Builder::AddPrimitive
    - crypto::tink::util::Status::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Q>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Q>> Wrap(\n      const
      google::crypto::tink::Keyset& keyset,\n      const absl::flat_hash_map<std::string,
      std::string>& annotations)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: operator()(BIO* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - BIO_free
    linkageType: ''
    returnType: void
    signature: void operator()(BIO* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EVP_CIPHER_CTX*
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: operator()(EVP_CIPHER_CTX* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(EVP_CIPHER_CTX* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: operator()(BIGNUM* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - BN_free
    linkageType: ''
    returnType: void
    signature: void operator()(BIGNUM* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_CTX_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - BN_CTX*
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: operator()(BN_CTX* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - BN_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(BN_CTX* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: operator()(RSA* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - RSA_free
    linkageType: ''
    returnType: void
    signature: void operator()(RSA* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: operator()(EC_POINT* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    linkageType: ''
    returnType: void
    signature: void operator()(EC_POINT* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: operator()(EC_GROUP* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EC_GROUP_free
    linkageType: ''
    returnType: void
    signature: void operator()(EC_GROUP* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: operator()(EC_KEY* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EC_KEY_free
    linkageType: ''
    returnType: void
    signature: void operator()(EC_KEY* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: operator()(EVP_PKEY* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void operator()(EVP_PKEY* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EVP_PKEY_CTX*
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: operator()(EVP_PKEY_CTX* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(EVP_PKEY_CTX* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - ECDSA_SIG*
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: operator()(ECDSA_SIG* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - ECDSA_SIG_free
    linkageType: ''
    returnType: void
    signature: void operator()(ECDSA_SIG* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_CTX_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - CMAC_CTX*
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: operator()(CMAC_CTX* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - CMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(CMAC_CTX* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - EVP_MD_CTX*
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: operator()(EVP_MD_CTX* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(EVP_MD_CTX* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/tink/cc/internal/ssl_unique_ptr.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - HMAC_CTX*
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: operator()(HMAC_CTX* ptr)
    functionSourceFile: /src/tink/cc/internal/ssl_unique_ptr.h
    functionUses: 0
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void operator()(HMAC_CTX* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:41,1
    - Dst: BaseSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:41,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:42,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:43,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:43,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:43,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:44,1
    - Dst: IdParamsSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:44,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:44,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:47,1
    - Dst: IdKeySerialization::ObjectIdentifier
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:47,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:48,1
    - Dst: IdKeySerialization::GetKeyId
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - IdKeySerialization::ObjectIdentifier
    - IdParamsSerialization
    - BaseSerialization
    - EXPECT_THAT
    - NoIdSerialization
    - Eq
    - IdKeySerialization::GetKeyId
    linkageType: ''
    returnType: void
    signature: void TEST(SerializationTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:54,1
    - Dst: NoIdParams::HasIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:54,1
    - Dst: IsFalse
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:55,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:56,1
    - Dst: Not
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:56,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:56,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - NoIdParams
    - Not
    - NoIdParams::HasIdRequirement
    - IdParams
    - EXPECT_THAT
    - IsFalse
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(NoIdParamsTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:60,1
    - Dst: crypto::tink::internal::ParseNoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:60,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:60,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:60,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:61,1
    - Dst: crypto::tink::internal::SerializeNoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:61,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:61,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:62,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParseNoIdParams
    - crypto::tink::internal::SerializeNoIdParams
    - NoIdParams
    - IsOkAndHolds
    - EXPECT_THAT
    - NoIdSerialization
    linkageType: ''
    returnType: void
    signature: void TEST(NoIdParamsTest, ParseAndSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:68,1
    - Dst: IdParams::HasIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:68,1
    - Dst: IsTrue
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:69,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:69,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:70,1
    - Dst: Not
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:70,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - NoIdParams
    - IdParams
    - EXPECT_THAT
    - IsTrue
    - IdParams::HasIdRequirement
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(IdParamsTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:74,1
    - Dst: crypto::tink::internal::ParseIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:74,1
    - Dst: IdParamsSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:74,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:74,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:75,1
    - Dst: crypto::tink::internal::SerializeIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:75,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:75,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:76,1
    - Dst: IdParamsSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - IdParamsSerialization
    - crypto::tink::internal::SerializeIdParams
    - IdParams
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::internal::ParseIdParams
    linkageType: ''
    returnType: void
    signature: void TEST(IdParamsTest, ParseAndSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:82,1
    - Dst: NoIdKey::GetIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:83,1
    - Dst: NoIdKey::GetParameters
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:83,1
    - Dst: NoIdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:84,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:85,1
    - Dst: Not
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:85,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - NoIdKey::GetIdRequirement
    - NoIdParams
    - Not
    - IdKey
    - Eq
    - EXPECT_THAT
    - NoIdKey::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST(NoIdKeyTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:89,1
    - Dst: crypto::tink::internal::ParseNoIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:89,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:89,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:89,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:90,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:91,1
    - Dst: crypto::tink::internal::SerializeNoIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:91,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:91,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:91,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:92,1
    - Dst: NoIdSerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::internal::SerializeNoIdKey
    - IsOkAndHolds
    - EXPECT_THAT
    - NoIdSerialization
    - crypto::tink::internal::ParseNoIdKey
    linkageType: ''
    returnType: void
    signature: void TEST(NoIdKeyTest, ParseAndSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:98,1
    - Dst: IdKey::GetIdRequirement
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:98,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:99,1
    - Dst: IdKey::GetParameters
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:99,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:99,1
    - Dst: IdParams
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:100,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:100,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:101,1
    - Dst: Not
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:101,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:101,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:102,1
    - Dst: Eq
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:102,1
    - Dst: NoIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - NoIdKey
    - Not
    - IdKey
    - Eq
    - IdParams
    - EXPECT_THAT
    - IdKey::GetIdRequirement
    - IdKey::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST(IdKeyTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:106,1
    - Dst: crypto::tink::internal::ParseIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:106,1
    - Dst: IdKeySerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:106,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:107,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:108,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:109,1
    - Dst: crypto::tink::internal::SerializeIdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:109,1
    - Dst: IdKey
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:109,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:109,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:110,1
    - Dst: IdKeySerialization
      Src: /src/tink/cc/internal/serialization_test_util_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/internal/serialization_test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ParseIdKey
    - crypto::tink::internal::SerializeIdKey
    - crypto::tink::InsecureSecretKeyAccess::Get
    - IdKey
    - IdKeySerialization
    - EXPECT_THAT
    - IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST(IdKeyTest, ParseAndSerialize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/internal/safe_stringops.h:33,1
    - Dst: memcpy
      Src: /src/tink/cc/internal/safe_stringops.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: crypto::tink::internal::SafeMemCopy
    functionSourceFile: /src/tink/cc/internal/safe_stringops.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * SafeMemCopy(void* dst, const void* src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/internal/safe_stringops.h:38,1
    - Dst: memmove
      Src: /src/tink/cc/internal/safe_stringops.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: crypto::tink::internal::SafeMemMove
    functionSourceFile: /src/tink/cc/internal/safe_stringops.h
    functionUses: 4
    functionsReached:
    - memmove
    - crypto::tink::internal::CallWithCoreDumpProtection
    linkageType: ''
    returnType: void
    signature: void * SafeMemMove(void* dst, const void* src, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/internal/safe_stringops.h:47,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/internal/safe_stringops.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::SafeCryptoMemEquals
    functionSourceFile: /src/tink/cc/internal/safe_stringops.h
    functionUses: 2
    functionsReached:
    - CRYPTO_memcmp
    - crypto::tink::internal::CallWithCoreDumpProtection
    linkageType: ''
    returnType: int
    signature: int SafeCryptoMemEquals(const void* s1, const void* s2, size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsPrintableAscii
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:39,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:40,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:44,1
    - Dst: std::string
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:44,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:45,1
    - Dst: KeyTemplate::set_value
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:46,1
    - Dst: std::string
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:46,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - type_url
    - output_prefix_type
    - serialized_proto
    argTypes:
    - absl::string_view
    - OutputPrefixType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: crypto::tink::internal::ProtoParametersSerialization::Create
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.cc
    functionUses: 16
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - KeyTemplate::set_output_prefix_type
    - IsPrintableAscii
    - crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
    - KeyTemplate::set_type_url
    - KeyTemplate::set_value
    linkageType: ''
    returnType: util::StatusOr<ProtoParametersSerialization>
    signature: "util::StatusOr<ProtoParametersSerialization> ProtoParametersSerialization::Create(absl::string_view
      type_url,\n                                     OutputPrefixType output_prefix_type,\n
      \                                    absl::string_view serialized_proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsPrintableAscii
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:52,1
    - Dst: KeyTemplate::type_url
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:53,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_template
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::ProtoParametersSerialization::Create
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.cc
    functionUses: 16
    functionsReached:
    - IsPrintableAscii
    - crypto::tink::internal::ExtractStatus
    - KeyTemplate::type_url
    - crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
    linkageType: ''
    returnType: util::StatusOr<ProtoParametersSerialization>
    signature: util::StatusOr<ProtoParametersSerialization> ProtoParametersSerialization::Create(KeyTemplate
      key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ProtoParametersSerialization*>
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:62,1
    - Dst: type_url
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:66,1
    - Dst: ProtoParametersSerialization*::key_template_::type_url
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:66,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:69,1
    - Dst: ProtoParametersSerialization*::key_template_::output_prefix_type
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:70,1
    - Dst: value
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:73,1
    - Dst: ProtoParametersSerialization*::key_template_::value
      Src: /src/tink/cc/internal/proto_parameters_serialization.cc:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 80
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::ProtoParametersSerialization::EqualsWithPotentialFalseNegatives
    functionSourceFile: /src/tink/cc/internal/proto_parameters_serialization.cc
    functionUses: 0
    functionsReached:
    - ProtoParametersSerialization*::key_template_::value
    - dynamic_cast<const ProtoParametersSerialization*>
    - ProtoParametersSerialization*::key_template_::type_url
    - type_url
    - value
    - ProtoParametersSerialization*::key_template_::output_prefix_type
    - output_prefix_type
    linkageType: ''
    returnType: bool
    signature: "bool ProtoParametersSerialization::EqualsWithPotentialFalseNegatives(\n
      \   const ProtoParametersSerialization& other) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:61,1
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/internal/rsa_util.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:71,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:73,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - modulus_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::ValidateRsaModulusSize
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::OkStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateRsaModulusSize(size_t modulus_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:83,1
    - Dst: BN_is_odd
      Src: /src/tink/cc/internal/rsa_util.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:88,1
    - Dst: crypto::tink::internal::CompareBignumWithWord
      Src: /src/tink/cc/internal/rsa_util.cc:92,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:93,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/internal/rsa_util.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:100,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - exponent
    argTypes:
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 104
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 104
    functionName: crypto::tink::internal::ValidateRsaPublicExponent
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::CompareBignumWithWord
    - BN_is_odd
    - BN_num_bits
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateRsaPublicExponent(const BIGNUM *exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:108,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:109,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:110,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/internal/rsa_util.cc:112,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - exponent
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: crypto::tink::internal::ValidateRsaPublicExponent
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 2
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::ValidateRsaPublicExponent
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateRsaPublicExponent(absl::string_view exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:120,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/internal/rsa_util.cc:124,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/rsa_util.cc:125,1
    - Dst: BN_copy
      Src: /src/tink/cc/internal/rsa_util.cc:130,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:130,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:131,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:131,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/internal/rsa_util.cc:133,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:133,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:133,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:135,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:136,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:137,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/internal/rsa_util.cc:141,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:141,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/rsa_util.cc:145,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:145,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:146,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:147,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/internal/rsa_util.cc:150,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:150,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:152,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/rsa_util.cc:155,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:155,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:156,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:159,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:160,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:161,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/internal/rsa_util.cc:167,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:167,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/rsa_util.cc:169,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:169,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:170,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:171,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/rsa_util.cc:174,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:174,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:175,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:176,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:178,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:179,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/internal/rsa_util.cc:183,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:183,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/rsa_util.cc:185,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:185,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:186,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:187,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/rsa_util.cc:190,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:190,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:191,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:192,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/internal/rsa_util.cc:195,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/internal/rsa_util.cc:195,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:196,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:199,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:200,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:201,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 4
    argNames:
    - modulus_size_in_bits
    - e
    - private_key
    - public_key
    argTypes:
    - int
    - BIGNUM*
    - RsaPrivateKey*
    - RsaPublicKey*
    constantsTouched: []
    func_position:
      end: 204
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 204
    functionName: crypto::tink::internal::NewRsaKeyPair
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::BignumToString
    - crypto::tink::internal::ValidateRsaPublicExponent
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::GetSslErrors
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - RSA_generate_key_ex
    - crypto::tink::internal::BignumToSecretData
    - std::move
    - RSA_get0_factors
    - util::StatusOr::ok
    - BN_num_bytes
    - RSA_get0_crt_params
    - absl::StrCat
    - RSA_get0_key
    - crypto::tink::util::OkStatus
    - BN_copy
    linkageType: ''
    returnType: util::Status
    signature: "util::Status NewRsaKeyPair(int modulus_size_in_bits, const BIGNUM
      *e,\n                           RsaPrivateKey *private_key,\n                           RsaPublicKey
      *public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:208,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:210,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:212,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util.cc:212,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:213,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:214,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:217,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:219,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:220,1
    - Dst: RSA_set0_key
      Src: /src/tink/cc/internal/rsa_util.cc:222,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:222,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:222,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:222,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:223,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:225,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:225,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:228,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:229,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:230,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - RsaPrivateKey
    - RSA*
    constantsTouched: []
    func_position:
      end: 232
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 232
    functionName: crypto::tink::internal::GetRsaModAndExponents
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::GetSslErrors
    - util::StatusOr::ok
    - util::StatusOr::release
    - absl::StrCat
    - RSA_set0_key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status GetRsaModAndExponents(const RsaPrivateKey &key, RSA *rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:236,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util.cc:236,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:238,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util.cc:238,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:239,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:240,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:242,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:243,1
    - Dst: RSA_set0_factors
      Src: /src/tink/cc/internal/rsa_util.cc:245,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:245,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:245,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:248,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:248,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:250,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:251,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - RsaPrivateKey
    - RSA*
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: crypto::tink::internal::GetRsaPrimeFactors
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::GetSslErrors
    - util::StatusOr::ok
    - util::StatusOr::release
    - absl::StrCat
    - crypto::tink::util::OkStatus
    - RSA_set0_factors
    linkageType: ''
    returnType: util::Status
    signature: util::Status GetRsaPrimeFactors(const RsaPrivateKey &key, RSA *rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:257,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util.cc:257,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:259,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util.cc:259,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:261,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/internal/rsa_util.cc:261,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:262,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:263,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:265,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:266,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/rsa_util.cc:268,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/rsa_util.cc:269,1
    - Dst: RSA_set0_crt_params
      Src: /src/tink/cc/internal/rsa_util.cc:271,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:271,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:271,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/internal/rsa_util.cc:271,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:272,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:274,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:274,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:276,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:277,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/internal/rsa_util.cc:278,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - RsaPrivateKey
    - RSA*
    constantsTouched: []
    func_position:
      end: 280
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 280
    functionName: crypto::tink::internal::GetRsaCrtParams
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::GetSslErrors
    - RSA_set0_crt_params
    - util::StatusOr::ok
    - util::StatusOr::release
    - absl::StrCat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status GetRsaCrtParams(const RsaPrivateKey &key, RSA *rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:284,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/rsa_util.cc:285,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/rsa_util.cc:286,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/internal/rsa_util.cc:288,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/internal/rsa_util.cc:288,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util.cc:288,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/rsa_util.cc:289,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/internal/rsa_util.cc:293,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/rsa_util.cc:294,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:298,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:299,1
    - Dst: crypto::tink::internal::GetRsaModAndExponents
      Src: /src/tink/cc/internal/rsa_util.cc:302,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:302,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/rsa_util.cc:303,1
    - Dst: crypto::tink::internal::GetRsaPrimeFactors
      Src: /src/tink/cc/internal/rsa_util.cc:306,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:306,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/rsa_util.cc:307,1
    - Dst: crypto::tink::internal::GetRsaCrtParams
      Src: /src/tink/cc/internal/rsa_util.cc:310,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:310,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/internal/rsa_util.cc:311,1
    - Dst: RSA_check_key
      Src: /src/tink/cc/internal/rsa_util.cc:315,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:315,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:316,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:318,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:318,1
    - Dst: RSA_check_fips
      Src: /src/tink/cc/internal/rsa_util.cc:321,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:321,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:322,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:324,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/internal/rsa_util.cc:324,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 328
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 328
    functionName: crypto::tink::internal::RsaPrivateKeyToRsa
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - RSA_check_fips
    - crypto::tink::internal::ValidateRsaPublicExponent
    - util::Status::ok
    - auto::ok
    - crypto::tink::internal::GetRsaPrimeFactors
    - crypto::tink::internal::StringToBignum
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::GetSslErrors
    - std::move
    - auto::get
    - absl::StrCat
    - crypto::tink::internal::GetRsaCrtParams
    - BN_num_bits
    - RSA_check_key
    - crypto::tink::internal::ValidateRsaModulusSize
    - crypto::tink::internal::GetRsaModAndExponents
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<RSA>>
    signature: "util::StatusOr<internal::SslUniquePtr<RSA>> RsaPrivateKeyToRsa(\n
      \   const RsaPrivateKey &private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:332,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/rsa_util.cc:333,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/rsa_util.cc:334,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/internal/rsa_util.cc:336,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/rsa_util.cc:337,1
    - Dst: auto::status
      Src: /src/tink/cc/internal/rsa_util.cc:338,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/internal/rsa_util.cc:340,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/internal/rsa_util.cc:340,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util.cc:340,1
    - Dst: auto::ok
      Src: /src/tink/cc/internal/rsa_util.cc:341,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:345,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:346,1
    - Dst: RSA_set0_key
      Src: /src/tink/cc/internal/rsa_util.cc:349,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/internal/rsa_util.cc:349,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util.cc:349,1
    - Dst: auto::get
      Src: /src/tink/cc/internal/rsa_util.cc:349,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:351,1
    - Dst: auto::release
      Src: /src/tink/cc/internal/rsa_util.cc:353,1
    - Dst: auto::release
      Src: /src/tink/cc/internal/rsa_util.cc:354,1
    - Dst: std::move
      Src: /src/tink/cc/internal/rsa_util.cc:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - RsaPublicKey
    constantsTouched: []
    func_position:
      end: 356
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 356
    functionName: crypto::tink::internal::RsaPublicKeyToRsa
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::StringToBignum
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::release
    - auto::get
    - RSA_set0_key
    - BN_num_bits
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<RSA>>
    signature: "util::StatusOr<internal::SslUniquePtr<RSA>> RsaPublicKeyToRsa(\n    const
      RsaPublicKey &public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:360,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/internal/rsa_util.cc:364,1
    - Dst: RSA_check_key
      Src: /src/tink/cc/internal/rsa_util.cc:365,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:366,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:369,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/internal/rsa_util.cc:375,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:378,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:382,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:389,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:391,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:399,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/internal/rsa_util.cc:401,1
    - Dst: BN_is_odd
      Src: /src/tink/cc/internal/rsa_util.cc:405,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:406,1
    - Dst: BN_ucmp
      Src: /src/tink/cc/internal/rsa_util.cc:413,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/rsa_util.cc:414,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/internal/rsa_util.cc:418,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 419
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 419
    functionName: crypto::tink::internal::RsaCheckPublicKey
    functionSourceFile: /src/tink/cc/internal/rsa_util.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::IsBoringSsl
    - BN_is_odd
    - absl::StrCat
    - BN_ucmp
    - RSA_get0_key
    - RSA_check_key
    linkageType: ''
    returnType: util::Status
    signature: util::Status RsaCheckPublicKey(const RSA *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_all
      Src: /src/tink/cc/internal/monitoring_util.h:45,1
    - Dst: std::vector::empty
      Src: /src/tink/cc/internal/monitoring_util.h:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/monitoring_util.h:47,1
    - Dst: get_primary
      Src: /src/tink/cc/internal/monitoring_util.h:50,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/internal/monitoring_util.h:51,1
    - Dst: crypto::tink::internal::FromKeyStatusType
      Src: /src/tink/cc/internal/monitoring_util.h:57,1
    - Dst: get_status
      Src: /src/tink/cc/internal/monitoring_util.h:57,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/internal/monitoring_util.h:58,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/internal/monitoring_util.h:58,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::Entry
      Src: /src/tink/cc/internal/monitoring_util.h:60,1
    - Dst: get_key_id
      Src: /src/tink/cc/internal/monitoring_util.h:61,1
    - Dst: absl::StripPrefix
      Src: /src/tink/cc/internal/monitoring_util.h:62,1
    - Dst: get_key_type_url
      Src: /src/tink/cc/internal/monitoring_util.h:62,1
    - Dst: OutputPrefixType_Name
      Src: /src/tink/cc/internal/monitoring_util.h:63,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/internal/monitoring_util.h:63,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/internal/monitoring_util.h:64,1
    - Dst: get_annotations
      Src: /src/tink/cc/internal/monitoring_util.h:66,1
    - Dst: get_primary
      Src: /src/tink/cc/internal/monitoring_util.h:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ' primitive_set'
    argTypes:
    - PrimitiveSet<P>
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    functionSourceFile: /src/tink/cc/internal/monitoring_util.h
    functionUses: 3
    functionsReached:
    - absl::StripPrefix
    - std::vector::empty
    - crypto::tink::KeysetHandleBuilder::Entry::Entry
    - get_output_prefix_type
    - get_primary
    - OutputPrefixType_Name
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::FromKeyStatusType
    - util::StatusOr::ok
    - get_status
    - get_key_type_url
    - std::vector::push_back
    - get_annotations
    - get_key_id
    - get_all
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<MonitoringKeySetInfo>
    signature: crypto::tink::util::StatusOr<MonitoringKeySetInfo> MonitoringKeySetInfoFromPrimitiveSet(const
      PrimitiveSet<P>& primitive_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/daead/aes_siv_key.cc:40,1
    - Dst: std::string
      Src: /src/tink/cc/daead/aes_siv_key.cc:42,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/daead/aes_siv_key.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key.cc:45,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/aes_siv_key.cc:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/daead/aes_siv_key.cc:49,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/daead/aes_siv_key.cc:50,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/daead/aes_siv_key.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/aes_siv_key.cc:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/daead/aes_siv_key.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/daead/aes_siv_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/aes_siv_key.cc:61,1
    - Dst: GetVariant
      Src: /src/tink/cc/daead/aes_siv_key.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - AesSivParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const AesSivParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/daead/aes_siv_key.cc:71,1
    - Dst: size
      Src: /src/tink/cc/daead/aes_siv_key.cc:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key.cc:72,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/daead/aes_siv_key.cc:75,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/daead/aes_siv_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key.cc:76,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/daead/aes_siv_key.cc:81,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/daead/aes_siv_key.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key.cc:82,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/daead/aes_siv_key.cc:88,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_key.cc:89,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_key.cc:90,1
    - Dst: crypto::tink::AesSivKey::AesSivKey
      Src: /src/tink/cc/daead/aes_siv_key.cc:92,1
    - Dst: std::move
      Src: /src/tink/cc/daead/aes_siv_key.cc:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - AesSivParameters
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: crypto::tink::AesSivKey::Create
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    - crypto::tink::AesSivKey::AesSivKey
    - KeySizeInBytes
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<AesSivKey>
    signature: "util::StatusOr<AesSivKey> AesSivKey::Create(const AesSivParameters&
      parameters,\n                                            const RestrictedData&
      key_bytes,\n                                            absl::optional<int>
      id_requirement,\n                                            PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesSivKey*>
      Src: /src/tink/cc/daead/aes_siv_key.cc:97,1
    - Dst: GetParameters
      Src: /src/tink/cc/daead/aes_siv_key.cc:101,1
    - Dst: AesSivKey*::GetParameters
      Src: /src/tink/cc/daead/aes_siv_key.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: AesSivKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - AesSivKey*::GetParameters
    - dynamic_cast<const AesSivKey*>
    linkageType: ''
    returnType: bool
    signature: bool AesSivKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::DeterministicAeadFactory::GetPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:51,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:52,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:53,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:54,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:54,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:55,1
    - Dst: std::string
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:56,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::DeterministicAeadFactory::GetPrimitive
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MakeKeyManager<DeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:63,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:64,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:65,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:68,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:73,1
    - Dst: NewKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:73,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:78,1
    - Dst: NewKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:78,1
    - Dst: AddRawKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:83,1
    - Dst: NewKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:83,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:84,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:90,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:90,1
    - Dst: crypto::tink::DeterministicAeadFactory::GetPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:93,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:95,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:95,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:96,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:102,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:103,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:103,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:104,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:106,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:106,1
    - Dst: Keyset::key
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:106,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:107,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:110,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:111,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:111,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:113,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:114,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:115,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:116,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:117,1
    - Dst: std::string
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:118,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:118,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:123,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:123,1
    - Dst: Keyset::key
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:123,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:125,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:127,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:127,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:128,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_factory_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - EXPECT_TRUE
    - auto::ok
    - AddRawKey
    - auto::get_key_type
    - std::move
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::GetPrimitive
    - NewKey
    - internal::MakeKeyManager<DeterministicAead>
    - auto::status
    - crypto::tink::DeterministicAeadConfig::Register
    - std::string
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::KeyInfoFromKey
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - auto::EncryptDeterministically
    - EXPECT_PRED_FORMAT2
    - EXPECT_EQ
    - AddTinkKey
    - crypto::tink::DeterministicAeadFactory::GetPrimitive
    - Keyset::key
    - AesSivKeyFormat::set_key_size
    - auto::get_key_factory
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:64,1
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:64,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:68,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:70,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:71,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:75,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:76,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:77,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:84,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:89,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:89,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:98,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:102,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:106,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:106,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:110,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:111,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:112,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:120,1
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:120,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:124,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:126,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:128,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:131,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:131,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:131,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesSivKey::Create
    - util::StatusOr::GetKeyBytes
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivKeyTest, GetKeyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:137,1
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:137,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:141,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:143,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:144,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:146,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:148,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:150,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:153,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:161,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:165,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:167,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:170,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:172,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:175,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:180,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:188,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:190,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:191,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:193,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:195,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:197,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:199,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:210,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:212,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:214,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:216,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:218,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:220,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_key_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::AesSivKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/daead/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/daead/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddDeterministicAeadKeyGenV0
      Src: /src/tink/cc/daead/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigDeterministicAeadV0
    functionSourceFile: /src/tink/cc/daead/key_gen_config_v0.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - crypto::tink::internal::AddDeterministicAeadKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigDeterministicAeadV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/failing_daead_test.cc:36,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/failing_daead_test.cc:38,1
    - Dst: std::unique_ptr::EncryptDeterministically
      Src: /src/tink/cc/daead/failing_daead_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/failing_daead_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/failing_daead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingDeterministicAead
    - StatusIs
    - EXPECT_THAT
    - std::unique_ptr::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailDeterministicAead, EncryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/failing_daead_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/failing_daead_test.cc:49,1
    - Dst: std::unique_ptr::EncryptDeterministically
      Src: /src/tink/cc/daead/failing_daead_test.cc:50,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/failing_daead_test.cc:52,1
    - Dst: HasSubstr
      Src: /src/tink/cc/daead/failing_daead_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/failing_daead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingDeterministicAead
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - std::unique_ptr::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailDeterministicAead, EncryptFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/failing_daead_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/failing_daead_test.cc:59,1
    - Dst: std::unique_ptr::DecryptDeterministically
      Src: /src/tink/cc/daead/failing_daead_test.cc:60,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/failing_daead_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/failing_daead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingDeterministicAead
    - EXPECT_THAT
    - std::unique_ptr::DecryptDeterministically
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailDeterministicAead, DecryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/failing_daead_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/failing_daead_test.cc:70,1
    - Dst: std::unique_ptr::EncryptDeterministically
      Src: /src/tink/cc/daead/failing_daead_test.cc:71,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/failing_daead_test.cc:73,1
    - Dst: HasSubstr
      Src: /src/tink/cc/daead/failing_daead_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/failing_daead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingDeterministicAead
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - std::unique_ptr::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailDeterministicAead, DecryptFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::AesSivKey::AesSivKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesSivKey(const AesSivKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const AesSivKey& other)'
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesSivKey
    signature: AesSivKey & operator=(const AesSivKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::AesSivKey::AesSivKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesSivKey(AesSivKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(AesSivKey&& other)'
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesSivKey
    signature: AesSivKey & operator=(AesSivKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::AesSivKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesSivParameters
    signature: AesSivParameters & GetParameters() const override
  - 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: crypto::tink::AesSivKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/daead/aes_siv_key.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - AesSivParameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: crypto::tink::AesSivKey::AesSivKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_key.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesSivKey(const AesSivParameters& parameters, const RestrictedData&
      key_bytes,\n            absl::optional<int> id_requirement, std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:34,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:36,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:39,1
    - Dst: std::set*::find
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:41,1
    - Dst: std::set*::end
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:41,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:42,1
    - Dst: crypto::tink::AesSivParameters::AesSivParameters
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - key_size_in_bytes
    - variant
    argTypes:
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 47
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 47
    functionName: crypto::tink::AesSivParameters::Create
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.cc
    functionUses: 8
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - absl::StrCat
    - crypto::tink::AesSivParameters::AesSivParameters
    linkageType: ''
    returnType: util::StatusOr<AesSivParameters>
    signature: "util::StatusOr<AesSivParameters> AesSivParameters::Create(int key_size_in_bytes,\n
      \                                                         Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesSivParameters*>
      Src: /src/tink/cc/daead/aes_siv_parameters.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: AesSivParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesSivParameters*>
    linkageType: ''
    returnType: bool
    signature: bool AesSivParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:37,1
    - Dst: absl::make_unique<DeterministicAeadWrapper>
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:39,1
    - Dst: crypto::tink::DeterministicAeadFactory::GetPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:42,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: crypto::tink::DeterministicAeadFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_factory.cc
    functionUses: 3
    functionsReached:
    - util::Status::ok
    - ConfigGlobalRegistry
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::DeterministicAeadFactory::GetPrimitive
    - absl::make_unique<DeterministicAeadWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<DeterministicAead>>
    signature: util::StatusOr<std::unique_ptr<DeterministicAead>> DeterministicAeadFactory::GetPrimitive(const
      KeysetHandle& keyset_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:51,1
    - Dst: absl::make_unique<DeterministicAeadWrapper>
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:53,1
    - Dst: crypto::tink::DeterministicAeadFactory::GetPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_factory.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<DeterministicAead>*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::DeterministicAeadFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_factory.cc
    functionUses: 4
    functionsReached:
    - util::Status::ok
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<DeterministicAeadWrapper>
    - crypto::tink::DeterministicAeadFactory::GetPrimitive
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<DeterministicAead>>
    signature: "util::StatusOr<std::unique_ptr<DeterministicAead>> DeterministicAeadFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle,\n    const KeyManager<DeterministicAead>*
      custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivParameters
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::AesSivParameters::AesSivParameters
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesSivParameters(const AesSivParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivParameters
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const AesSivParameters& other)'
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesSivParameters
    signature: AesSivParameters & operator=(const AesSivParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivParameters
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: crypto::tink::AesSivParameters::AesSivParameters
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesSivParameters(AesSivParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesSivParameters
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(AesSivParameters&& other)'
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesSivParameters
    signature: AesSivParameters & operator=(AesSivParameters&& other)
  - 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: crypto::tink::AesSivParameters::KeySizeInBytes
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KeySizeInBytes() 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: crypto::tink::AesSivParameters::GetVariant
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::AesSivParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_size_in_bytes
    - variant
    argTypes:
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: crypto::tink::AesSivParameters::AesSivParameters
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesSivParameters(int key_size_in_bytes, Variant variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: crypto::tink::DeterministicAeadSetWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - 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: crypto::tink::DeterministicAeadSetWrapperTest::TearDown
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:76,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:77,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:77,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:78,1
    - Dst: std::string
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:79,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:79,1
    - Dst: PrimitiveSet<DeterministicAead>::PrimitiveSet<DeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:84,1
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:86,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:87,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:88,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:89,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:91,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:99,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:100,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:101,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:102,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:105,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:106,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:107,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:108,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:111,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:112,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:113,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:114,1
    - Dst: PrimitiveSet<DeterministicAead>::PrimitiveSet<DeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:120,1
    - Dst: DummyDeterministicAead::DummyDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:122,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:124,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:124,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:125,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:126,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:128,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:128,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:129,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:129,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:130,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:132,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:132,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:133,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:135,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:135,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:135,1
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:140,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:141,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:141,1
    - Dst: std::unique_ptr::EncryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:147,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:147,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:147,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:148,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:149,1
    - Dst: std::unique_ptr::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:153,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:153,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:154,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:154,1
    - Dst: std::unique_ptr::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:157,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:158,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:159,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:160,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:161,1
    - Dst: std::string
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:162,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::status
    - std::string
    - IsOk
    - KeysetInfo::KeyInfo*::set_status
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    - absl::make_unique<DummyDeterministicAead>
    - DummyDeterministicAead::DummyDeterministicAead
    - KeysetInfo::KeyInfo*::set_key_id
    - DeterministicAeadWrapper
    - PrimitiveSet<DeterministicAead>::PrimitiveSet<DeterministicAead>
    - auto::value
    - std::unique_ptr::DecryptDeterministically
    - std::unique_ptr::EncryptDeterministically
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadSetWrapperTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:170,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:171,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo PopulateKeyInfo(uint32_t key_id,\n                                    OutputPrefixType
      out_prefix_type,\n                                    KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:179,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:180,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:182,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:183,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:185,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:197,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:201,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:203,1
    - Dst: auto::get
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:204,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:206,1
    - Dst: auto::get
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:207,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:211,1
    - Dst: New
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:211,1
    - Dst: Return
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:213,1
    - Dst: ByMove
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:213,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:213,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:214,1
    - Dst: Return
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:216,1
    - Dst: ByMove
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:216,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:216,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:219,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:219,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:223,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:224,1
    - Dst: Not
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:225,1
    - Dst: IsNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 226
    functionName: crypto::tink::DeterministicAeadSetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<NiceMock<MockMonitoringClient>>
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: ~DeterministicAeadSetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~DeterministicAeadSetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:241,1
    - Dst: absl::make_unique<PrimitiveSet<DeterministicAead>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:246,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:247,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:248,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:251,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:252,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:253,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:255,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:258,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:259,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:262,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:262,1
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:268,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:269,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:269,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:269,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:275,1
    - Dst: Log
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:276,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:276,1
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 280
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EncryptDeterministically
    - absl::string_view::size
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<DeterministicAead>>
    - DeterministicAeadWrapper
    - IsOkAndHolds
    - Log
    - NotNull
    - EXPECT_THAT
    - KeysetInfo::key_info
    - absl::make_unique<DummyDeterministicAead>
    linkageType: ''
    returnType: void
    signature: "void TEST_F(DeterministicAeadSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringEncryptSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:286,1
    - Dst: absl::make_unique<PrimitiveSet<DeterministicAead>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:291,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:292,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:293,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:297,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:298,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:299,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:302,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:305,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:306,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:309,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:309,1
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:316,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:317,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:317,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:317,1
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:326,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:326,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:329,1
    - Dst: Log
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:330,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:332,1
    - Dst: DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 335
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EncryptDeterministically
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<DeterministicAead>>
    - DeterministicAeadWrapper
    - util::StatusOr::size
    - DecryptDeterministically
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - Log
    - KeysetInfo::key_info
    - absl::make_unique<DummyDeterministicAead>
    linkageType: ''
    returnType: void
    signature: "void TEST_F(DeterministicAeadSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringDecryptSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:340,1
    - Dst: absl::make_unique<PrimitiveSet<DeterministicAead>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:345,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:345,1
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:346,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:349,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:350,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:350,1
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:351,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:354,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:357,1
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:358,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:359,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:361,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:361,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:361,1
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:366,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:367,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:367,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:367,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:374,1
    - Dst: LogFailure
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:374,1
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:376,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:377,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:377,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 378
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingDeterministicAead
    - EncryptDeterministically
    - LogFailure
    - util::StatusOr::status
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<DeterministicAead>>
    - DeterministicAeadWrapper
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - StatusIs
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(DeterministicAeadSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringEncryptFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:384,1
    - Dst: absl::make_unique<PrimitiveSet<DeterministicAead>>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:389,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:389,1
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:390,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:391,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:394,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:394,1
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:395,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:398,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:401,1
    - Dst: crypto::tink::CreateAlwaysFailingDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:402,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:403,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:404,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:404,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:405,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:405,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:405,1
    - Dst: DeterministicAeadWrapper
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:410,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:410,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:411,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:411,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:418,1
    - Dst: LogFailure
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:418,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:419,1
    - Dst: DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:420,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 422
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingDeterministicAead
    - LogFailure
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<DeterministicAead>>
    - DeterministicAeadWrapper
    - DecryptDeterministically
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - StatusIs
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(DeterministicAeadSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringDecryptFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:44,1
    - Dst: type_url
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:45,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:45,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:47,1
    - Dst: AesSivKeyFormat::ParseFromString
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:47,1
    - Dst: value
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:48,1
    - Dst: AesSivKeyFormat::key_size
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:48,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:53,1
    - Dst: internal::MakeKeyManager<DeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:59,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:59,1
    - Dst: type_url
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:59,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:61,1
    - Dst: value
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:61,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:62,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:62,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - internal::MakeKeyManager<DeterministicAead>
    - EXPECT_TRUE
    - auto::status
    - AesSivKeyFormat::key_size
    - EXPECT_EQ
    - auto::ok
    - auto::get_key_type
    - AesSivKeyFormat::ParseFromString
    - auto::get_key_factory
    - DeterministicAeadKeyTemplates::Aes256Siv
    - type_url
    - value
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(DeterministicAeadKeyTemplatesTest, testAesSivKeyTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/daead/config_v0_test.cc:41,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/daead/config_v0_test.cc:41,1
    - Dst: crypto::tink::KeyGenConfigDeterministicAeadV0
      Src: /src/tink/cc/daead/config_v0_test.cc:42,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/config_v0_test.cc:43,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/config_v0_test.cc:43,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/daead/config_v0_test.cc:46,1
    - Dst: crypto::tink::ConfigDeterministicAeadV0
      Src: /src/tink/cc/daead/config_v0_test.cc:46,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/config_v0_test.cc:47,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/config_v0_test.cc:47,1
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/daead/config_v0_test.cc:51,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/config_v0_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/config_v0_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/config_v0_test.cc:53,1
    - Dst: DecryptDeterministically
      Src: /src/tink/cc/daead/config_v0_test.cc:53,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/daead/config_v0_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - EncryptDeterministically
    - crypto::tink::KeyGenConfigDeterministicAeadV0
    - IsOk
    - crypto::tink::ConfigDeterministicAeadV0
    - ASSERT_THAT
    - DecryptDeterministically
    - DeterministicAeadKeyTemplates::Aes256Siv
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:47,1
    - Dst: PrimitiveSet<DeterministicAead>*::get_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:50,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:51,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - daead_set
    argTypes:
    - PrimitiveSet<DeterministicAead>*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<DeterministicAead>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<DeterministicAead>* daead_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - daead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<DeterministicAead>>
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: crypto::tink::DeterministicAeadSetWrapper::DeterministicAeadSetWrapper
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DeterministicAeadSetWrapper(\n      std::unique_ptr<PrimitiveSet<DeterministicAead>>
      daead_set,\n      std::unique_ptr<MonitoringClient> monitoring_encryption_client
      = nullptr,\n      std::unique_ptr<MonitoringClient> monitoring_decryption_client
      = nullptr)"
  - 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: ~DeterministicAeadSetWrapper() override
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeterministicAeadSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:89,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:90,1
    - Dst: get_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:95,1
    - Dst: LogFailure
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:97,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:99,1
    - Dst: Log
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:102,1
    - Dst: get_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:102,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:103,1
    - Dst: get_primary
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:105,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: crypto::tink::DeterministicAeadSetWrapper::EncryptDeterministically
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - get_primary
    - LogFailure
    - auto::ok
    - absl::string_view::size
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - Log
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> DeterministicAeadSetWrapper::EncryptDeterministically(\n
      \   absl::string_view plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:114,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:116,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:118,1
    - Dst: get_primitives
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:119,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:120,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:123,1
    - Dst: get_primitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:124,1
    - Dst: crypto::tink::DeterministicAeadSetWrapper::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:126,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:127,1
    - Dst: Log
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:129,1
    - Dst: get_key_id
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:129,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:130,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:132,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:141,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:142,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:143,1
    - Dst: get_primitive
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:144,1
    - Dst: crypto::tink::DeterministicAeadSetWrapper::DecryptDeterministically
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:146,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:147,1
    - Dst: Log
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:149,1
    - Dst: get_key_id
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:149,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:150,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:152,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:152,1
    - Dst: LogFailure
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:157,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:159,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 160
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 160
    functionName: crypto::tink::DeterministicAeadSetWrapper::DecryptDeterministically
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_primitive
    - get_raw_primitives
    - absl::string_view::size
    - auto::ok
    - LogFailure
    - crypto::tink::DeterministicAeadSetWrapper::DecryptDeterministically
    - crypto::tink::internal::ExtractStatus
    - get_primitives
    - std::move
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - auto::value
    - Log
    - get_key_id
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> DeterministicAeadSetWrapper::DecryptDeterministically(\n
      \   absl::string_view ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:167,1
    - Dst: std::unique_ptr<PrimitiveSet<DeterministicAead>>::get
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:167,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:168,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:171,1
    - Dst: absl::make_unique<DeterministicAeadSetWrapper>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:175,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:176,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:180,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:181,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:182,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:186,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:187,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:188,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:189,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:193,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:194,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:195,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:196,1
    - Dst: absl::make_unique<DeterministicAeadSetWrapper>
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:199,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:200,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:200,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_wrapper.cc:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<DeterministicAead>>
    constantsTouched: []
    func_position:
      end: 202
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 202
    functionName: crypto::tink::DeterministicAeadWrapper::Wrap
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    - absl::make_unique<DeterministicAeadSetWrapper>
    - std::unique_ptr<PrimitiveSet<DeterministicAead>>::get
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<DeterministicAead>>
    signature: "util::StatusOr<std::unique_ptr<DeterministicAead>> DeterministicAeadWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<DeterministicAead>> primitive_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:54,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:55,1
    - Dst: key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesSivKey
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: crypto::tink::AesSivKeyManager::DeterministicAeadFactory::Create
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesSivBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<DeterministicAead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<DeterministicAead>> Create(\n
      \       const google::crypto::tink::AesSivKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DeterministicAeadFactory>
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: crypto::tink::AesSivKeyManager::AesSivKeyManager
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<DeterministicAeadFactory>
    linkageType: ''
    returnType: void
    signature: void AesSivKeyManager()
  - 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: crypto::tink::AesSivKeyManager::get_version
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: crypto::tink::AesSivKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:74,1
    - Dst: version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:74,1
    - Dst: crypto::tink::AesSivKeyManager::get_version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:74,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:75,1
    - Dst: crypto::tink::AesSivKeyManager::ValidateKeySize
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:76,1
    - Dst: key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesSivKey
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: crypto::tink::AesSivKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - ValidateVersion
    - key_value
    - version
    - crypto::tink::AesSivKeyManager::ValidateKeySize
    - crypto::tink::util::Status::ok
    - crypto::tink::AesSivKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::AesSivKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivKeyManager::ValidateKeySize
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:81,1
    - Dst: key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesSivKeyFormat
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: crypto::tink::AesSivKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::AesSivKeyManager::ValidateKeySize
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::AesSivKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:87,1
    - Dst: crypto::tink::AesSivKeyManager::get_version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:87,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:88,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:88,1
    - Dst: key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesSivKeyFormat
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: crypto::tink::AesSivKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesSivKey::set_key_value
    - google::crypto::tink::AesSivKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesSivKeyManager::get_version
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesSivKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesSivKey> CreateKey(\n
      \     const google::crypto::tink::AesSivKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:96,1
    - Dst: version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:96,1
    - Dst: crypto::tink::AesSivKeyManager::get_version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:96,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:97,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:100,1
    - Dst: key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:100,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:102,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:103,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:104,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:108,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:111,1
    - Dst: crypto::tink::AesSivKeyManager::get_version
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:111,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:112,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::AesSivKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: crypto::tink::AesSivKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesSivKey::set_key_value
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - crypto::tink::util::StatusOr<std::string>::status
    - version
    - google::crypto::tink::AesSivKey::set_version
    - crypto::tink::util::StatusOr<std::string>::value
    - crypto::tink::util::Status::ok
    - crypto::tink::AesSivKeyManager::get_version
    - key_size
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesSivKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesSivKey> DeriveKey(\n
      \     const google::crypto::tink::AesSivKeyFormat& key_format,\n      InputStream*
      input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:119,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:121,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/daead/aes_siv_key_manager.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: crypto::tink::AesSivKeyManager::ValidateKeySize
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKeySize(uint32_t key_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:57,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:63,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:64,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:65,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::AesSivParameters::Create
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivParametersBuildTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:69,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:69,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesSivParameters::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:78,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:78,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:82,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:86,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:86,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:90,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:94,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:94,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:98,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:98,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesSivParameters::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivParametersTest, CreateWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:110,1
    - Dst: AesSivParameters::KeySizeInBytes
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:111,1
    - Dst: AesSivParameters::GetVariant
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:112,1
    - Dst: AesSivParameters::HasIdRequirement
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:112,1
    - Dst: IsTrue
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesSivParameters::HasIdRequirement
    - IsOk
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - AesSivParameters::GetVariant
    - EXPECT_THAT
    - IsTrue
    - AesSivParameters::KeySizeInBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:121,1
    - Dst: AesSivParameters::KeySizeInBytes
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:122,1
    - Dst: AesSivParameters::GetVariant
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:123,1
    - Dst: AesSivParameters::HasIdRequirement
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:123,1
    - Dst: IsTrue
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesSivParameters::HasIdRequirement
    - IsOk
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - AesSivParameters::GetVariant
    - EXPECT_THAT
    - IsTrue
    - AesSivParameters::KeySizeInBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:139,1
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:139,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:143,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:150,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:151,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivParametersVariantTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:158,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:164,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivParametersTest, KeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:171,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:175,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/aes_siv_parameters_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: crypto::tink::AesSivProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:75,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:76,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:76,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: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterAesSivProtoSerialization
    - IsOk
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:94,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:94,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:97,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:98,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:101,1
    - Dst: AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:104,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:110,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:110,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:110,1
    - Dst: dynamic_cast<const AesSivParameters*>
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:113,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:114,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:115,1
    - Dst: AesSivParameters*::GetVariant
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:116,1
    - Dst: AesSivParameters*::KeySizeInBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:116,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - AesSivParameters*::GetVariant
    - AesSivParameters*::KeySizeInBytes
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesSivKeyFormat::set_key_size
    - ASSERT_THAT
    - Eq
    - AesSivKeyFormat::set_version
    - AesSivKeyFormat::SerializeAsString
    - EXPECT_THAT
    - HasIdRequirement
    - NotNull
    - crypto::tink::RegisterAesSivProtoSerialization
    - GetParam
    - dynamic_cast<const AesSivParameters*>
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:120,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:120,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:123,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:124,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:130,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:135,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesSivKeyFormat::set_key_size
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:139,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:139,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:142,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:143,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:146,1
    - Dst: AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:150,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:155,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesSivKeyFormat::set_key_size
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - AesSivKeyFormat::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:159,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:159,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:162,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:163,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:166,1
    - Dst: AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:169,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:174,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:174,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesSivKeyFormat::set_key_size
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - AesSivKeyFormat::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseParametersWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:183,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:190,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:191,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:194,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:196,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:197,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:197,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:199,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:199,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:203,1
    - Dst: AesSivKeyFormat::ParseFromString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:204,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:204,1
    - Dst: IsTrue
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:206,1
    - Dst: AesSivKeyFormat::key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:206,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - AesSivKeyFormat::key_size
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - AesSivKeyFormat::ParseFromString
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - crypto::tink::RegisterAesSivProtoSerialization
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:211,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:211,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:213,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:215,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:216,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:217,1
    - Dst: google::crypto::tink::AesSivKey::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:218,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:218,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:224,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:227,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:230,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:230,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:231,1
    - Dst: GetParameters
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:231,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:232,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:236,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:238,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:240,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:240,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:244,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 245
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::AesSivKey::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesSivKey::set_version
    - crypto::tink::RegisterAesSivProtoSerialization
    - google::crypto::tink::AesSivKey::set_key_value
    - IsOk
    - google::crypto::tink::AesSivKey::SerializeAsString
    - crypto::tink::AesSivParameters::Create
    - EXPECT_THAT
    - GetIdRequirement
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - Eq
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:248,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:248,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:250,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:252,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:253,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:254,1
    - Dst: google::crypto::tink::AesSivKey::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:255,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:255,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:261,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:264,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:266,1
    - Dst: dynamic_cast<const AesSivKey*>
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:268,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:269,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:269,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:270,1
    - Dst: AesSivKey*::GetParameters
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:270,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 272
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesSivKey::set_key_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesSivKey::SerializeAsString
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesSivKey::set_version
    - EXPECT_THAT
    - NotNull
    - AesSivKey*::GetParameters
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    - dynamic_cast<const AesSivKey*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:275,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:275,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:278,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:278,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:285,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:288,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:290,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:290,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:294,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:294,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:296,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:298,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:299,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:300,1
    - Dst: google::crypto::tink::AesSivKey::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:301,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:301,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:308,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:313,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:313,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesSivKey::set_key_value
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesSivKey::SerializeAsString
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesSivKey::set_version
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:319,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:321,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:322,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:323,1
    - Dst: google::crypto::tink::AesSivKey::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:331,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:334,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:335,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:336,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:336,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 337
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesSivKey::set_key_value
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesSivKey::SerializeAsString
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesSivKey::set_version
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:341,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:341,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:341,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:345,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:345,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:347,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:348,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:351,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:352,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:358,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:358,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:359,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:359,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:360,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:363,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:365,1
    - Dst: NotNull
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:366,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:366,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:368,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:368,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:368,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:369,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:369,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:370,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:371,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:371,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:374,1
    - Dst: google::crypto::tink::AesSivKey::ParseFromString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:374,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:375,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:376,1
    - Dst: IsTrue
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:377,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:378,1
    - Dst: google::crypto::tink::AesSivKey::key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:378,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 379
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesSivKey::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesSivProtoSerialization
    - google::crypto::tink::AesSivKey::ParseFromString
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - crypto::tink::AesSivParameters::Create
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::AesSivKey::key_value
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesSivProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:382,1
    - Dst: crypto::tink::RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:382,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:382,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:384,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:386,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:386,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:388,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:389,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:391,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:391,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:392,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:393,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:393,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:396,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:398,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:398,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesSivKey::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesSivProtoSerialization
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesSivProtoSerializationTest, SerializeKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:34,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:35,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:39,1
    - Dst: absl::make_unique<AesSivKeyManager>
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:40,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:41,1
    - Dst: RegisterAesSivProtoSerialization
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:43,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:44,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:47,1
    - Dst: absl::make_unique<DeterministicAeadWrapper>
      Src: /src/tink/cc/daead/deterministic_aead_config.cc:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: crypto::tink::DeterministicAeadConfig::Register
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - auto::ok
    - IsFipsModeEnabled
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - RegisterAesSivProtoSerialization
    - absl::make_unique<AesSivKeyManager>
    - crypto::tink::util::OkStatus
    - absl::make_unique<DeterministicAeadWrapper>
    linkageType: ''
    returnType: util::Status
    signature: util::Status DeterministicAeadConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::DeterministicAeadConfig::DeterministicAeadConfig
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DeterministicAeadConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:52,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:52,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:53,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:55,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - AesSivKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:60,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:60,1
    - Dst: AesSivKey
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:60,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesSivKeyManager
    - AesSivKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:64,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:64,1
    - Dst: AesSivKeyFormat
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:64,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - AesSivKeyManager
    - EXPECT_THAT
    - AesSivKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:71,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesSivKeyFormat::set_key_size
    - EXPECT_THAT
    - AesSivKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:79,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:79,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:79,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:84,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:84,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidateKeyFormatWithWrongSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:91,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:94,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:94,1
    - Dst: SizeIs
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:94,1
    - Dst: AesSivKeyFormat::key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:95,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AesSivKeyFormat::key_size
    - IsOk
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:100,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:103,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:103,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, CreateKeyIsValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:109,1
    - Dst: AesSivKeyManager::CreateKey
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:111,1
    - Dst: AesSivKeyManager::CreateKey
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:114,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:114,1
    - Dst: Ne
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:114,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Ne
    - IsOk
    - AesSivKeyFormat::set_key_size
    - ASSERT_THAT
    - auto::value
    - AesSivKeyManager::CreateKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, MultipleCreateCallsCreateDifferentKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:118,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:121,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:122,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:126,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:126,1
    - Dst: SizeIs
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:127,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - SizeIs
    - IsOk
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - auto::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:131,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:135,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:136,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:140,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:141,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - auto::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, DeriveKeyFromLongSeed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:147,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:148,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:150,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:152,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:152,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:152,1
    - Dst: HasSubstr
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, DeriveKeyWithoutEnoughEntropy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:157,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:160,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:161,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:164,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:164,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:164,1
    - Dst: HasSubstr
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - AesSivKeyFormat::set_version
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKey::mutable_key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:170,1
    - Dst: std::string
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:170,1
    - Dst: AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:172,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesSivKey::set_version
    - std::string
    - AesSivKey::mutable_key_value
    - IsOk
    - AesSivKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:177,1
    - Dst: AesSivKey::mutable_key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:179,1
    - Dst: std::string
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:180,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:180,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:180,1
    - Dst: AesSivKey::mutable_key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:183,1
    - Dst: std::string
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:184,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:184,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesSivKey::set_version
    - std::string
    - AesSivKey::mutable_key_value
    - Not
    - IsOk
    - AesSivKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidateKeyStringLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKey::mutable_key_value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:190,1
    - Dst: std::string
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:190,1
    - Dst: AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:192,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:192,1
    - Dst: Not
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesSivKey::set_version
    - std::string
    - AesSivKey::mutable_key_value
    - Not
    - IsOk
    - AesSivKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, ValidateKeyVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:197,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:199,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:201,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:202,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:204,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:205,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:206,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:210,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:214,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:214,1
    - Dst: Eq
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:214,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/aes_siv_key_manager_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/daead/aes_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesSivKeyFormat::set_key_size
    - AesSivKeyManager
    - ASSERT_THAT
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::AesSivBoringSsl::New
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivKeyManagerTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/daead/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/daead/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddDeterministicAeadV0
      Src: /src/tink/cc/daead/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigDeterministicAeadV0
    functionSourceFile: /src/tink/cc/daead/config_v0.cc
    functionUses: 1
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddDeterministicAeadV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigDeterministicAeadV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:68,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: crypto::tink::DeterministicAeadConfigTest::SetUp
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:74,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:78,1
    - Dst: Registry::get_key_manager<DeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:78,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:79,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:82,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:83,1
    - Dst: Registry::get_key_manager<DeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:83,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::DeterministicAeadConfig::Register
    - IsOk
    - StatusIs
    - Registry::get_key_manager<DeterministicAead>
    - AesSivKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadConfigTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:93,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:96,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:96,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:99,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:100,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:101,1
    - Dst: absl::make_unique<PrimitiveSet<DeterministicAead>>
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:103,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:104,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:105,1
    - Dst: absl::make_unique<DummyDeterministicAead>
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:109,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:111,1
    - Dst: std::move
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:113,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:113,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:116,1
    - Dst: DummyDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:119,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:121,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:122,1
    - Dst: DummyDeterministicAead
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:126,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - auto::ok
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - crypto::tink::IsFipsModeEnabled
    - EXPECT_FALSE
    - auto::status
    - crypto::tink::DeterministicAeadConfig::Register
    - auto::AddPrimitive
    - IsOk
    - absl::make_unique<PrimitiveSet<DeterministicAead>>
    - EXPECT_THAT
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - Eq
    - absl::make_unique<DummyDeterministicAead>
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - DummyDeterministicAead
    - auto::set_primary
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadConfigTest, WrappersRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:130,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:134,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:134,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:138,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:138,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:142,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:143,1
    - Dst: auto::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:143,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - crypto::tink::DeterministicAeadConfig::Register
    - IsOk
    - StatusIs
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - DeterministicAeadKeyTemplates::Aes256Siv
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadConfigTest, RegisterFipsValidTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:149,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:150,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:155,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:157,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:162,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:162,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:162,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:166,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:171,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:171,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:174,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:174,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:179,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 185
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::DeterministicAeadConfig::Register
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - DeterministicAeadKeyTemplates::Aes256Siv
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadConfigTest, AesSivProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:189,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:193,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:194,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:194,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:197,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:199,1
    - Dst: google::crypto::tink::AesSivKey::SerializeAsString
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:199,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:202,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:205,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:207,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:207,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:207,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:211,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:214,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:215,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:215,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:216,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:218,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:221,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:224,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:224,1
    - Dst: StatusIs
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:226,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:226,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:229,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:231,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:234,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/deterministic_aead_config_test.cc:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 238
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesSivKey::set_key_value
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesSivKey::SerializeAsString
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - crypto::tink::AesSivParameters::Create
    - ASSERT_THAT
    - crypto::tink::AesSivKey::Create
    - crypto::tink::DeterministicAeadConfig::Register
    - google::crypto::tink::AesSivKey::set_version
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(DeterministicAeadConfigTest, AesSivProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:33,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:34,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:36,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:38,1
    - Dst: AesSivKeyFormat::SerializeToString
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:39,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: crypto::tink::NewAesSivKeyTemplate
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesSivKeyFormat::set_key_size
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - AesSivKeyFormat::SerializeToString
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate * NewAesSivKeyTemplate(int key_size_in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesSivKeyTemplate
      Src: /src/tink/cc/daead/deterministic_aead_key_templates.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '& DeterministicAeadKeyTemplates::Aes256Siv()'
    functionSourceFile: /src/tink/cc/daead/deterministic_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesSivKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & DeterministicAeadKeyTemplates::Aes256Siv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesSivParameters::Variant>
    signature: "util::StatusOr<AesSivParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - AesSivParameters::Variant
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    AesSivParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:98,1
    - Dst: AesSivKeyFormat::ParseFromString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:103,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:105,1
    - Dst: AesSivKeyFormat::version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:109,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:114,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:114,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:115,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:117,1
    - Dst: AesSivKeyFormat::key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - AesSivKeyFormat::key_size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::AesSivParameters::Create
    - AesSivKeyFormat::ParseFromString
    - util::StatusOr::ok
    - GetKeyTemplate
    - AesSivKeyFormat::version
    - crypto::tink::ToVariant
    linkageType: ''
    returnType: util::StatusOr<AesSivParameters>
    signature: "util::StatusOr<AesSivParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:123,1
    - Dst: GetVariant
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:123,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:124,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:124,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:127,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:127,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:129,1
    - Dst: AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesSivParameters
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - AesSivKeyFormat::set_key_size
    - GetVariant
    - util::StatusOr::ok
    - AesSivKeyFormat::SerializeAsString
    - KeySizeInBytes
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const AesSivParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:136,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:137,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:141,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:145,1
    - Dst: google::crypto::tink::AesSivKey::ParseFromString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:146,1
    - Dst: GetSecret
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:147,1
    - Dst: google::crypto::tink::AesSivKey::version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:150,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:151,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:156,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:156,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:157,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:157,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:160,1
    - Dst: google::crypto::tink::AesSivKey::key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:160,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:161,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:161,1
    - Dst: crypto::tink::AesSivKey::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:163,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:164,1
    - Dst: google::crypto::tink::AesSivKey::key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:164,1
    - Dst: IdRequirement
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:165,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesSivKey::Create
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - RestrictedData
    - crypto::tink::AesSivParameters::Create
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - GetOutputPrefixType
    - google::crypto::tink::AesSivKey::version
    - crypto::tink::ToVariant
    - google::crypto::tink::AesSivKey::ParseFromString
    - SerializedKeyProto
    - google::crypto::tink::AesSivKey::key_value
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<AesSivKey>
    signature: "util::StatusOr<AesSivKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyBytes
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:171,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:171,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:172,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:172,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:173,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:174,1
    - Dst: google::crypto::tink::AesSivKey::set_version
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:179,1
    - Dst: google::crypto::tink::AesSivKey::set_key_value
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:181,1
    - Dst: std::string
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:181,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:181,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:184,1
    - Dst: GetParameters
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:184,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:185,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:185,1
    - Dst: RestrictedData
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:188,1
    - Dst: google::crypto::tink::AesSivKey::SerializeAsString
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:188,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:189,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - AesSivKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 192
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 192
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - crypto::tink::GetPartialKeyAccess
    - std::string
    - util::StatusOr::status
    - GetKeyBytes
    - google::crypto::tink::AesSivKey::set_key_value
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToOutputPrefixType
    - GetParameters
    - RestrictedData
    - google::crypto::tink::AesSivKey::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - google::crypto::tink::AesSivKey::set_version
    - GetIdRequirement
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      AesSivKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivProtoParametersParserImpl::AesSivProtoParametersParserImpl
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: crypto::tink::AesSivProtoParametersParser
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesSivProtoParametersParserImpl::AesSivProtoParametersParserImpl
    linkageType: ''
    returnType: AesSivProtoParametersParserImpl
    signature: AesSivProtoParametersParserImpl * AesSivProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivProtoParametersSerializerImpl::AesSivProtoParametersSerializerImpl
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: crypto::tink::AesSivProtoParametersSerializer
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesSivProtoParametersSerializerImpl::AesSivProtoParametersSerializerImpl
    linkageType: ''
    returnType: AesSivProtoParametersSerializerImpl
    signature: AesSivProtoParametersSerializerImpl * AesSivProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivProtoKeyParserImpl::AesSivProtoKeyParserImpl
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: crypto::tink::AesSivProtoKeyParser
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesSivProtoKeyParserImpl::AesSivProtoKeyParserImpl
    linkageType: ''
    returnType: AesSivProtoKeyParserImpl
    signature: AesSivProtoKeyParserImpl * AesSivProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivProtoKeySerializerImpl::AesSivProtoKeySerializerImpl
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: crypto::tink::AesSivProtoKeySerializer
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesSivProtoKeySerializerImpl::AesSivProtoKeySerializerImpl
    linkageType: ''
    returnType: AesSivProtoKeySerializerImpl
    signature: AesSivProtoKeySerializerImpl * AesSivProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:220,1
    - Dst: crypto::tink::AesSivProtoParametersParser
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:221,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:222,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:224,1
    - Dst: crypto::tink::AesSivProtoParametersSerializer
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:225,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:226,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:228,1
    - Dst: crypto::tink::AesSivProtoKeyParser
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:229,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:230,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:232,1
    - Dst: crypto::tink::AesSivProtoKeySerializer
      Src: /src/tink/cc/daead/aes_siv_proto_serialization.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: crypto::tink::RegisterAesSivProtoSerialization
    functionSourceFile: /src/tink/cc/daead/aes_siv_proto_serialization.cc
    functionUses: 13
    functionsReached:
    - crypto::tink::AesSivProtoParametersParser
    - util::Status::ok
    - crypto::tink::AesSivProtoKeyParser
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesSivProtoParametersSerializer
    - crypto::tink::AesSivProtoKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterAesSivProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/daead/failing_daead.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: crypto::tink::AlwaysFailDeterministicAead::AlwaysFailDeterministicAead
    functionSourceFile: /src/tink/cc/daead/failing_daead.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailDeterministicAead(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/failing_daead.cc:43,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/failing_daead.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: crypto::tink::AlwaysFailDeterministicAead::EncryptDeterministically
    functionSourceFile: /src/tink/cc/daead/failing_daead.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EncryptDeterministically(\n      absl::string_view
      plaintext,\n      absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/failing_daead.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/daead/failing_daead.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: crypto::tink::AlwaysFailDeterministicAead::DecryptDeterministically
    functionSourceFile: /src/tink/cc/daead/failing_daead.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> DecryptDeterministically(\n      absl::string_view
      ciphertext,\n      absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailDeterministicAead>
      Src: /src/tink/cc/daead/failing_daead.cc:68,1
    - Dst: std::move
      Src: /src/tink/cc/daead/failing_daead.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: crypto::tink::CreateAlwaysFailingDeterministicAead
    functionSourceFile: /src/tink/cc/daead/failing_daead.cc
    functionUses: 6
    functionsReached:
    - absl::make_unique<AlwaysFailDeterministicAead>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<DeterministicAead>
    signature: "std::unique_ptr<DeterministicAead> CreateAlwaysFailingDeterministicAead(\n
      \   std::string message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/daead/internal/key_gen_config_v0.cc:30,1
    - Dst: absl::make_unique<AesSivKeyManager>
      Src: /src/tink/cc/daead/internal/key_gen_config_v0.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: crypto::tink::internal::AddDeterministicAeadKeyGenV0
    functionSourceFile: /src/tink/cc/daead/internal/key_gen_config_v0.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    - absl::make_unique<AesSivKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddDeterministicAeadKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:49,1
    - Dst: crypto::tink::internal::AddDeterministicAeadV0
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:49,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:49,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:51,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:54,1
    - Dst: Get
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/daead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - crypto::tink::internal::AddDeterministicAeadV0
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(DeterministicAeadV0Test, PrimitiveWrapper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:59,1
    - Dst: crypto::tink::internal::AddDeterministicAeadV0
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:59,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:61,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:65,1
    - Dst: crypto::tink::internal::AddDeterministicAeadKeyGenV0
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:65,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:71,1
    - Dst: Get
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:71,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/daead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - AesSivKeyManager
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - crypto::tink::internal::AddDeterministicAeadV0
    - EXPECT_THAT
    - crypto::tink::internal::AddDeterministicAeadKeyGenV0
    linkageType: ''
    returnType: void
    signature: void TEST(DeterministicAeadV0Test, KeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:77,1
    - Dst: crypto::tink::internal::AddDeterministicAeadKeyGenV0
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:79,1
    - Dst: crypto::tink::internal::AddDeterministicAeadV0
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:79,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:82,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:84,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:87,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:88,1
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:94,1
    - Dst: DecryptDeterministically
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:94,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/daead/internal/config_v0_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/daead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - EncryptDeterministically
    - GetPrimitive
    - IsOk
    - DecryptDeterministically
    - ASSERT_THAT
    - DeterministicAeadKeyTemplates::Aes256Siv
    - crypto::tink::internal::AddDeterministicAeadV0
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::internal::AddDeterministicAeadKeyGenV0
    linkageType: ''
    returnType: void
    signature: void TEST(DeterministicAeadV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/daead/internal/config_v0.cc:31,1
    - Dst: absl::make_unique<DeterministicAeadWrapper>
      Src: /src/tink/cc/daead/internal/config_v0.cc:32,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/daead/internal/config_v0.cc:33,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/daead/internal/config_v0.cc:37,1
    - Dst: absl::make_unique<AesSivKeyManager>
      Src: /src/tink/cc/daead/internal/config_v0.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: crypto::tink::internal::AddDeterministicAeadV0
    functionSourceFile: /src/tink/cc/daead/internal/config_v0.cc
    functionUses: 4
    functionsReached:
    - util::Status::ok
    - absl::make_unique<AesSivKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<DeterministicAeadWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddDeterministicAeadV0(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:48,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:49,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:49,1
    - Dst: Decrypt
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:51,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:51,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:52,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:52,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:54,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' aead_or_daead'
    - message
    - associated_data
    argTypes:
    - AeadOrDaead
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::EncryptThenDecrypt
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::value
    - crypto::tink::internal::ExtractStatus
    - StatusOr::status
    - Decrypt
    - crypto::tink::util::OkStatus
    - Encrypt
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status EncryptThenDecrypt(\n    const AeadOrDaead&
      aead_or_daead, absl::string_view message,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyAead>
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:64,1
    - Dst: crypto::tink::subtle::EncryptThenDecrypt
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EncryptThenDecrypt
    - IsOk
    - EXPECT_THAT
    - absl::make_unique<test::DummyAead>
    linkageType: ''
    returnType: void
    signature: void TEST(AeadOrDaead, testWithAeadPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<test::DummyDeterministicAead>
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:73,1
    - Dst: crypto::tink::subtle::EncryptThenDecrypt
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/daead/subtle/aead_or_daead_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EncryptThenDecrypt
    - absl::make_unique<test::DummyDeterministicAead>
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AeadOrDaead, testWithDeterministicAeadPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plaintext
    - associated_data
    - ' aead_primitive'
    argTypes:
    - absl::string_view
    - absl::string_view
    - std::unique_ptr<const Aead>
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: "operator()(\n      absl::string_view plaintext, absl::string_view
      associated_data,\n      const std::unique_ptr<const Aead>& aead_primitive)"
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.cc
    functionUses: 0
    functionsReached:
    - Encrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> operator()(\n      absl::string_view
      plaintext, absl::string_view associated_data,\n      const std::unique_ptr<const
      Aead>& aead_primitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plaintext
    - associated_data
    - ' aead_primitive'
    argTypes:
    - absl::string_view
    - absl::string_view
    - std::unique_ptr<const DeterministicAead>
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: "operator()(\n      absl::string_view plaintext, absl::string_view
      associated_data,\n      const std::unique_ptr<const DeterministicAead>& aead_primitive)"
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.cc
    functionUses: 0
    functionsReached:
    - EncryptDeterministically
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> operator()(\n      absl::string_view
      plaintext, absl::string_view associated_data,\n      const std::unique_ptr<const
      DeterministicAead>& aead_primitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ciphertext
    - associated_data
    - ' aead_primitive'
    argTypes:
    - absl::string_view
    - absl::string_view
    - std::unique_ptr<const Aead>
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: "operator()(\n      absl::string_view ciphertext, absl::string_view
      associated_data,\n      const std::unique_ptr<const Aead>& aead_primitive)"
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.cc
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> operator()(\n      absl::string_view
      ciphertext, absl::string_view associated_data,\n      const std::unique_ptr<const
      Aead>& aead_primitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecryptDeterministically
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ciphertext
    - associated_data
    - ' aead_primitive'
    argTypes:
    - absl::string_view
    - absl::string_view
    - std::unique_ptr<const DeterministicAead>
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: "operator()(\n      absl::string_view ciphertext, absl::string_view
      associated_data,\n      const std::unique_ptr<const DeterministicAead>& aead_primitive)"
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.cc
    functionUses: 0
    functionsReached:
    - DecryptDeterministically
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> operator()(\n      absl::string_view
      ciphertext, absl::string_view associated_data,\n      const std::unique_ptr<const
      DeterministicAead>& aead_primitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::visit
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:67,1
    - Dst: absl::bind_front
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:68,1
    - Dst: EncryptFunctor
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: crypto::tink::subtle::AeadOrDaead::Encrypt
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.cc
    functionUses: 0
    functionsReached:
    - absl::bind_front
    - EncryptFunctor
    - absl::visit
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> AeadOrDaead::Encrypt(\n
      \   absl::string_view plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::visit
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:74,1
    - Dst: absl::bind_front
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:75,1
    - Dst: DecryptFunctor
      Src: /src/tink/cc/daead/subtle/aead_or_daead.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: crypto::tink::subtle::AeadOrDaead::Decrypt
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.cc
    functionUses: 0
    functionsReached:
    - absl::bind_front
    - absl::visit
    - DecryptFunctor
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> AeadOrDaead::Decrypt(\n
      \   absl::string_view ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/daead/subtle/aead_or_daead.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead_primitive
    argTypes:
    - std::unique_ptr<Aead>
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: crypto::tink::subtle::AeadOrDaead::AeadOrDaead
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AeadOrDaead(std::unique_ptr<Aead> aead_primitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/daead/subtle/aead_or_daead.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deterministic_aead_primitive
    argTypes:
    - std::unique_ptr<DeterministicAead>
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: crypto::tink::subtle::AeadOrDaead::AeadOrDaead
    functionSourceFile: /src/tink/cc/daead/subtle/aead_or_daead.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AeadOrDaead(\n      std::unique_ptr<DeterministicAead> deterministic_aead_primitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:59,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:60,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:62,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:67,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:67,1
    - Dst: HkdfPrfKey
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:67,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:73,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:74,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:76,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - IsOk
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValid32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:81,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:82,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:84,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - IsOk
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValidSha512Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:89,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:90,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:92,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - IsOk
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValid33ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:97,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:98,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:99,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:101,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - IsOk
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValidKeyWithSalt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:106,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:108,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:108,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - StatusIs
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, InvalidKeySizes31Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:114,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:115,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:117,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:117,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - StatusIs
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, InvalidKeySha1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:123,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:124,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:126,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKey::set_version
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - StatusIs
    - HkdfPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, InvalidKeyVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:131,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:131,1
    - Dst: HkdfPrfKeyFormat
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:131,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:137,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:139,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValid32ByteKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:144,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:146,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValidSha512KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:151,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:153,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValid33ByteKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:158,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:159,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:161,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateValidKeyFormatWithSalt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:166,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:168,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:168,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, InvalidKeyFormatSha1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:174,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:176,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:176,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, ValidateInvalid31ByteKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:182,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:183,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:186,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:186,1
    - Dst: SizeIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:187,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:187,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:189,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:189,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:190,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - SizeIs
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:195,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:196,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:199,1
    - Dst: SizeIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - SizeIs
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, CreateKeyDifferetSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:204,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:205,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:208,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:208,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, CreateKeyDifferetHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:214,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:215,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:216,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:219,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:219,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, CreateKeyDifferetSalt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:224,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:225,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:226,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:228,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:231,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:233,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:236,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:238,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:241,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:244,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:246,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:248,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:248,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:249,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:253,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:253,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - StatusOr::value
    - std::unique_ptr::get
    - ASSERT_THAT
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, CreatePrf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:258,1
    - Dst: HkdfPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:259,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:260,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:263,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:267,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:268,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:268,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:269,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:270,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:270,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:270,1
    - Dst: HkdfPrfKeyFormat::params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - absl::make_unique<std::stringstream>
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - HkdfPrfKeyFormat::set_version
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - Eq
    - HkdfPrfKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:275,1
    - Dst: HkdfPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:276,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:277,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:282,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:282,1
    - Dst: Not
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - absl::make_unique<std::stringstream>
    - HkdfPrfKeyFormat::mutable_params
    - Not
    - IsOk
    - ASSERT_THAT
    - HkdfPrfKeyFormat::set_version
    - HkdfPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:288,1
    - Dst: HkdfPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:289,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:290,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:295,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:296,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:297,1
    - Dst: HasSubstr
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - absl::make_unique<std::stringstream>
    - HkdfPrfKeyFormat::mutable_params
    - ASSERT_THAT
    - HkdfPrfKeyFormat::set_version
    - HasSubstr
    - HkdfPrfKeyFormat::set_key_size
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:302,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:303,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:304,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:306,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:309,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:311,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:314,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:316,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:319,1
    - Dst: crypto::tink::subtle::CreatePrfFromStreamingPrf
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:320,1
    - Dst: std::move
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:321,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:321,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:324,1
    - Dst: auto::Compute
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:329,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:330,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:330,1
    - Dst: Eq
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:330,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 331
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - StatusOr::value
    - std::move
    - ASSERT_THAT
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - HkdfPrfKeyFormat::set_key_size
    - crypto::tink::subtle::CreatePrfFromStreamingPrf
    - auto::Compute
    - Eq
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfPrfKeyManagerTest, CreatePrfSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:57,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:58,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:60,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:65,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:65,1
    - Dst: HmacPrfKey
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:65,1
    - Dst: Not
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - HmacPrfKeyManager
    - EXPECT_THAT
    - HmacPrfKey
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:69,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:69,1
    - Dst: HmacPrfKeyFormat
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:69,1
    - Dst: Not
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKeyFormat
    - Not
    - IsOk
    - HmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:75,1
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:77,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyManager
    - EXPECT_THAT
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, ValidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:82,1
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:85,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:85,1
    - Dst: Not
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyManager
    - EXPECT_THAT
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, InvalidKeyFormatShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:90,1
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:91,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:94,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:95,1
    - Dst: HmacPrfKeyFormat::params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:96,1
    - Dst: SizeIs
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:96,1
    - Dst: HmacPrfKeyFormat::key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:98,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - EXPECT_EQ
    - IsOk
    - HmacPrfKeyFormat::params
    - HmacPrfKeyFormat::mutable_params
    - ASSERT_THAT
    - HmacPrfKeyManager
    - auto::value
    - EXPECT_THAT
    - HmacPrfKeyFormat::key_size
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKey::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:103,1
    - Dst: HmacPrfKey::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:105,1
    - Dst: HmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:108,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKey::set_key_value
    - HmacPrfKey::set_version
    - IsOk
    - HmacPrfKey::mutable_params
    - HmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKey::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:113,1
    - Dst: HmacPrfKey::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:115,1
    - Dst: HmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:118,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:118,1
    - Dst: Not
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKey::set_key_value
    - HmacPrfKey::set_version
    - Not
    - IsOk
    - HmacPrfKey::mutable_params
    - HmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, ValidateKeyShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:123,1
    - Dst: HmacPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:124,1
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:125,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:128,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:133,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:134,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:134,1
    - Dst: HmacPrfKeyFormat::params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - EXPECT_EQ
    - IsOk
    - StatusOr::value
    - HmacPrfKeyFormat::params
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyFormat::set_version
    - HmacPrfKeyManager
    - ASSERT_THAT
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:139,1
    - Dst: HmacPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:140,1
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:141,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:146,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:146,1
    - Dst: Not
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - Not
    - IsOk
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyFormat::set_version
    - ASSERT_THAT
    - HmacPrfKeyManager
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:152,1
    - Dst: HmacPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:153,1
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:154,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:159,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:160,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:161,1
    - Dst: HasSubstr
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyFormat::set_version
    - ASSERT_THAT
    - HmacPrfKeyManager
    - HasSubstr
    - StatusIs
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:166,1
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:167,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:168,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:170,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:172,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:174,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:175,1
    - Dst: HmacPrfKey::params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:175,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:176,1
    - Dst: HmacPrfKey::key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:177,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:181,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:181,1
    - Dst: StartsWith
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:181,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HmacBoringSsl::New
    - IsOk
    - HmacPrfKeyFormat::mutable_params
    - ASSERT_THAT
    - HmacPrfKeyManager
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::util::Enums::ProtoToSubtle
    - StartsWith
    - HmacPrfKey::key_value
    - HmacPrfKey::params
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:187,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:187,1
    - Dst: HashType_Name
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:187,1
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:189,1
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:190,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:191,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:194,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:194,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:195,1
    - Dst: SizeIs
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyManager
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - HashType_Name
    - IsOkAndHolds
    - HmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, GetPrimitiveAllHashTypes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKey::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:201,1
    - Dst: HmacPrfKey::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:202,1
    - Dst: HmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:203,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:206,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:206,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:207,1
    - Dst: HasSubstr
      Src: /src/tink/cc/prf/hmac_prf_key_manager_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKey::set_key_value
    - util::StatusOr::status
    - HmacPrfKey::set_version
    - HmacPrfKey::mutable_params
    - HmacPrfKeyManager
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfKeyManagerTest, GetPrimitiveUnknownHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/prf/prf_set_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: crypto::tink::DummyPrf::Compute
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view input,\n                                      size_t
      output_length) 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: crypto::tink::DummyPrfSet::GetPrimaryId
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetPrimaryId() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/prf/prf_set_test.cc:65,1
    - Dst: std::map<uint32_t, Prf*>::map<uint32_t, Prf*>
      Src: /src/tink/cc/prf/prf_set_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: '& GetPrfs() const override'
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached:
    - std::map<uint32_t, Prf*>::map<uint32_t, Prf*>
    - get
    linkageType: ''
    returnType: std::map<uint32_t, Prf*>
    signature: std::map<uint32_t, Prf*> & GetPrfs() 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: crypto::tink::BrokenDummyPrfSet::GetPrimaryId
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetPrimaryId() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map<uint32_t, Prf*>::map<uint32_t, Prf*>
      Src: /src/tink/cc/prf/prf_set_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: '& GetPrfs() const override'
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached:
    - std::map<uint32_t, Prf*>::map<uint32_t, Prf*>
    linkageType: ''
    returnType: std::map<uint32_t, Prf*>
    signature: std::map<uint32_t, Prf*> & GetPrfs() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DummyPrfSet::ComputePrimary
      Src: /src/tink/cc/prf/prf_set_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:86,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:86,1
    - Dst: BrokenDummyPrfSet::ComputePrimary
      Src: /src/tink/cc/prf/prf_set_test.cc:88,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/prf/prf_set_test.cc:89,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - BrokenDummyPrfSet::ComputePrimary
    - auto::ok
    - DummyPrfSet::ComputePrimary
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(PrfSetTest, ComputePrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::PrfConfig::Register
      Src: /src/tink/cc/prf/prf_set_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:95,1
    - Dst: crypto::tink::KeysetManager::New
      Src: /src/tink/cc/prf/prf_set_test.cc:97,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_set_test.cc:97,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:98,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_test.cc:99,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_test.cc:99,1
    - Dst: auto::Add
      Src: /src/tink/cc/prf/prf_set_test.cc:100,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_set_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:101,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:101,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:101,1
    - Dst: auto::Add
      Src: /src/tink/cc/prf/prf_set_test.cc:103,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_set_test.cc:103,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:104,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:104,1
    - Dst: auto::Add
      Src: /src/tink/cc/prf/prf_set_test.cc:106,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_set_test.cc:106,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:107,1
    - Dst: auto::GetKeysetHandle
      Src: /src/tink/cc/prf/prf_set_test.cc:109,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/prf/prf_set_test.cc:112,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/prf/prf_set_test.cc:112,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:113,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:113,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_test.cc:114,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:115,1
    - Dst: auto::GetPrimaryId
      Src: /src/tink/cc/prf/prf_set_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_set_test.cc:115,1
    - Dst: auto::GetPrfs
      Src: /src/tink/cc/prf/prf_set_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:117,1
    - Dst: UnorderedElementsAre
      Src: /src/tink/cc/prf/prf_set_test.cc:117,1
    - Dst: Pair
      Src: /src/tink/cc/prf/prf_set_test.cc:117,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_set_test.cc:117,1
    - Dst: Pair
      Src: /src/tink/cc/prf/prf_set_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_set_test.cc:118,1
    - Dst: Pair
      Src: /src/tink/cc/prf/prf_set_test.cc:119,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_set_test.cc:119,1
    - Dst: Pair
      Src: /src/tink/cc/prf/prf_set_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_set_test.cc:120,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/prf/prf_set_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/prf/prf_set_test.cc:132,1
    - Dst: second::Compute
      Src: /src/tink/cc/prf/prf_set_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:139,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_set_test.cc:139,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:144,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_test.cc:145,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/prf/prf_set_test.cc:146,1
    - Dst: second::Compute
      Src: /src/tink/cc/prf/prf_set_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:150,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/prf/prf_set_test.cc:151,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_test.cc:151,1
    - Dst: second::Compute
      Src: /src/tink/cc/prf/prf_set_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/prf/prf_set_test.cc:154,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:154,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_set_test.cc:154,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_set_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_test.cc:156,1
    - Dst: StrEq
      Src: /src/tink/cc/prf/prf_set_test.cc:156,1
    - Dst: std::vector::size
      Src: /src/tink/cc/prf/prf_set_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:160,1
    - Dst: SizeIs
      Src: /src/tink/cc/prf/prf_set_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:161,1
    - Dst: crypto::tink::test::ZTestUniformString
      Src: /src/tink/cc/prf/prf_set_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:162,1
    - Dst: crypto::tink::test::ZTestAutocorrelationUniformString
      Src: /src/tink/cc/prf/prf_set_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_test.cc:162,1
    - Dst: std::vector::size
      Src: /src/tink/cc/prf/prf_set_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_test.cc:164,1
    - Dst: crypto::tink::test::ZTestCrosscorrelationUniformStrings
      Src: /src/tink/cc/prf/prf_set_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_test.cc:166,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_set_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - PrfKeyTemplates::AesCmac
    - UnorderedElementsAre
    - auto::ok
    - std::move
    - auto::GetPrimaryId
    - absl::StrCat
    - ASSERT_TRUE
    - crypto::tink::ConfigGlobalRegistry
    - auto::GetPrimitive
    - crypto::tink::test::ZTestCrosscorrelationUniformStrings
    - StrEq
    - auto::status
    - auto::GetPrfs
    - SizeIs
    - IsOk
    - std::vector::size
    - auto::GetKeysetHandle
    - EXPECT_THAT
    - Pair
    - SCOPED_TRACE
    - crypto::tink::test::ZTestAutocorrelationUniformString
    - crypto::tink::test::ZTestUniformString
    - crypto::tink::PrfConfig::Register
    - std::vector::push_back
    - auto::Add
    - PrfKeyTemplates::HmacSha512
    - Eq
    - PrfKeyTemplates::HmacSha256
    - PrfKeyTemplates::HkdfSha256
    - second::Compute
    - crypto::tink::KeysetManager::New
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(PrfSetWrapperTest, TestPrimitivesEndToEnd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:51,1
    - Dst: version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:51,1
    - Dst: crypto::tink::HmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:52,1
    - Dst: key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:54,1
    - Dst: crypto::tink::HmacPrfKeyManager::ValidateParams
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:57,1
    - Dst: params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - HmacPrfKey
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: crypto::tink::HmacPrfKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::HmacPrfKeyManager::get_version
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - key_value
    - params
    - version
    - crypto::tink::HmacPrfKeyManager::ValidateParams
    linkageType: ''
    returnType: util::Status
    signature: util::Status HmacPrfKeyManager::ValidateKey(const HmacPrfKey& key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:62,1
    - Dst: version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:62,1
    - Dst: crypto::tink::HmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:62,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:63,1
    - Dst: key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:64,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:65,1
    - Dst: crypto::tink::HmacPrfKeyManager::ValidateParams
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:68,1
    - Dst: params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - HmacPrfKeyFormat
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: crypto::tink::HmacPrfKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::HmacPrfKeyManager::get_version
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - params
    - version
    - crypto::tink::HmacPrfKeyManager::ValidateParams
    - key_size
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HmacPrfKeyManager::ValidateKeyFormat(\n    const HmacPrfKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacPrfKey::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:74,1
    - Dst: crypto::tink::HmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:74,1
    - Dst: HmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:75,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:75,1
    - Dst: key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:75,1
    - Dst: HmacPrfKey::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:76,1
    - Dst: params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - HmacPrfKeyFormat
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: crypto::tink::HmacPrfKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKey::set_key_value
    - crypto::tink::HmacPrfKeyManager::get_version
    - HmacPrfKey::set_version
    - HmacPrfKey::mutable_params
    - params
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<HmacPrfKey>
    signature: "crypto::tink::util::StatusOr<HmacPrfKey> HmacPrfKeyManager::CreateKey(\n
      \   const HmacPrfKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacPrfKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:83,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:84,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:87,1
    - Dst: key_size
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:87,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:88,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:89,1
    - Dst: HmacPrfKey::set_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:93,1
    - Dst: crypto::tink::HmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:93,1
    - Dst: HmacPrfKey::mutable_params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:94,1
    - Dst: params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:94,1
    - Dst: HmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:95,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' hmac_prf_key_format'
    - input_stream
    argTypes:
    - HmacPrfKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: crypto::tink::HmacPrfKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.cc
    functionUses: 0
    functionsReached:
    - HmacPrfKey::set_key_value
    - crypto::tink::HmacPrfKeyManager::get_version
    - HmacPrfKey::set_version
    - HmacPrfKey::mutable_params
    - crypto::tink::util::StatusOr<std::string>::status
    - params
    - crypto::tink::util::StatusOr<std::string>::value
    - crypto::tink::HmacPrfKeyManager::ValidateKeyFormat
    - crypto::tink::util::Status::ok
    - key_size
    - ReadBytesFromStream
    linkageType: ''
    returnType: StatusOr<HmacPrfKey>
    signature: "StatusOr<HmacPrfKey> HmacPrfKeyManager::DeriveKey(\n    const HmacPrfKeyFormat&
      hmac_prf_key_format,\n    InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set<HashType>::set<HashType>
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:101,1
    - Dst: std::set*::find
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:104,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:104,1
    - Dst: hash
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:104,1
    - Dst: std::set*::end
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:105,1
    - Dst: ToStatusF
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:106,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:108,1
    - Dst: hash
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:108,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HmacPrfParams
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: crypto::tink::HmacPrfKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.cc
    functionUses: 2
    functionsReached:
    - std::set*::find
    - std::set<HashType>::set<HashType>
    - std::set*::end
    - ToStatusF
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::util::Enums::HashName
    - crypto::tink::util::OkStatus
    - hash
    linkageType: ''
    returnType: Status
    signature: Status HmacPrfKeyManager::ValidateParams(const HmacPrfParams& params)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::map<subtle::HashType, uint64_t>::HashType, uint64_t>
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:116,1
    - Dst: std::map*::find
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:122,1
    - Dst: std::map*::end
      Src: /src/tink/cc/prf/hmac_prf_key_manager.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - subtle::HashType
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: crypto::tink::HmacPrfKeyManager::MaxOutputLength
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.cc
    functionUses: 0
    functionsReached:
    - std::map*::find
    - std::map*::end
    - std::map<subtle::HashType, uint64_t>::HashType, uint64_t>
    linkageType: ''
    returnType: absl::optional<uint64_t>
    signature: "absl::optional<uint64_t> HmacPrfKeyManager::MaxOutputLength(\n    subtle::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:42,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:42,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:43,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:44,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:44,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:45,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - EXPECT_THAT
    - PrfKeyTemplates::HkdfSha256
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfSha256HkdfTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:49,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:49,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - PrfKeyTemplates::HkdfSha256
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfSha256HkdfTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:54,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:54,1
    - Dst: Ref
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:55,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - PrfKeyTemplates::HkdfSha256
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfSha256HkdfTest, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:62,1
    - Dst: HkdfPrfKeyFormat::ParseFromString
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:62,1
    - Dst: value
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:63,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - EXPECT_TRUE
    - PrfKeyTemplates::HkdfSha256
    - IsOk
    - EXPECT_THAT
    - value
    - HkdfPrfKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfSha256HkdfTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:67,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:67,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:69,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:69,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:70,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:72,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:73,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:73,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:75,1
    - Dst: google::crypto::tink::HmacPrfKeyFormat::ParseFromString
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:75,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:76,1
    - Dst: auto::ValidateKeyFormat
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:76,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:77,1
    - Dst: google::crypto::tink::HmacPrfKeyFormat::ParseFromString
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:77,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:78,1
    - Dst: auto::ValidateKeyFormat
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - auto::ValidateKeyFormat
    - PrfKeyTemplates::HmacSha256
    - IsOk
    - absl::make_unique<HmacPrfKeyManager>
    - auto::get_key_type
    - EXPECT_THAT
    - google::crypto::tink::HmacPrfKeyFormat::ParseFromString
    - ASSERT_TRUE
    - PrfKeyTemplates::HmacSha512
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:82,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:84,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - PrfKeyTemplates::HmacSha512
    - EXPECT_THAT
    - PrfKeyTemplates::HmacSha256
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:89,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:89,1
    - Dst: Ref
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:90,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:91,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:91,1
    - Dst: Ref
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:92,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - PrfKeyTemplates::HmacSha512
    - EXPECT_THAT
    - PrfKeyTemplates::HmacSha256
    linkageType: ''
    returnType: void
    signature: void TEST(HmacPrfTest, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:96,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:96,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:97,1
    - Dst: absl::make_unique<AesCmacPrfKeyManager>
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:99,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:99,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:100,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:102,1
    - Dst: google::crypto::tink::AesCmacPrfKeyFormat::ParseFromString
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:102,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:103,1
    - Dst: auto::ValidateKeyFormat
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - PrfKeyTemplates::AesCmac
    - auto::ValidateKeyFormat
    - IsOk
    - auto::get_key_type
    - google::crypto::tink::AesCmacPrfKeyFormat::ParseFromString
    - EXPECT_THAT
    - ASSERT_TRUE
    - Eq
    - absl::make_unique<AesCmacPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(CmacPrfTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:107,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:107,1
    - Dst: Eq
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - PrfKeyTemplates::AesCmac
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(CmacPrfTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:112,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:112,1
    - Dst: Ref
      Src: /src/tink/cc/prf/prf_key_templates_test.cc:112,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_key_templates_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/prf_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - PrfKeyTemplates::AesCmac
    linkageType: ''
    returnType: void
    signature: void TEST(CmacPrfTest, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/prf/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/prf/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddPrfKeyGenV0
      Src: /src/tink/cc/prf/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigPrfV0
    functionSourceFile: /src/tink/cc/prf/key_gen_config_v0.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - crypto::tink::internal::AddPrfKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigPrfV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key_id
    - prf
    - monitoring_client
    argTypes:
    - uint32_t
    - Prf*
    - MonitoringClient*
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: crypto::tink::MonitoredPrf::MonitoredPrf
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MonitoredPrf(uint32_t key_id, const Prf* prf,\n                        MonitoringClient*
      monitoring_client)"
  - 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: ~MonitoredPrf() override
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MonitoredPrf() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MonitoredPrf
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: crypto::tink::MonitoredPrf::MonitoredPrf
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MonitoredPrf(MonitoredPrf&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - MonitoredPrf
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '& operator=(MonitoredPrf&& other)'
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MonitoredPrf
    signature: MonitoredPrf & operator=(MonitoredPrf&& other)
  - 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: crypto::tink::MonitoredPrf::MonitoredPrf
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MonitoredPrf(const MonitoredPrf&)
  - 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: '& operator=(const MonitoredPrf&)'
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MonitoredPrf
    signature: MonitoredPrf & operator=(const MonitoredPrf&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::MonitoredPrf::Compute
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:64,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:65,1
    - Dst: LogFailure
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:67,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:69,1
    - Dst: Log
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:73,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:73,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: crypto::tink::MonitoredPrf::Compute
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 1
    functionsReached:
    - LogFailure
    - util::StatusOr::status
    - absl::string_view::size
    - crypto::tink::MonitoredPrf::Compute
    - util::StatusOr::ok
    - Log
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view input,\n                                      size_t
      output_length) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:89,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:90,1
    - Dst: reserve
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:91,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:91,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:92,1
    - Dst: std::make_unique<MonitoredPrf>
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:93,1
    - Dst: get_key_id
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:94,1
    - Dst: get_primitive
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:94,1
    - Dst: get
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:95,1
    - Dst: insert
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:97,1
    - Dst: get_key_id
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:97,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:97,1
    - Dst: push_back
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - prf_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<Prf>>
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: crypto::tink::PrfSetPrimitiveWrapper::PrfSetPrimitiveWrapper
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_raw_primitives
    - get_primitive
    - push_back
    - reserve
    - std::move
    - insert
    - std::unique_ptr::get
    - get_key_id
    - std::make_unique<MonitoredPrf>
    - get
    linkageType: ''
    returnType: void
    signature: "void PrfSetPrimitiveWrapper(\n      std::unique_ptr<PrimitiveSet<Prf>>
      prf_set,\n      std::unique_ptr<MonitoringClient> monitoring_client = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/prf/prf_set_wrapper.cc: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: crypto::tink::PrfSetPrimitiveWrapper::GetPrimaryId
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_primary
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetPrimaryId() const 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: '& GetPrfs() const override'
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<uint32_t, Prf*>
    signature: std::map<uint32_t, Prf*> & GetPrfs() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~PrfSetPrimitiveWrapper() override
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrfSetPrimitiveWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:118,1
    - Dst: PrimitiveSet<Prf>*::get_primary
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:121,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:122,1
    - Dst: PrimitiveSet<Prf>*::get_all
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:125,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:126,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:127,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - prf_set
    argTypes:
    - PrimitiveSet<Prf>*
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 2
    functionsReached:
    - get_output_prefix_type
    - PrimitiveSet<Prf>*::get_primary
    - crypto::tink::internal::ExtractStatus
    - PrimitiveSet<Prf>*::get_all
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<Prf>* prf_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:138,1
    - Dst: std::unique_ptr<PrimitiveSet<Prf>>::get
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:138,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:139,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:142,1
    - Dst: absl::make_unique<PrfSetPrimitiveWrapper>
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:145,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:145,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:148,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:149,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:150,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:153,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:154,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:155,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:156,1
    - Dst: absl::make_unique<PrfSetPrimitiveWrapper>
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:158,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:159,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - prf_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<Prf>>
    constantsTouched: []
    func_position:
      end: 160
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 160
    functionName: crypto::tink::PrfSetWrapper::Wrap
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - absl::make_unique<PrfSetPrimitiveWrapper>
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    - std::unique_ptr<PrimitiveSet<Prf>>::get
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PrfSet>>
    signature: "util::StatusOr<std::unique_ptr<PrfSet>> PrfSetWrapper::Wrap(\n    std::unique_ptr<PrimitiveSet<Prf>>
      prf_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:62,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:63,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: crypto::tink::MakeKey
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: KeysetInfo::KeyInfo MakeKey(uint32_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' output'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: crypto::tink::FakePrf::FakePrf
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePrf(const std::string& output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: crypto::tink::FakePrf::Compute
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view input,\n                                      size_t
      output_length) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<Prf>>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc: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: crypto::tink::PrfSetWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Prf>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrf>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:86,1
    - Dst: AddPrimitive
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:87,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' output'
    - ' key_info'
    argTypes:
    - std::string
    - KeysetInfo::KeyInfo
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: crypto::tink::PrfSetWrapperTest::AddPrf
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - AddPrimitive
    - absl::make_unique<FakePrf>
    linkageType: ''
    returnType: util::StatusOr<PrimitiveSet<Prf>::Entry<Prf>*>
    signature: "util::StatusOr<PrimitiveSet<Prf>::Entry<Prf>*> AddPrf(\n      const
      std::string& output, const KeysetInfo::KeyInfo& key_info)"
  - 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: '& PrfSet()'
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::unique_ptr<PrimitiveSet<Prf>>
    signature: std::unique_ptr<PrimitiveSet<Prf>> & PrfSet()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:98,1
    - Dst: PrfSetWrapper::Wrap
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:98,1
    - Dst: Not
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - PrfSetWrapper::Wrap
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperTest, NullPrfSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:103,1
    - Dst: PrfSetWrapper::Wrap
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:103,1
    - Dst: absl::make_unique<PrimitiveSet<Prf>>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:103,1
    - Dst: Not
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Prf>>
    - IsOk
    - Not
    - PrfSetWrapper::Wrap
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperTest, EmptyPrfSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:108,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:109,1
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:112,1
    - Dst: PrfSet
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:114,1
    - Dst: PrfSetWrapper::Wrap
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:114,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:114,1
    - Dst: PrfSet
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:114,1
    - Dst: Not
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AddPrf
    - IsOk
    - PrfSet
    - std::move
    - Not
    - PrfSetWrapper::Wrap
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - crypto::tink::MakeKey
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperTest, NonRawKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:118,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:120,1
    - Dst: PrfSet
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:120,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:120,1
    - Dst: PrfSetWrapper::Wrap
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:122,1
    - Dst: PrfSet
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:124,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:125,1
    - Dst: StrEq
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - crypto::tink::AddPrf
    - IsOk
    - PrfSet
    - std::move
    - PrfSetWrapper::Wrap
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::MakeKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperTest, WrapOkay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:130,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:132,1
    - Dst: PrfSet
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:134,1
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:134,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:136,1
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:136,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:136,1
    - Dst: PrfSetWrapper::Wrap
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:138,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:138,1
    - Dst: PrfSet
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:140,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:141,1
    - Dst: auto::ComputePrimary
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:141,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:142,1
    - Dst: StrEq
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:142,1
    - Dst: auto::GetPrfs
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:144,1
    - Dst: UnorderedElementsAre
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:144,1
    - Dst: Key
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:144,1
    - Dst: Key
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:145,1
    - Dst: find
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:145,1
    - Dst: Compute
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:145,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:146,1
    - Dst: StrEq
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:147,1
    - Dst: find
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:147,1
    - Dst: Compute
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:147,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:148,1
    - Dst: StrEq
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - auto::GetPrfs
    - UnorderedElementsAre
    - crypto::tink::AddPrf
    - IsOk
    - PrfSet
    - std::move
    - PrfSetWrapper::Wrap
    - ASSERT_THAT
    - auto::ComputePrimary
    - auto::value
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::MakeKey
    - Compute
    - Key
    - find
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperTest, WrapTwo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:156,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:159,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:161,1
    - Dst: auto::get
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:162,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:165,1
    - Dst: New
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:165,1
    - Dst: Return
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:167,1
    - Dst: ByMove
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:167,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:167,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:170,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:174,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:175,1
    - Dst: Not
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:176,1
    - Dst: testing::IsNull
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: crypto::tink::PrfSetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<NiceMock<MockMonitoringClient>>
    - ByMove
    - testing::IsNull
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: ~PrfSetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~PrfSetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: crypto::tink::AlwaysFailingPrf::AlwaysFailingPrf
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AlwaysFailingPrf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: crypto::tink::AlwaysFailingPrf::Compute
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view input,\n                                      size_t
      output_length) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<Prf>>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:198,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:200,1
    - Dst: absl::make_unique<AlwaysFailingPrf>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:200,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:203,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:203,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:204,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:204,1
    - Dst: absl::make_unique<FakePrf>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:205,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:208,1
    - Dst: PrfSetWrapper
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:210,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:212,1
    - Dst: LogFailure
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:213,1
    - Dst: ComputePrimary
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:213,1
    - Dst: Not
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Prf>>
    - LogFailure
    - auto::AddPrimitive
    - IsOk
    - PrfSetWrapper
    - std::move
    - auto::set_primary
    - EXPECT_CALL
    - ASSERT_THAT
    - ComputePrimary
    - absl::make_unique<AlwaysFailingPrf>
    - Not
    - EXPECT_THAT
    - crypto::tink::MakeKey
    - absl::make_unique<FakePrf>
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperWithMonitoringTest, WrapKeysetWithMonitoringFailure)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<Prf>>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:220,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:223,1
    - Dst: absl::make_unique<FakePrf>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:223,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:226,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:226,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:227,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:227,1
    - Dst: absl::make_unique<FakePrf>
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:228,1
    - Dst: crypto::tink::MakeKey
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:231,1
    - Dst: PrfSetWrapper
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:234,1
    - Dst: std::move
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:235,1
    - Dst: GetPrfs
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:236,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:239,1
    - Dst: Log
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:239,1
    - Dst: std::string::size
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:240,1
    - Dst: Compute
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:241,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:244,1
    - Dst: Log
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:245,1
    - Dst: GetPrimaryId
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:245,1
    - Dst: std::string::size
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:246,1
    - Dst: ComputePrimary
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_set_wrapper_test.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_set_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Prf>>
    - auto::AddPrimitive
    - IsOk
    - PrfSetWrapper
    - std::move
    - auto::set_primary
    - EXPECT_CALL
    - ASSERT_THAT
    - std::string::size
    - ComputePrimary
    - GetPrfs
    - Log
    - EXPECT_THAT
    - crypto::tink::MakeKey
    - absl::make_unique<FakePrf>
    - GetPrimaryId
    - Compute
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfSetWrapperWithMonitoringTest, WrapKeysetWithMonitoringVerifySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrfs
      Src: /src/tink/cc/prf/prf_set.cc:32,1
    - Dst: auto::find
      Src: /src/tink/cc/prf/prf_set.cc:33,1
    - Dst: GetPrimaryId
      Src: /src/tink/cc/prf/prf_set.cc:33,1
    - Dst: auto::end
      Src: /src/tink/cc/prf/prf_set.cc:34,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/prf_set.cc:35,1
    - Dst: auto::second::Compute
      Src: /src/tink/cc/prf/prf_set.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: crypto::tink::PrfSet::ComputePrimary
    functionSourceFile: /src/tink/cc/prf/prf_set.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - auto::find
    - auto::second::Compute
    - GetPrfs
    - auto::end
    - GetPrimaryId
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> PrfSet::ComputePrimary(absl::string_view
      input,\n                                                   size_t output_length)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:58,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:59,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:59,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:60,1
    - Dst: key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:60,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::HkdfPrfKey
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: crypto::tink::HkdfPrfKeyManager::StreamingPrfFactory::Create
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - key_value
    - params
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<StreamingPrf>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<StreamingPrf>> Create(\n
      \       const google::crypto::tink::HkdfPrfKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:67,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:68,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:68,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:69,1
    - Dst: key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:69,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:70,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:71,1
    - Dst: crypto::tink::subtle::CreatePrfFromStreamingPrf
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:73,1
    - Dst: std::move
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:73,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::HkdfPrfKey
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: crypto::tink::HkdfPrfKeyManager::PrfSetFactory::Create
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - auto::ok
    - key_value
    - std::move
    - params
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::subtle::CreatePrfFromStreamingPrf
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Prf>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Prf>> Create(\n        const
      google::crypto::tink::HkdfPrfKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<StreamingPrfFactory>
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:78,1
    - Dst: absl::make_unique<PrfSetFactory>
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: crypto::tink::HkdfPrfKeyManager::HkdfPrfKeyManager
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrfSetFactory>
    - absl::make_unique<StreamingPrfFactory>
    linkageType: ''
    returnType: void
    signature: void HkdfPrfKeyManager()
  - 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: crypto::tink::HkdfPrfKeyManager::get_version
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: crypto::tink::HkdfPrfKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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_key_type() const override'
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:93,1
    - Dst: version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:93,1
    - Dst: crypto::tink::HkdfPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:93,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:94,1
    - Dst: crypto::tink::HkdfPrfKeyManager::ValidateKeySize
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:95,1
    - Dst: key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:95,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:96,1
    - Dst: crypto::tink::HkdfPrfKeyManager::ValidateParams
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:97,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::HkdfPrfKey
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: crypto::tink::HkdfPrfKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::HkdfPrfKeyManager::ValidateKeySize
    - ValidateVersion
    - key_value
    - params
    - crypto::tink::HkdfPrfKeyManager::ValidateParams
    - version
    - crypto::tink::util::Status::ok
    - crypto::tink::HkdfPrfKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::HkdfPrfKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:103,1
    - Dst: version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:103,1
    - Dst: crypto::tink::HkdfPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:103,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:104,1
    - Dst: crypto::tink::HkdfPrfKeyManager::ValidateKeySize
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:105,1
    - Dst: key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:105,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:106,1
    - Dst: crypto::tink::HkdfPrfKeyManager::ValidateParams
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:107,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::HkdfPrfKeyFormat
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: crypto::tink::HkdfPrfKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::HkdfPrfKeyManager::ValidateKeySize
    - ValidateVersion
    - params
    - crypto::tink::HkdfPrfKeyManager::ValidateParams
    - version
    - crypto::tink::util::Status::ok
    - key_size
    - crypto::tink::HkdfPrfKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::HkdfPrfKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:113,1
    - Dst: crypto::tink::HkdfPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:113,1
    - Dst: google::crypto::tink::HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:114,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:114,1
    - Dst: google::crypto::tink::HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:115,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:116,1
    - Dst: key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::HkdfPrfKeyFormat
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: crypto::tink::HkdfPrfKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - key_size
    - params
    - google::crypto::tink::HkdfPrfKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HkdfPrfKey::set_version
    - google::crypto::tink::HkdfPrfKey::mutable_params
    - crypto::tink::HkdfPrfKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::HkdfPrfKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::HkdfPrfKey> CreateKey(\n
      \     const google::crypto::tink::HkdfPrfKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HkdfPrfKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:123,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:124,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:128,1
    - Dst: key_size
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:128,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:129,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:130,1
    - Dst: google::crypto::tink::HkdfPrfKey::set_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:133,1
    - Dst: crypto::tink::HkdfPrfKeyManager::get_version
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:133,1
    - Dst: google::crypto::tink::HkdfPrfKey::mutable_params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:134,1
    - Dst: params
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:134,1
    - Dst: google::crypto::tink::HkdfPrfKey::set_key_value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:135,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::HkdfPrfKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: crypto::tink::HkdfPrfKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::HkdfPrfKey::mutable_params
    - auto::ok
    - params
    - crypto::tink::util::StatusOr<std::string>::status
    - crypto::tink::HkdfPrfKeyManager::ValidateKeyFormat
    - google::crypto::tink::HkdfPrfKey::set_key_value
    - crypto::tink::HkdfPrfKeyManager::get_version
    - crypto::tink::util::StatusOr<std::string>::value
    - google::crypto::tink::HkdfPrfKey::set_version
    - key_size
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::HkdfPrfKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::HkdfPrfKey> DeriveKey(\n
      \     const google::crypto::tink::HkdfPrfKeyFormat& key_format,\n      InputStream*
      input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:142,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: crypto::tink::HkdfPrfKeyManager::ValidateKeySize
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKeySize(int key_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:152,1
    - Dst: hash
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:153,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:154,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/hkdf_prf_key_manager.h:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - google::crypto::tink::HkdfPrfParams
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: crypto::tink::HkdfPrfKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/prf/hkdf_prf_key_manager.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - hash
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateParams(\n      const google::crypto::tink::HkdfPrfParams&
      params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::CreatePrfFromStatefulMacFactory
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:59,1
    - Dst: absl::make_unique<subtle::StatefulCmacBoringSslFactory>
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:60,1
    - Dst: crypto::tink::AesCmacPrfKeyManager::MaxOutputLength
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:61,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:62,1
    - Dst: key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesCmacPrfKey
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::AesCmacPrfKeyManager::PrfSetFactory::Create
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<subtle::StatefulCmacBoringSslFactory>
    - crypto::tink::subtle::CreatePrfFromStatefulMacFactory
    - key_value
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::AesCmacPrfKeyManager::MaxOutputLength
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Prf>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Prf>> Create(\n        const
      google::crypto::tink::AesCmacPrfKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AesCmacPrfKeyManager::PrfSetFactory>
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: crypto::tink::AesCmacPrfKeyManager::AesCmacPrfKeyManager
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AesCmacPrfKeyManager::PrfSetFactory>
    linkageType: ''
    returnType: void
    signature: void AesCmacPrfKeyManager()
  - 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: crypto::tink::AesCmacPrfKeyManager::get_version
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::AesCmacPrfKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: crypto::tink::AesCmacPrfKeyManager::MaxOutputLength
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t MaxOutputLength()
  - 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_key_type() const override'
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:83,1
    - Dst: version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:83,1
    - Dst: crypto::tink::AesCmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:83,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:84,1
    - Dst: key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:86,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesCmacPrfKey
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: crypto::tink::AesCmacPrfKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacPrfKeyManager::get_version
    - ValidateVersion
    - key_value
    - crypto::tink::internal::ExtractStatus
    - version
    - crypto::tink::util::Status::ok
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::AesCmacPrfKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:97,1
    - Dst: version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:97,1
    - Dst: crypto::tink::AesCmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:97,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:98,1
    - Dst: key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:100,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesCmacPrfKeyFormat
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: crypto::tink::AesCmacPrfKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacPrfKeyManager::get_version
    - ValidateVersion
    - crypto::tink::internal::ExtractStatus
    - version
    - crypto::tink::util::Status::ok
    - crypto::tink::util::OkStatus
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::AesCmacPrfKeyFormat&
      key_format)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesCmacPrfKey::set_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:111,1
    - Dst: crypto::tink::AesCmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:111,1
    - Dst: google::crypto::tink::AesCmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:112,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:112,1
    - Dst: key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesCmacPrfKeyFormat
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: crypto::tink::AesCmacPrfKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCmacPrfKey::set_version
    - crypto::tink::AesCmacPrfKeyManager::get_version
    - google::crypto::tink::AesCmacPrfKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesCmacPrfKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesCmacPrfKey>
      CreateKey(\n      const google::crypto::tink::AesCmacPrfKeyFormat& key_format)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacPrfKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:119,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:120,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:124,1
    - Dst: key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:124,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:125,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:126,1
    - Dst: google::crypto::tink::AesCmacPrfKey::set_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:129,1
    - Dst: crypto::tink::AesCmacPrfKeyManager::get_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:129,1
    - Dst: google::crypto::tink::AesCmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:130,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager.h:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::AesCmacPrfKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: crypto::tink::AesCmacPrfKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::ok
    - google::crypto::tink::AesCmacPrfKey::set_version
    - crypto::tink::AesCmacPrfKeyManager::get_version
    - crypto::tink::AesCmacPrfKeyManager::ValidateKeyFormat
    - google::crypto::tink::AesCmacPrfKey::set_key_value
    - crypto::tink::util::StatusOr<std::string>::status
    - crypto::tink::util::StatusOr<std::string>::value
    - key_size
    - ReadBytesFromStream
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesCmacPrfKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesCmacPrfKey>
      DeriveKey(\n      const google::crypto::tink::AesCmacPrfKeyFormat& key_format,\n
      \     InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:50,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: crypto::tink::GetInputStreamForString
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - absl::make_unique<util::IstreamInputStream>
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: std::unique_ptr<InputStream> GetInputStreamForString(const std::string&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacPrfKeyFormat::set_key_size
    linkageType: ''
    returnType: AesCmacPrfKeyFormat
    signature: AesCmacPrfKeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:61,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:62,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:64,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:69,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:69,1
    - Dst: AesCmacPrfKey
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:69,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    - AesCmacPrfKey
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:73,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:73,1
    - Dst: AesCmacPrfKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:73,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacPrfKeyFormat
    - IsOk
    - Not
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:78,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:78,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateSimpleKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:83,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:86,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:86,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:86,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:89,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:89,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:89,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:92,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:92,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:92,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:95,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:95,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:95,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:98,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:98,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:98,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:101,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:101,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:101,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:104,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:104,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:107,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:107,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacPrfKeyFormat::set_key_size
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateKeyFormatKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:112,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:112,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:114,1
    - Dst: AesCmacPrfKey::version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:114,1
    - Dst: Eq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:115,1
    - Dst: AesCmacPrfKey::key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:115,1
    - Dst: SizeIs
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:115,1
    - Dst: AesCmacPrfKeyFormat::key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AesCmacPrfKeyFormat::key_size
    - AesCmacPrfKey::version
    - IsOk
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    - Eq
    - AesCmacPrfKey::key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:119,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:121,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:125,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:126,1
    - Dst: AesCmacPrfKey::set_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:128,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:128,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - AesCmacPrfKey::set_version
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateKeyInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:132,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:133,1
    - Dst: AesCmacPrfKey::set_key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:135,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:135,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - EXPECT_THAT
    - AesCmacPrfKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, ValidateKeyShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:139,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:140,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:142,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:144,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:146,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:147,1
    - Dst: AesCmacPrfKey::key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:148,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:152,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:152,1
    - Dst: StrEq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:152,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - IsOk
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - AesCmacPrfKey::key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetInputStreamForString
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:157,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:159,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:159,1
    - Dst: auto::get
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:160,1
    - Dst: auto::value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:162,1
    - Dst: AesCmacPrfKey::version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:162,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:163,1
    - Dst: AesCmacPrfKey::key_value
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:163,1
    - Dst: Eq
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacPrfKey::version
    - IsOk
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - crypto::tink::GetInputStreamForString
    - AesCmacPrfKeyManager
    - auto::get
    - auto::value
    - EXPECT_THAT
    - Eq
    - AesCmacPrfKey::key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, DeriveKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetInputStreamForString
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:168,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:170,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:170,1
    - Dst: auto::get
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:171,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - crypto::tink::GetInputStreamForString
    - AesCmacPrfKeyManager
    - auto::get
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetInputStreamForString
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:176,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:177,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:178,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:179,1
    - Dst: auto::get
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:180,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::GetInputStreamForString
    - crypto::tink::ValidKeyFormat
    - auto::get
    - AesCmacPrfKeyManager
    - auto::set_key_size
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, DeriveKeyInvalidFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:184,1
    - Dst: auto::set_version
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:185,1
    - Dst: crypto::tink::GetInputStreamForString
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:187,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:189,1
    - Dst: auto::get
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:190,1
    - Dst: Not
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::GetInputStreamForString
    - crypto::tink::ValidKeyFormat
    - AesCmacPrfKeyManager
    - auto::get
    - EXPECT_THAT
    - auto::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacPrfKeyManagerTest, DeriveKeyInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/prf/config_v0_test.cc:52,1
    - Dst: GetParam
      Src: /src/tink/cc/prf/config_v0_test.cc:52,1
    - Dst: crypto::tink::KeyGenConfigPrfV0
      Src: /src/tink/cc/prf/config_v0_test.cc:52,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/config_v0_test.cc:53,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/config_v0_test.cc:53,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/prf/config_v0_test.cc:56,1
    - Dst: crypto::tink::ConfigPrfV0
      Src: /src/tink/cc/prf/config_v0_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/config_v0_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/config_v0_test.cc:57,1
    - Dst: ComputePrimary
      Src: /src/tink/cc/prf/config_v0_test.cc:61,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/config_v0_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/config_v0_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/config_v0_test.cc:63,1
    - Dst: length
      Src: /src/tink/cc/prf/config_v0_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/prf/config_v0_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/prf/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::ConfigPrfV0
    - crypto::tink::KeyGenConfigPrfV0
    - IsOk
    - ComputePrimary
    - length
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(PrfV0KeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:63,1
    - Dst: params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:63,1
    - Dst: MaxOutputLength
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:64,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:65,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:66,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:68,1
    - Dst: HashType_Name
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:69,1
    - Dst: params
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:69,1
    - Dst: crypto::tink::subtle::CreatePrfFromStatefulMacFactory
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:71,1
    - Dst: absl::make_unique<subtle::StatefulHmacBoringSslFactory>
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:72,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:74,1
    - Dst: key_value
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::HmacPrfKey
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: crypto::tink::HmacPrfKeyManager::PrfFactory::Create
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::optional::has_value
    - crypto::tink::subtle::CreatePrfFromStatefulMacFactory
    - absl::make_unique<subtle::StatefulHmacBoringSslFactory>
    - crypto::tink::internal::ExtractStatus
    - key_value
    - params
    - crypto::tink::util::SecretDataFromStringView
    - absl::StrCat
    - crypto::tink::util::Enums::ProtoToSubtle
    - HashType_Name
    - MaxOutputLength
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Prf>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Prf>> Create(\n        const
      google::crypto::tink::HmacPrfKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HmacPrfKeyManager::PrfFactory>
      Src: /src/tink/cc/prf/hmac_prf_key_manager.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: crypto::tink::HmacPrfKeyManager::HmacPrfKeyManager
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<HmacPrfKeyManager::PrfFactory>
    linkageType: ''
    returnType: void
    signature: void HmacPrfKeyManager()
  - 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: crypto::tink::HmacPrfKeyManager::get_version
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: crypto::tink::HmacPrfKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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_key_type() const override'
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: crypto::tink::HmacPrfKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/prf/hmac_prf_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPrf
      Src: /src/tink/cc/prf/failing_prfset_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/failing_prfset_test.cc:39,1
    - Dst: std::unique_ptr::Compute
      Src: /src/tink/cc/prf/failing_prfset_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/failing_prfset_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/failing_prfset_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Compute
    - EXPECT_THAT
    - crypto::tink::CreateAlwaysFailingPrf
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPrf, ComputePrimaryFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPrf
      Src: /src/tink/cc/prf/failing_prfset_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/failing_prfset_test.cc:47,1
    - Dst: std::unique_ptr::Compute
      Src: /src/tink/cc/prf/failing_prfset_test.cc:48,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/failing_prfset_test.cc:49,1
    - Dst: HasSubstr
      Src: /src/tink/cc/prf/failing_prfset_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/failing_prfset_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Compute
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateAlwaysFailingPrf
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPrf, ComputePrimaryFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPrfSet
      Src: /src/tink/cc/prf/failing_prfset_test.cc:53,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/failing_prfset_test.cc:55,1
    - Dst: std::unique_ptr::ComputePrimary
      Src: /src/tink/cc/prf/failing_prfset_test.cc:55,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/failing_prfset_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/failing_prfset_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ComputePrimary
    - crypto::tink::CreateAlwaysFailingPrfSet
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPrfSet, ComputePrimaryFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPrfSet
      Src: /src/tink/cc/prf/failing_prfset_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/failing_prfset_test.cc:64,1
    - Dst: std::unique_ptr::ComputePrimary
      Src: /src/tink/cc/prf/failing_prfset_test.cc:65,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/failing_prfset_test.cc:66,1
    - Dst: HasSubstr
      Src: /src/tink/cc/prf/failing_prfset_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/failing_prfset_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ComputePrimary
    - crypto::tink::CreateAlwaysFailingPrfSet
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPrfSet, ComputePrimaryFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPrfSet
      Src: /src/tink/cc/prf/failing_prfset_test.cc:72,1
    - Dst: std::unique_ptr::GetPrfs
      Src: /src/tink/cc/prf/failing_prfset_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/failing_prfset_test.cc:76,1
    - Dst: second::Compute
      Src: /src/tink/cc/prf/failing_prfset_test.cc:77,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/failing_prfset_test.cc:78,1
    - Dst: HasSubstr
      Src: /src/tink/cc/prf/failing_prfset_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/prf/failing_prfset_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingPrfSet
    - second::Compute
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - std::unique_ptr::GetPrfs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPrfSet, GetPrfsReturnsFailingPrfs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/prf/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/prf/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddPrfV0
      Src: /src/tink/cc/prf/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigPrfV0
    functionSourceFile: /src/tink/cc/prf/config_v0.cc
    functionUses: 1
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddPrfV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigPrfV0()
  - 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: ~Prf()
    functionSourceFile: /src/tink/cc/prf/prf_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Prf()
  - 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: ~PrfSet()
    functionSourceFile: /src/tink/cc/prf/prf_set.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PrfSet()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/prf/prf_config_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::PrfConfigTest::SetUp
    functionSourceFile: /src/tink/cc/prf/prf_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/prf/prf_config_test.cc:48,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/prf/prf_config_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:52,1
    - Dst: Registry::get_key_manager<Prf>
      Src: /src/tink/cc/prf/prf_config_test.cc:52,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/prf_config_test.cc:52,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/prf_config_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:55,1
    - Dst: crypto::tink::PrfConfig::Register
      Src: /src/tink/cc/prf/prf_config_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_config_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:56,1
    - Dst: Registry::get_key_manager<Prf>
      Src: /src/tink/cc/prf/prf_config_test.cc:56,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/prf_config_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_config_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::PrfConfig::Register
    - IsOk
    - HmacPrfKeyManager
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - Registry::get_key_manager<Prf>
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfConfigTest, RegisterWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/prf/prf_config_test.cc:63,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/prf/prf_config_test.cc:63,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/prf/prf_config_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:67,1
    - Dst: crypto::tink::PrfConfig::Register
      Src: /src/tink/cc/prf/prf_config_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_config_test.cc:67,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/prf/prf_config_test.cc:70,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/prf/prf_config_test.cc:70,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/prf/prf_config_test.cc:71,1
    - Dst: PrfKeyTemplates::AesCmac
      Src: /src/tink/cc/prf/prf_config_test.cc:71,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/prf/prf_config_test.cc:75,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/prf/prf_config_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:76,1
    - Dst: auto::status
      Src: /src/tink/cc/prf/prf_config_test.cc:76,1
    - Dst: StatusIs
      Src: /src/tink/cc/prf/prf_config_test.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - PrfKeyTemplates::AesCmac
    - crypto::tink::PrfConfig::Register
    - PrfKeyTemplates::HkdfSha256
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/prf/prf_config_test.cc:82,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/prf/prf_config_test.cc:82,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/prf/prf_config_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:86,1
    - Dst: crypto::tink::PrfConfig::Register
      Src: /src/tink/cc/prf/prf_config_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_config_test.cc:86,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/prf/prf_config_test.cc:89,1
    - Dst: PrfKeyTemplates::HmacSha256
      Src: /src/tink/cc/prf/prf_config_test.cc:89,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/prf/prf_config_test.cc:90,1
    - Dst: PrfKeyTemplates::HmacSha512
      Src: /src/tink/cc/prf/prf_config_test.cc:90,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/prf/prf_config_test.cc:94,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/prf/prf_config_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/prf_config_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/prf_config_test.cc:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/prf/prf_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::PrfConfig::Register
    - PrfKeyTemplates::HmacSha256
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - PrfKeyTemplates::HmacSha512
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfConfigTest, RegisterFipsValidTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/prf/failing_prfset.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: crypto::tink::AlwaysFailPrf::AlwaysFailPrf
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailPrf(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/failing_prfset.cc:44,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/prf/failing_prfset.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: crypto::tink::AlwaysFailPrf::Compute
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view /*input*/,\n
      \                                     size_t /*output_length*/) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/prf/failing_prfset.cc:58,1
    - Dst: absl::make_unique<AlwaysFailPrf>
      Src: /src/tink/cc/prf/failing_prfset.cc:59,1
    - Dst: absl::make_unique<AlwaysFailPrf>
      Src: /src/tink/cc/prf/failing_prfset.cc:60,1
    - Dst: absl::make_unique<AlwaysFailPrf>
      Src: /src/tink/cc/prf/failing_prfset.cc:61,1
    - Dst: get
      Src: /src/tink/cc/prf/failing_prfset.cc:62,1
    - Dst: get
      Src: /src/tink/cc/prf/failing_prfset.cc:63,1
    - Dst: get
      Src: /src/tink/cc/prf/failing_prfset.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: crypto::tink::AlwaysFailPrfSet::AlwaysFailPrfSet
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailPrf>
    - get
    linkageType: ''
    returnType: void
    signature: void AlwaysFailPrfSet(std::string message)
  - 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: crypto::tink::AlwaysFailPrfSet::GetPrimaryId
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GetPrimaryId() const 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: '& GetPrfs() const override'
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::map<uint32_t, Prf*>
    signature: std::map<uint32_t, Prf*> & GetPrfs() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/prf/failing_prfset.cc:74,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/prf/failing_prfset.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: crypto::tink::AlwaysFailPrfSet::ComputePrimary
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputePrimary(absl::string_view /*input*/,\n
      \                                            size_t /*output_length*/) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailPrf>
      Src: /src/tink/cc/prf/failing_prfset.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/prf/failing_prfset.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: crypto::tink::CreateAlwaysFailingPrf
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 2
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailPrf>
    linkageType: ''
    returnType: std::unique_ptr<Prf>
    signature: std::unique_ptr<Prf> CreateAlwaysFailingPrf(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailPrfSet>
      Src: /src/tink/cc/prf/failing_prfset.cc:95,1
    - Dst: std::move
      Src: /src/tink/cc/prf/failing_prfset.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::CreateAlwaysFailingPrfSet
    functionSourceFile: /src/tink/cc/prf/failing_prfset.cc
    functionUses: 3
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailPrfSet>
    linkageType: ''
    returnType: std::unique_ptr<PrfSet>
    signature: std::unique_ptr<PrfSet> CreateAlwaysFailingPrfSet(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<google::crypto::tink::KeyTemplate>
      Src: /src/tink/cc/prf/prf_key_templates.cc:39,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/prf/prf_key_templates.cc:40,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/prf/prf_key_templates.cc:41,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/prf/prf_key_templates.cc:41,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/prf/prf_key_templates.cc:42,1
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/prf_key_templates.cc:45,1
    - Dst: HkdfPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/prf_key_templates.cc:46,1
    - Dst: auto::get_version
      Src: /src/tink/cc/prf/prf_key_templates.cc:46,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/prf_key_templates.cc:47,1
    - Dst: HkdfPrfKeyFormat::SerializeToString
      Src: /src/tink/cc/prf/prf_key_templates.cc:48,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/prf/prf_key_templates.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: crypto::tink::NewHkdfSha256Template
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyFormat::SerializeToString
    - HkdfPrfKeyFormat::mutable_params
    - auto::set_output_prefix_type
    - auto::get_key_type
    - auto::mutable_value
    - HkdfPrfKeyFormat::set_version
    - auto::set_type_url
    - HkdfPrfKeyFormat::set_key_size
    - auto::get_version
    - absl::make_unique<HkdfPrfKeyManager>
    - absl::make_unique<google::crypto::tink::KeyTemplate>
    linkageType: ''
    returnType: std::unique_ptr<google::crypto::tink::KeyTemplate>
    signature: std::unique_ptr<google::crypto::tink::KeyTemplate> NewHkdfSha256Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<google::crypto::tink::KeyTemplate>
      Src: /src/tink/cc/prf/prf_key_templates.cc:54,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/prf/prf_key_templates.cc:55,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/prf/prf_key_templates.cc:56,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/prf/prf_key_templates.cc:56,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/prf/prf_key_templates.cc:57,1
    - Dst: HmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/prf_key_templates.cc:60,1
    - Dst: HmacPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/prf_key_templates.cc:61,1
    - Dst: auto::get_version
      Src: /src/tink/cc/prf/prf_key_templates.cc:61,1
    - Dst: HmacPrfKeyFormat::mutable_params
      Src: /src/tink/cc/prf/prf_key_templates.cc:62,1
    - Dst: HmacPrfKeyFormat::SerializeToString
      Src: /src/tink/cc/prf/prf_key_templates.cc:63,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/prf/prf_key_templates.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - hash_type
    - key_size
    argTypes:
    - google::crypto::tink::HashType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: crypto::tink::NewHmacTemplate
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - auto::set_output_prefix_type
    - absl::make_unique<HmacPrfKeyManager>
    - auto::get_key_type
    - HmacPrfKeyFormat::mutable_params
    - HmacPrfKeyFormat::set_version
    - HmacPrfKeyFormat::SerializeToString
    - auto::mutable_value
    - auto::set_type_url
    - auto::get_version
    - HmacPrfKeyFormat::set_key_size
    - absl::make_unique<google::crypto::tink::KeyTemplate>
    linkageType: ''
    returnType: std::unique_ptr<google::crypto::tink::KeyTemplate>
    signature: "std::unique_ptr<google::crypto::tink::KeyTemplate> NewHmacTemplate(\n
      \   google::crypto::tink::HashType hash_type, uint32_t key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<google::crypto::tink::KeyTemplate>
      Src: /src/tink/cc/prf/prf_key_templates.cc:68,1
    - Dst: absl::make_unique<AesCmacPrfKeyManager>
      Src: /src/tink/cc/prf/prf_key_templates.cc:69,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/prf/prf_key_templates.cc:70,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/prf/prf_key_templates.cc:70,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/prf/prf_key_templates.cc:71,1
    - Dst: AesCmacPrfKeyFormat::set_version
      Src: /src/tink/cc/prf/prf_key_templates.cc:74,1
    - Dst: auto::get_version
      Src: /src/tink/cc/prf/prf_key_templates.cc:74,1
    - Dst: AesCmacPrfKeyFormat::set_key_size
      Src: /src/tink/cc/prf/prf_key_templates.cc:75,1
    - Dst: AesCmacPrfKeyFormat::SerializeToString
      Src: /src/tink/cc/prf/prf_key_templates.cc:76,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/prf/prf_key_templates.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: crypto::tink::NewAesCmacTemplate
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesCmacPrfKeyFormat::SerializeToString
    - auto::set_output_prefix_type
    - auto::get_key_type
    - auto::mutable_value
    - AesCmacPrfKeyFormat::set_key_size
    - absl::make_unique<google::crypto::tink::KeyTemplate>
    - auto::set_type_url
    - auto::get_version
    - AesCmacPrfKeyFormat::set_version
    - absl::make_unique<AesCmacPrfKeyManager>
    linkageType: ''
    returnType: std::unique_ptr<google::crypto::tink::KeyTemplate>
    signature: std::unique_ptr<google::crypto::tink::KeyTemplate> NewAesCmacTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHkdfSha256Template
      Src: /src/tink/cc/prf/prf_key_templates.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: '& PrfKeyTemplates::HkdfSha256()'
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHkdfSha256Template
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & PrfKeyTemplates::HkdfSha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHmacTemplate
      Src: /src/tink/cc/prf/prf_key_templates.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: '& PrfKeyTemplates::HmacSha256()'
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHmacTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & PrfKeyTemplates::HmacSha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHmacTemplate
      Src: /src/tink/cc/prf/prf_key_templates.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: '& PrfKeyTemplates::HmacSha512()'
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHmacTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & PrfKeyTemplates::HmacSha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCmacTemplate
      Src: /src/tink/cc/prf/prf_key_templates.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: '& PrfKeyTemplates::AesCmac()'
    functionSourceFile: /src/tink/cc/prf/prf_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCmacTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & PrfKeyTemplates::AesCmac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/prf/prf_config.cc:33,1
    - Dst: absl::make_unique<PrfSetWrapper>
      Src: /src/tink/cc/prf/prf_config.cc:33,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_config.cc:34,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/prf/prf_config.cc:36,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/prf/prf_config.cc:37,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_config.cc:38,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/prf/prf_config.cc:41,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/prf_config.cc:41,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/prf/prf_config.cc:43,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/prf/prf_config.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_config.cc:45,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/prf/prf_config.cc:47,1
    - Dst: absl::make_unique<AesCmacPrfKeyManager>
      Src: /src/tink/cc/prf/prf_config.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/prf/prf_config.cc:49,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/prf/prf_config.cc:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: crypto::tink::PrfConfig::Register
    functionSourceFile: /src/tink/cc/prf/prf_config.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - auto::ok
    - IsFipsModeEnabled
    - absl::make_unique<HmacPrfKeyManager>
    - absl::make_unique<PrfSetWrapper>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::util::OkStatus
    - absl::make_unique<HkdfPrfKeyManager>
    - absl::make_unique<AesCmacPrfKeyManager>
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status PrfConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:32,1
    - Dst: absl::make_unique<AesCmacPrfKeyManager>
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:33,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:34,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:37,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:39,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:42,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/prf/internal/key_gen_config_v0.cc:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: crypto::tink::internal::AddPrfKeyGenV0
    functionSourceFile: /src/tink/cc/prf/internal/key_gen_config_v0.cc
    functionUses: 1
    functionsReached:
    - util::Status::ok
    - absl::make_unique<HmacPrfKeyManager>
    - absl::make_unique<HkdfPrfKeyManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    - absl::make_unique<AesCmacPrfKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddPrfKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:55,1
    - Dst: crypto::tink::internal::AddPrfV0
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:55,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:60,1
    - Dst: Get
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/prf/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddPrfV0
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PrfV0Test, PrimitiveWrapper)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:65,1
    - Dst: crypto::tink::internal::AddPrfV0
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:65,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:71,1
    - Dst: crypto::tink::internal::AddPrfKeyGenV0
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:71,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:77,1
    - Dst: Get
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:77,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:78,1
    - Dst: Get
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:78,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:79,1
    - Dst: Get
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:79,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/prf/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - crypto::tink::internal::AddPrfV0
    - crypto::tink::internal::AddPrfKeyGenV0
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - ASSERT_THAT
    - Get
    - HmacPrfKeyManager
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - AesCmacPrfKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(PrfV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:92,1
    - Dst: crypto::tink::internal::AddPrfKeyGenV0
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:94,1
    - Dst: crypto::tink::internal::AddPrfV0
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:94,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:97,1
    - Dst: GetParam
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:98,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:102,1
    - Dst: ComputePrimary
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:108,1
    - Dst: length
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:108,1
    - Dst: Eq
      Src: /src/tink/cc/prf/internal/config_v0_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/prf/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::internal::AddPrfV0
    - crypto::tink::internal::AddPrfKeyGenV0
    - GetPrimitive
    - IsOk
    - ComputePrimary
    - length
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(PrfV0KeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/prf/internal/config_v0.cc:33,1
    - Dst: absl::make_unique<PrfSetWrapper>
      Src: /src/tink/cc/prf/internal/config_v0.cc:34,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/internal/config_v0.cc:35,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/prf/internal/config_v0.cc:39,1
    - Dst: absl::make_unique<AesCmacPrfKeyManager>
      Src: /src/tink/cc/prf/internal/config_v0.cc:40,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/internal/config_v0.cc:41,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/prf/internal/config_v0.cc:44,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/prf/internal/config_v0.cc:45,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/prf/internal/config_v0.cc:46,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/prf/internal/config_v0.cc:49,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/prf/internal/config_v0.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: crypto::tink::internal::AddPrfV0
    functionSourceFile: /src/tink/cc/prf/internal/config_v0.cc
    functionUses: 4
    functionsReached:
    - util::Status::ok
    - absl::make_unique<HmacPrfKeyManager>
    - absl::make_unique<PrfSetWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<HkdfPrfKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    - absl::make_unique<AesCmacPrfKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddPrfV0(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTinkKeyTypeEntry
      Src: /src/tink/cc/config/config_util_test.cc:29,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/config_util_test.cc:31,1
    - Dst: google::crypto::tink::KeyTypeEntry::primitive_name
      Src: /src/tink/cc/config/config_util_test.cc:31,1
    - Dst: Eq
      Src: /src/tink/cc/config/config_util_test.cc:31,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/config_util_test.cc:32,1
    - Dst: google::crypto::tink::KeyTypeEntry::type_url
      Src: /src/tink/cc/config/config_util_test.cc:32,1
    - Dst: Eq
      Src: /src/tink/cc/config/config_util_test.cc:33,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/config_util_test.cc:34,1
    - Dst: google::crypto::tink::KeyTypeEntry::key_manager_version
      Src: /src/tink/cc/config/config_util_test.cc:34,1
    - Dst: Eq
      Src: /src/tink/cc/config/config_util_test.cc:34,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/config_util_test.cc:35,1
    - Dst: google::crypto::tink::KeyTypeEntry::new_key_allowed
      Src: /src/tink/cc/config/config_util_test.cc:35,1
    - Dst: Eq
      Src: /src/tink/cc/config/config_util_test.cc:35,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/config_util_test.cc:36,1
    - Dst: google::crypto::tink::KeyTypeEntry::catalogue_name
      Src: /src/tink/cc/config/config_util_test.cc:36,1
    - Dst: Eq
      Src: /src/tink/cc/config/config_util_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/config_util_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::KeyTypeEntry::primitive_name
    - crypto::tink::CreateTinkKeyTypeEntry
    - google::crypto::tink::KeyTypeEntry::new_key_allowed
    - google::crypto::tink::KeyTypeEntry::key_manager_version
    - EXPECT_THAT
    - google::crypto::tink::KeyTypeEntry::catalogue_name
    - Eq
    - google::crypto::tink::KeyTypeEntry::type_url
    linkageType: ''
    returnType: void
    signature: void TEST(CreateKeyTypeEntry, Simple)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::UnSetFipsRestricted
      Src: /src/tink/cc/config/fips_140_2_test.cc: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: crypto::tink::Fips1402Test::TearDown
    functionSourceFile: /src/tink/cc/config/fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::UnSetFipsRestricted
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/fips_140_2_test.cc:63,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/fips_140_2_test.cc:64,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/config/fips_140_2_test.cc:68,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/config/fips_140_2_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:71,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:72,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:73,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:74,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:75,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:76,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ConfigFips140_2
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(Fips1402Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/fips_140_2_test.cc:80,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/fips_140_2_test.cc:81,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/config/fips_140_2_test.cc:85,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/config/fips_140_2_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:88,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:88,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:89,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:89,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:90,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:90,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:91,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:91,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:92,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:92,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:93,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:93,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:95,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:95,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ConfigFips140_2
    - AesCtrHmacAeadKeyManager
    - AesGcmKeyManager
    - IsOk
    - EcdsaVerifyKeyManager
    - RsaSsaPkcs1VerifyKeyManager
    - ASSERT_THAT
    - Get
    - HmacPrfKeyManager
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - GTEST_SKIP
    - RsaSsaPssVerifyKeyManager
    - crypto::tink::internal::IsFipsEnabledInSsl
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(Fips1402Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/fips_140_2_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/fips_140_2_test.cc:101,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/config/fips_140_2_test.cc:104,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/config/fips_140_2_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::ConfigFips140_2
    - EXPECT_DEATH_IF_SUPPORTED
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(Fips1402Test, FailsInNonFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/fips_140_2_test.cc:109,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/fips_140_2_test.cc:110,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/config/fips_140_2_test.cc:114,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/config/fips_140_2_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:116,1
    - Dst: Get
      Src: /src/tink/cc/config/fips_140_2_test.cc:116,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/config/fips_140_2_test.cc:116,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/fips_140_2_test.cc:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ConfigFips140_2
    - IsOk
    - ASSERT_THAT
    - Get
    - AesCmacKeyManager
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(Fips1402Test, NonFipsTypeNotPresent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/fips_140_2_test.cc:121,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/fips_140_2_test.cc:122,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/config/fips_140_2_test.cc:126,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/config/fips_140_2_test.cc:126,1
    - Dst: crypto::tink::KeyGenConfigFips140_2
      Src: /src/tink/cc/config/fips_140_2_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:128,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/config/fips_140_2_test.cc:131,1
    - Dst: crypto::tink::ConfigFips140_2
      Src: /src/tink/cc/config/fips_140_2_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:132,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/config/fips_140_2_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/config/fips_140_2_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/fips_140_2_test.cc:138,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/config/fips_140_2_test.cc:138,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/config/fips_140_2_test.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - crypto::tink::ConfigFips140_2
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - GTEST_SKIP
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::KeyGenConfigFips140_2
    linkageType: ''
    returnType: void
    signature: void TEST_F(Fips1402Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/config/global_registry.cc:30,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/global_registry.cc:31,1
    - Dst: crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/config/global_registry.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: crypto::tink::ConfigGlobalRegistry
    functionSourceFile: /src/tink/cc/config/global_registry.cc
    functionUses: 18
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigGlobalRegistry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/config/global_registry.cc:39,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/global_registry.cc:40,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
      Src: /src/tink/cc/config/global_registry.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: crypto::tink::KeyGenConfigGlobalRegistry
    functionSourceFile: /src/tink/cc/config/global_registry.cc
    functionUses: 20
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
    - CHECK_OK
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigGlobalRegistry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_config_test.cc:43,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/config/tink_config_test.cc:43,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/config/tink_config_test.cc:43,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/tink_config_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_config_test.cc:46,1
    - Dst: crypto::tink::TinkConfig::Register
      Src: /src/tink/cc/config/tink_config_test.cc:46,1
    - Dst: IsOk
      Src: /src/tink/cc/config/tink_config_test.cc:46,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_config_test.cc:47,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/config/tink_config_test.cc:47,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/config/tink_config_test.cc:47,1
    - Dst: IsOk
      Src: /src/tink/cc/config/tink_config_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/tink_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::TinkConfig::Register
    - AesGcmKeyManager
    - IsOk
    - EXPECT_THAT
    - Registry::get_key_manager<Aead>
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(TinkConfigTest, RegisterWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/tink_fips_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:55,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/config/tink_fips_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/config/tink_fips_test.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/tink_fips_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - GTEST_SKIP
    - Eq
    - crypto::tink::IsFipsModeEnabled
    linkageType: ''
    returnType: void
    signature: void TEST(TinkFipsTest, FipsEnabledWhenBuiltInFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/tink_fips_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:64,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/config/tink_fips_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/config/tink_fips_test.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/tink_fips_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - GTEST_SKIP
    - Eq
    - crypto::tink::IsFipsModeEnabled
    linkageType: ''
    returnType: void
    signature: void TEST(TinkFipsTest, FipsDisabledWhenNotBuildInFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/tink_fips_test.cc:68,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/tink_fips_test.cc:69,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/config/tink_fips_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:75,1
    - Dst: crypto::tink::RestrictToFips
      Src: /src/tink/cc/config/tink_fips_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/config/tink_fips_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:79,1
    - Dst: internal::CheckFipsCompatibility<FipsIncompatible>
      Src: /src/tink/cc/config/tink_fips_test.cc:79,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/tink_fips_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:83,1
    - Dst: internal::CheckFipsCompatibility<FipsCompatibleWithBoringCrypto>
      Src: /src/tink/cc/config/tink_fips_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/config/tink_fips_test.cc:85,1
    - Dst: crypto::tink::internal::UnSetFipsRestricted
      Src: /src/tink/cc/config/tink_fips_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/tink_fips_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - internal::CheckFipsCompatibility<FipsIncompatible>
    - crypto::tink::internal::UnSetFipsRestricted
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::Registry::Reset
    - internal::CheckFipsCompatibility<FipsCompatibleWithBoringCrypto>
    - crypto::tink::RestrictToFips
    linkageType: ''
    returnType: void
    signature: void TEST(TinkFipsTest, CompatibilityChecksWithBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/tink_fips_test.cc:91,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/tink_fips_test.cc:92,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/config/tink_fips_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:98,1
    - Dst: crypto::tink::RestrictToFips
      Src: /src/tink/cc/config/tink_fips_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/config/tink_fips_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:102,1
    - Dst: internal::CheckFipsCompatibility<FipsIncompatible>
      Src: /src/tink/cc/config/tink_fips_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/tink_fips_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:107,1
    - Dst: internal::CheckFipsCompatibility<FipsCompatibleWithBoringCrypto>
      Src: /src/tink/cc/config/tink_fips_test.cc:108,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/tink_fips_test.cc:109,1
    - Dst: crypto::tink::internal::UnSetFipsRestricted
      Src: /src/tink/cc/config/tink_fips_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/tink_fips_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - internal::CheckFipsCompatibility<FipsIncompatible>
    - crypto::tink::internal::UnSetFipsRestricted
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::Registry::Reset
    - internal::CheckFipsCompatibility<FipsCompatibleWithBoringCrypto>
    - crypto::tink::RestrictToFips
    linkageType: ''
    returnType: void
    signature: void TEST(TinkFipsTest, CompatibilityChecksWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/tink_fips_test.cc:116,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/config/tink_fips_test.cc:119,1
    - Dst: crypto::tink::internal::UnSetFipsRestricted
      Src: /src/tink/cc/config/tink_fips_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:122,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/config/tink_fips_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/config/tink_fips_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/tink_fips_test.cc:123,1
    - Dst: crypto::tink::RestrictToFips
      Src: /src/tink/cc/config/tink_fips_test.cc:123,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/tink_fips_test.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/tink_fips_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::UnSetFipsRestricted
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::Registry::Reset
    - crypto::tink::AeadConfig::Register
    - crypto::tink::RestrictToFips
    linkageType: ''
    returnType: void
    signature: void TEST(TinkFipsTest, FailIfRegistryNotEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: crypto::tink::TinkConfig::TinkConfig
    functionSourceFile: /src/tink/cc/config/tink_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TinkConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/config/v0_test.cc:75,1
    - Dst: crypto::tink::ConfigV0
      Src: /src/tink/cc/config/v0_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/v0_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:78,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:79,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:80,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:81,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:82,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:83,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:84,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:85,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:86,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:87,1
    - Dst: Get
      Src: /src/tink/cc/config/v0_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ConfigV0
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(V0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/v0_test.cc:100,1
    - Dst: GetParam
      Src: /src/tink/cc/config/v0_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:100,1
    - Dst: GetParam
      Src: /src/tink/cc/config/v0_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:103,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:103,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/config/v0_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:104,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:104,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/config/v0_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:105,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:105,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/config/v0_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:107,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:107,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/config/v0_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:108,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:108,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/config/v0_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:109,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:109,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/config/v0_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:110,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:110,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/config/v0_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:112,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:112,1
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/config/v0_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:114,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:114,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/config/v0_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:116,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:116,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/config/v0_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:119,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:119,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/config/v0_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:121,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:121,1
    - Dst: crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
      Src: /src/tink/cc/config/v0_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:124,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:124,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/config/v0_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:125,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:125,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/config/v0_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:126,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:126,1
    - Dst: AesCmacPrfKeyManager
      Src: /src/tink/cc/config/v0_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:128,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:128,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/config/v0_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:129,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:129,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/config/v0_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:130,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:130,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/config/v0_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:131,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore*::Get
      Src: /src/tink/cc/config/v0_test.cc:131,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/config/v0_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/config/v0_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1VerifyKeyManager
    - ASSERT_THAT
    - AesCmacPrfKeyManager
    - HmacKeyManager
    - XChaCha20Poly1305KeyManager
    - HkdfPrfKeyManager
    - AesGcmSivKeyManager
    - IsOk
    - AesSivKeyManager
    - EXPECT_THAT
    - Ed25519VerifyKeyManager
    - GetParam
    - crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
    - AesCtrHmacAeadKeyManager
    - AesGcmKeyManager
    - EcdsaVerifyKeyManager
    - AesCmacKeyManager
    - EciesAeadHkdfPublicKeyManager
    - AesCtrHmacStreamingKeyManager
    - crypto::tink::internal::KeyTypeInfoStore*::Get
    - AesGcmHkdfStreamingKeyManager
    - HmacPrfKeyManager
    - AesEaxKeyManager
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_P(V0KeyTypesTest, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/config/v0_test.cc:136,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/config/v0_test.cc:136,1
    - Dst: crypto::tink::KeyGenConfigV0
      Src: /src/tink/cc/config/v0_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/v0_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:138,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/config/v0_test.cc:141,1
    - Dst: crypto::tink::ConfigV0
      Src: /src/tink/cc/config/v0_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/v0_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:142,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/config/v0_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/v0_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/config/v0_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/v0_test.cc:148,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/config/v0_test.cc:148,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/config/v0_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - crypto::tink::ConfigV0
    - IsOk
    - ASSERT_THAT
    - crypto::tink::KeyGenConfigV0
    - AeadKeyTemplates::Aes128Gcm
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    linkageType: ''
    returnType: void
    signature: void TEST(V0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/config/v0.cc:35,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:36,1
    - Dst: crypto::tink::internal::AddMacV0
      Src: /src/tink/cc/config/v0.cc:36,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:37,1
    - Dst: crypto::tink::internal::AddAeadV0
      Src: /src/tink/cc/config/v0.cc:37,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:38,1
    - Dst: crypto::tink::internal::AddDeterministicAeadV0
      Src: /src/tink/cc/config/v0.cc:38,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:39,1
    - Dst: crypto::tink::internal::AddStreamingAeadV0
      Src: /src/tink/cc/config/v0.cc:39,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:40,1
    - Dst: crypto::tink::internal::AddHybridV0
      Src: /src/tink/cc/config/v0.cc:40,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:41,1
    - Dst: crypto::tink::internal::AddPrfV0
      Src: /src/tink/cc/config/v0.cc:41,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/v0.cc:42,1
    - Dst: crypto::tink::internal::AddSignatureV0
      Src: /src/tink/cc/config/v0.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: crypto::tink::ConfigV0
    functionSourceFile: /src/tink/cc/config/v0.cc
    functionUses: 2
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddPrfV0
    - crypto::tink::internal::AddAeadV0
    - crypto::tink::internal::AddMacV0
    - crypto::tink::internal::AddDeterministicAeadV0
    - crypto::tink::internal::AddHybridV0
    - crypto::tink::internal::AddStreamingAeadV0
    - crypto::tink::internal::AddSignatureV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::UnSetFipsRestricted
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc: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: crypto::tink::KeyGenFips1402Test::TearDown
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::UnSetFipsRestricted
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:51,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:52,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:56,1
    - Dst: crypto::tink::KeyGenConfigFips140_2
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:60,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:60,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:61,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:61,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:62,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:62,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:63,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:63,1
    - Dst: HmacPrfKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:64,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:64,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:65,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:65,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:67,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:67,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyManager
    - AesGcmKeyManager
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - IsOk
    - EcdsaVerifyKeyManager
    - RsaSsaPkcs1VerifyKeyManager
    - ASSERT_THAT
    - Get
    - HmacPrfKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - RsaSsaPssVerifyKeyManager
    - crypto::tink::internal::IsFipsEnabledInSsl
    - HmacKeyManager
    - crypto::tink::KeyGenConfigFips140_2
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyGenFips1402Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:73,1
    - Dst: EXPECT_DEATH_IF_SUPPORTED
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:76,1
    - Dst: crypto::tink::KeyGenConfigFips140_2
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::KeyGenConfigFips140_2
    - EXPECT_DEATH_IF_SUPPORTED
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyGenFips1402Test, FailsInNonFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:82,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:83,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:87,1
    - Dst: crypto::tink::KeyGenConfigFips140_2
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:90,1
    - Dst: Get
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:90,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - IsOk
    - ASSERT_THAT
    - Get
    - AesCmacKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::KeyGenConfigFips140_2
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyGenFips1402Test, NonFipsTypeNotPresent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:95,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:99,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:99,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:99,1
    - Dst: crypto::tink::KeyGenConfigFips140_2
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/config/key_gen_fips_140_2_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::KeyGenConfigFips140_2
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyGenFips1402Test, GenerateNewKeysetHandle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/config/key_gen_v0.cc:34,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:35,1
    - Dst: crypto::tink::internal::AddMacKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:35,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:36,1
    - Dst: crypto::tink::internal::AddAeadKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:36,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:37,1
    - Dst: crypto::tink::internal::AddDeterministicAeadKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:37,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:38,1
    - Dst: crypto::tink::internal::AddStreamingAeadKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:38,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:39,1
    - Dst: crypto::tink::internal::AddHybridKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:39,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:40,1
    - Dst: crypto::tink::internal::AddPrfKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:40,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_v0.cc:41,1
    - Dst: crypto::tink::internal::AddSignatureKeyGenV0
      Src: /src/tink/cc/config/key_gen_v0.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: crypto::tink::KeyGenConfigV0
    functionSourceFile: /src/tink/cc/config/key_gen_v0.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::AddMacKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    - crypto::tink::internal::AddStreamingAeadKeyGenV0
    - crypto::tink::internal::AddHybridKeyGenV0
    - crypto::tink::internal::AddPrfKeyGenV0
    - crypto::tink::internal::AddAeadKeyGenV0
    - crypto::tink::internal::AddSignatureKeyGenV0
    - crypto::tink::internal::AddDeterministicAeadKeyGenV0
    - CHECK_OK
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyTypeEntry::set_catalogue_name
      Src: /src/tink/cc/config/config_util.cc:30,1
    - Dst: google::crypto::tink::KeyTypeEntry::set_primitive_name
      Src: /src/tink/cc/config/config_util.cc:31,1
    - Dst: google::crypto::tink::KeyTypeEntry::set_type_url
      Src: /src/tink/cc/config/config_util.cc:32,1
    - Dst: std::string::append
      Src: /src/tink/cc/config/config_util.cc:32,1
    - Dst: google::crypto::tink::KeyTypeEntry::set_key_manager_version
      Src: /src/tink/cc/config/config_util.cc:33,1
    - Dst: google::crypto::tink::KeyTypeEntry::set_new_key_allowed
      Src: /src/tink/cc/config/config_util.cc:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ' catalogue_name'
    - ' primitive_name'
    - ' key_proto_name'
    - key_manager_version
    - new_key_allowed
    argTypes:
    - std::string
    - std::string
    - std::string
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: crypto::tink::CreateTinkKeyTypeEntry
    functionSourceFile: /src/tink/cc/config/config_util.cc
    functionUses: 1
    functionsReached:
    - google::crypto::tink::KeyTypeEntry::set_type_url
    - std::string::append
    - google::crypto::tink::KeyTypeEntry::set_key_manager_version
    - google::crypto::tink::KeyTypeEntry::set_primitive_name
    - google::crypto::tink::KeyTypeEntry::set_catalogue_name
    - google::crypto::tink::KeyTypeEntry::set_new_key_allowed
    linkageType: ''
    returnType: google::crypto::tink::KeyTypeEntry
    signature: "google::crypto::tink::KeyTypeEntry CreateTinkKeyTypeEntry(\n    const
      std::string& catalogue_name, const std::string& primitive_name,\n    const std::string&
      key_proto_name, int key_manager_version,\n    bool new_key_allowed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: crypto::tink::FakePrimitive::FakePrimitive
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakePrimitive(std::string s)
  - 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: crypto::tink::FakePrimitive::get
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string get()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/config/global_registry_test.cc:68,1
    - Dst: key_value
      Src: /src/tink/cc/config/global_registry_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: crypto::tink::FakeKeyTypeManager::FakePrimitiveFactory::Create
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - key_value
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Create(\n        const
      AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitiveFactory>
      Src: /src/tink/cc/config/global_registry_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: crypto::tink::FakeKeyTypeManager::FakeKeyTypeManager
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<FakePrimitiveFactory>
    linkageType: ''
    returnType: void
    signature: void FakeKeyTypeManager()
  - 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: crypto::tink::FakeKeyTypeManager::key_material_type
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KeyData::KeyMaterialType
    signature: KeyData::KeyMaterialType key_material_type() const override
  - 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: crypto::tink::FakeKeyTypeManager::get_version
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/config/global_registry_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: crypto::tink::FakeKeyTypeManager::ValidateKey
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const AesGcmKey& key) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/config/global_registry_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: crypto::tink::FakeKeyTypeManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyFormat(\n      const AesGcmKeyFormat& key_format)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/config/global_registry_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: crypto::tink::FakeKeyTypeManager::CreateKey
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> CreateKey(\n      const AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey
      Src: /src/tink/cc/config/global_registry_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: crypto::tink::FakeKeyTypeManager::DeriveKey
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> DeriveKey(\n      const AesGcmKeyFormat&
      key_format,\n      InputStream* input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakePrimitive>
      Src: /src/tink/cc/config/global_registry_test.cc:114,1
    - Dst: std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
      Src: /src/tink/cc/config/global_registry_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: crypto::tink::FakePrimitiveWrapper::Wrap
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<FakePrimitive>>::get_primary
    - absl::make_unique<FakePrimitive>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<FakePrimitive>>
    signature: "util::StatusOr<std::unique_ptr<FakePrimitive>> Wrap(\n      std::unique_ptr<PrimitiveSet<FakePrimitive>>
      primitive_set)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/config/global_registry_test.cc:120,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/config/global_registry_test.cc:123,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/config/global_registry_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:125,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/config/global_registry_test.cc:126,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/config/global_registry_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/global_registry_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:129,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/config/global_registry_test.cc:130,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/config/global_registry_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:134,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/config/global_registry_test.cc:135,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/config/global_registry_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - KeyTemplate::set_output_prefix_type
    - crypto::tink::KeyGenConfigGlobalRegistry
    - ASSERT_THAT
    - absl::make_unique<FakeKeyTypeManager>
    - EXPECT_THAT
    - KeyTemplate::set_type_url
    - StatusIs
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TEST(GlobalRegistryTest, GenerateNewKeysetHandleFromKeyGenConfig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/config/global_registry_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:141,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/config/global_registry_test.cc:142,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/config/global_registry_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:144,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/config/global_registry_test.cc:147,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/config/global_registry_test.cc:148,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/config/global_registry_test.cc:150,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/config/global_registry_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:152,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/config/global_registry_test.cc:153,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/config/global_registry_test.cc:153,1
    - Dst: StatusIs
      Src: /src/tink/cc/config/global_registry_test.cc:154,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/config/global_registry_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:157,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/config/global_registry_test.cc:158,1
    - Dst: absl::make_unique<FakeKeyTypeManager>
      Src: /src/tink/cc/config/global_registry_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:161,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/config/global_registry_test.cc:161,1
    - Dst: absl::make_unique<FakePrimitiveWrapper>
      Src: /src/tink/cc/config/global_registry_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/config/global_registry_test.cc:165,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/config/global_registry_test.cc:165,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/config/global_registry_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/config/global_registry_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/config/global_registry_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - KeyTemplate::set_output_prefix_type
    - crypto::tink::KeyGenConfigGlobalRegistry
    - ASSERT_THAT
    - absl::make_unique<FakeKeyTypeManager>
    - EXPECT_THAT
    - KeyTemplate::set_type_url
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - StatusIs
    - crypto::tink::GetPrimitive
    - crypto::tink::Registry::Reset
    - absl::make_unique<FakePrimitiveWrapper>
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: void
    signature: void TEST(GlobalRegistryTest, GetPrimitiveFromConfig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegistryConfig::RegistryConfig
      Src: /src/tink/cc/config/tink_config.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: '& TinkConfig::Latest()'
    functionSourceFile: /src/tink/cc/config/tink_config.cc
    functionUses: 0
    functionsReached:
    - RegistryConfig::RegistryConfig
    linkageType: ''
    returnType: RegistryConfig
    signature: RegistryConfig & TinkConfig::Latest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/config/tink_config.cc:42,1
    - Dst: auto::ok
      Src: /src/tink/cc/config/tink_config.cc:43,1
    - Dst: crypto::tink::PrfConfig::Register
      Src: /src/tink/cc/config/tink_config.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/config/tink_config.cc:45,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/config/tink_config.cc:46,1
    - Dst: auto::ok
      Src: /src/tink/cc/config/tink_config.cc:47,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/config/tink_config.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/config/tink_config.cc:49,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/config/tink_config.cc:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: crypto::tink::TinkConfig::Register
    functionSourceFile: /src/tink/cc/config/tink_config.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::PrfConfig::Register
    - auto::ok
    - crypto::tink::DeterministicAeadConfig::Register
    - crypto::tink::SignatureConfig::Register
    - crypto::tink::HybridConfig::Register
    - crypto::tink::StreamingAeadConfig::Register
    linkageType: ''
    returnType: util::Status
    signature: util::Status TinkConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/config/tink_fips.cc: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: crypto::tink::IsFipsModeEnabled
    functionSourceFile: /src/tink/cc/config/tink_fips.cc
    functionUses: 7
    functionsReached:
    - crypto::tink::internal::IsFipsModeEnabled
    linkageType: ''
    returnType: bool
    signature: bool IsFipsModeEnabled()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/config/tink_fips.cc: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: crypto::tink::RestrictToFips
    functionSourceFile: /src/tink/cc/config/tink_fips.cc
    functionUses: 3
    functionsReached:
    - internal::RegistryImpl::GlobalInstance
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status RestrictToFips()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/config/fips_140_2.cc:47,1
    - Dst: absl::make_unique<MacWrapper>
      Src: /src/tink/cc/config/fips_140_2.cc:48,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:49,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/config/fips_140_2.cc:52,1
    - Dst: absl::make_unique<internal::ChunkedMacWrapper>
      Src: /src/tink/cc/config/fips_140_2.cc:53,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:54,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/fips_140_2.cc:58,1
    - Dst: absl::make_unique<HmacKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: crypto::tink::AddMac
    functionSourceFile: /src/tink/cc/config/fips_140_2.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<internal::ChunkedMacWrapper>
    - util::Status::ok
    - absl::make_unique<MacWrapper>
    - absl::make_unique<HmacKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddMac(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/config/fips_140_2.cc:63,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/config/fips_140_2.cc:64,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:65,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/fips_140_2.cc:69,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:70,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:71,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/fips_140_2.cc:74,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: crypto::tink::AddAead
    functionSourceFile: /src/tink/cc/config/fips_140_2.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - absl::make_unique<AesGcmKeyManager>
    - absl::make_unique<AeadWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddAead(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/config/fips_140_2.cc:79,1
    - Dst: absl::make_unique<PrfSetWrapper>
      Src: /src/tink/cc/config/fips_140_2.cc:80,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:81,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/fips_140_2.cc:85,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: crypto::tink::AddPrf
    functionSourceFile: /src/tink/cc/config/fips_140_2.cc
    functionUses: 3
    functionsReached:
    - util::Status::ok
    - absl::make_unique<HmacPrfKeyManager>
    - absl::make_unique<PrfSetWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddPrf(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/config/fips_140_2.cc:90,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/config/fips_140_2.cc:91,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:92,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/config/fips_140_2.cc:95,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/config/fips_140_2.cc:96,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:97,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/config/fips_140_2.cc:101,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:102,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:103,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:104,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/config/fips_140_2.cc:107,1
    - Dst: absl::make_unique<RsaSsaPssSignKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:108,1
    - Dst: absl::make_unique<RsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:109,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/fips_140_2.cc:110,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/config/fips_140_2.cc:113,1
    - Dst: absl::make_unique<RsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:114,1
    - Dst: absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/config/fips_140_2.cc:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: crypto::tink::AddSignature
    functionSourceFile: /src/tink/cc/config/fips_140_2.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyWrapper>
    - util::Status::ok
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - absl::make_unique<PublicKeySignWrapper>
    - absl::make_unique<RsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RsaSsaPssVerifyKeyManager>
    - absl::make_unique<EcdsaVerifyKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<EcdsaSignKeyManager>
    - absl::make_unique<RsaSsaPssSignKeyManager>
    - absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddSignature(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SetFipsRestricted
      Src: /src/tink/cc/config/fips_140_2.cc:122,1
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/config/fips_140_2.cc:124,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/fips_140_2.cc:125,1
    - Dst: crypto::tink::AddMac
      Src: /src/tink/cc/config/fips_140_2.cc:125,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/fips_140_2.cc:126,1
    - Dst: crypto::tink::AddAead
      Src: /src/tink/cc/config/fips_140_2.cc:126,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/fips_140_2.cc:127,1
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/config/fips_140_2.cc:127,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/fips_140_2.cc:128,1
    - Dst: crypto::tink::AddSignature
      Src: /src/tink/cc/config/fips_140_2.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: crypto::tink::ConfigFips140_2
    functionSourceFile: /src/tink/cc/config/fips_140_2.cc
    functionUses: 7
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::AddAead
    - crypto::tink::AddPrf
    - crypto::tink::AddMac
    - crypto::tink::internal::SetFipsRestricted
    - crypto::tink::AddSignature
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigFips140_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:41,1
    - Dst: absl::make_unique<HmacKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: crypto::tink::AddMac
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2.cc
    functionUses: 1
    functionsReached:
    - absl::make_unique<HmacKeyManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddMac(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:46,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:47,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:48,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:51,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: crypto::tink::AddAead
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2.cc
    functionUses: 1
    functionsReached:
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - util::Status::ok
    - absl::make_unique<AesGcmKeyManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddAead(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:56,1
    - Dst: absl::make_unique<HmacPrfKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: crypto::tink::AddPrf
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2.cc
    functionUses: 4
    functionsReached:
    - absl::make_unique<HmacPrfKeyManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddPrf(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:62,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:63,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:64,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:65,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:68,1
    - Dst: absl::make_unique<RsaSsaPssSignKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:69,1
    - Dst: absl::make_unique<RsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:70,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:71,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:74,1
    - Dst: absl::make_unique<RsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:75,1
    - Dst: absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: crypto::tink::AddSignature
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - util::Status::ok
    - absl::make_unique<RsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RsaSsaPssVerifyKeyManager>
    - absl::make_unique<EcdsaVerifyKeyManager>
    - absl::make_unique<EcdsaSignKeyManager>
    - absl::make_unique<RsaSsaPssSignKeyManager>
    - absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddSignature(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::SetFipsRestricted
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:83,1
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:85,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:86,1
    - Dst: crypto::tink::AddMac
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:86,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:87,1
    - Dst: crypto::tink::AddAead
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:87,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:88,1
    - Dst: crypto::tink::AddPrf
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:88,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:89,1
    - Dst: crypto::tink::AddSignature
      Src: /src/tink/cc/config/key_gen_fips_140_2.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: crypto::tink::KeyGenConfigFips140_2
    functionSourceFile: /src/tink/cc/config/key_gen_fips_140_2.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::AddAead
    - KeyGenConfiguration::KeyGenConfiguration
    - crypto::tink::AddPrf
    - crypto::tink::AddMac
    - crypto::tink::internal::SetFipsRestricted
    - crypto::tink::AddSignature
    - CHECK_OK
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigFips140_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/hmac_boringssl.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - md
    - tag_size
    - key
    argTypes:
    - EVP_MD*
    - uint32_t
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: crypto::tink::subtle::HmacBoringSsl::HmacBoringSsl
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HmacBoringSsl(const EVP_MD* md, uint32_t tag_size, util::SecretData
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:51,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - curve
    - ' pubx'
    - ' puby'
    argTypes:
    - subtle::EllipticCurveType
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl>>
      EciesHkdfSenderKemBoringSsl::New(subtle::EllipticCurveType curve,\n                                 const
      std::string& pubx,\n                                 const std::string& puby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - curve
    - ' pubx'
    - ' puby'
    - peer_pub_key
    argTypes:
    - subtle::EllipticCurveType
    - std::string
    - std::string
    - internal::SslUniquePtr<EC_POINT>
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::EciesHkdfNistPCurveSendKemBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EciesHkdfNistPCurveSendKemBoringSsl::EciesHkdfNistPCurveSendKemBoringSsl(\n
      \   subtle::EllipticCurveType curve, const std::string& pubx,\n    const std::string&
      puby, internal::SslUniquePtr<EC_POINT> peer_pub_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<EciesHkdfNistPCurveSendKemBoringSsl>
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:75,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:78,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:80,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:80,1
    - Dst: EciesHkdfNistPCurveSendKemBoringSsl::EciesHkdfNistPCurveSendKemBoringSsl
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - curve
    - ' pubx'
    - ' puby'
    argTypes:
    - subtle::EllipticCurveType
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 1
    functionsReached:
    - internal::CheckFipsCompatibility<EciesHkdfNistPCurveSendKemBoringSsl>
    - auto::status
    - auto::ok
    - std::move
    - absl::WrapUnique
    - crypto::tink::internal::GetEcPoint
    - EciesHkdfNistPCurveSendKemBoringSsl::EciesHkdfNistPCurveSendKemBoringSsl
    - auto::value
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl>>
      EciesHkdfNistPCurveSendKemBoringSsl::New(subtle::EllipticCurveType curve,\n
      \                                        const std::string& pubx,\n                                         const
      std::string& puby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:88,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:89,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:94,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:95,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:98,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:100,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:100,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:101,1
    - Dst: EC_KEY_generate_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:103,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:103,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:104,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:107,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:107,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:108,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:108,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:111,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:114,1
    - Dst: crypto::tink::internal::ComputeEcdhSharedSecret
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:115,1
    - Dst: get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:116,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:117,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:118,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:120,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:121,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:123,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:126,1
    - Dst: absl::make_unique<const KemKey>
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - hash
    - hkdf_salt
    - hkdf_info
    - key_size_in_bytes
    - point_format
    argTypes:
    - subtle::HashType
    - absl::string_view
    - absl::string_view
    - uint32_t
    - subtle::EcPointFormat
    constantsTouched: []
    func_position:
      end: 129
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 129
    functionName: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::GenerateKey
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EC_KEY_set_group
    - EC_KEY_generate_key
    - EC_KEY_get0_private_key
    - auto::ok
    - EC_KEY_get0_public_key
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - std::move
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::EcPointEncode
    - auto::value
    - crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
    - absl::make_unique<const KemKey>
    - crypto::tink::internal::ComputeEcdhSharedSecret
    - get
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl::KemKey>>
    signature: "util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl::KemKey>>
      EciesHkdfNistPCurveSendKemBoringSsl::GenerateKey(\n    subtle::HashType hash,
      absl::string_view hkdf_salt,\n    absl::string_view hkdf_info, uint32_t key_size_in_bytes,\n
      \   subtle::EcPointFormat point_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - peer_public_key
    argTypes:
    - internal::SslUniquePtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::EciesHkdfX25519SendKemBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EciesHkdfX25519SendKemBoringSsl::EciesHkdfX25519SendKemBoringSsl(\n
      \   internal::SslUniquePtr<EVP_PKEY> peer_public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<EciesHkdfX25519SendKemBoringSsl>
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:141,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:142,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:145,1
    - Dst: size
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:148,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:148,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:149,1
    - Dst: empty
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:152,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:153,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:157,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:159,1
    - Dst: data
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:159,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:160,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:162,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:165,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:166,1
    - Dst: EciesHkdfX25519SendKemBoringSsl::EciesHkdfX25519SendKemBoringSsl
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - curve
    - ' pubx'
    - ' puby'
    argTypes:
    - subtle::EllipticCurveType
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 167
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 167
    functionName: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 1
    functionsReached:
    - auto::ok
    - size
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - data
    - internal::CheckFipsCompatibility<EciesHkdfX25519SendKemBoringSsl>
    - empty
    - EVP_PKEY_new_raw_public_key
    - EciesHkdfX25519SendKemBoringSsl::EciesHkdfX25519SendKemBoringSsl
    - reinterpret_cast<const uint8_t*>
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl>>
      EciesHkdfX25519SendKemBoringSsl::New(subtle::EllipticCurveType curve,\n                                     const
      std::string& pubx,\n                                     const std::string&
      puby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:175,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:182,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:184,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:187,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:189,1
    - Dst: crypto::tink::internal::ComputeX25519SharedSecret
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:194,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:194,1
    - Dst: get
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:195,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:197,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:198,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:199,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:202,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:205,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:206,1
    - Dst: std::make_unique<const KemKey>
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:208,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - hash
    - hkdf_salt
    - hkdf_info
    - key_size_in_bytes
    - point_format
    argTypes:
    - subtle::HashType
    - absl::string_view
    - absl::string_view
    - uint32_t
    - subtle::EcPointFormat
    constantsTouched: []
    func_position:
      end: 210
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 210
    functionName: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::GenerateKey
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - crypto::tink::internal::NewX25519Key
    - util::StatusOr::status
    - std::string
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ComputeX25519SharedSecret
    - reinterpret_cast<const char*>
    - crypto::tink::internal::X25519KeyPubKeySize
    - util::StatusOr::ok
    - crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
    - std::make_unique<const KemKey>
    - get
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl::KemKey>>
    signature: "util::StatusOr<std::unique_ptr<const EciesHkdfSenderKemBoringSsl::KemKey>>
      EciesHkdfX25519SendKemBoringSsl::GenerateKey(\n    subtle::HashType hash, absl::string_view
      hkdf_salt,\n    absl::string_view hkdf_info, uint32_t key_size_in_bytes,\n    subtle::EcPointFormat
      point_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/subtle/aead_test_util.cc:37,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:38,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:38,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/subtle/aead_test_util.cc:40,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/subtle/aead_test_util.cc:40,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:41,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:41,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/subtle/aead_test_util.cc:42,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aead_test_util.cc:43,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aead_test_util.cc:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' encrypter'
    - ' decrypter'
    - message
    - aad
    argTypes:
    - Aead
    - Aead
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: crypto::tink::EncryptThenDecrypt
    functionSourceFile: /src/tink/cc/subtle/aead_test_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - StatusOr::value
    - crypto::tink::internal::ExtractStatus
    - StatusOr::status
    - crypto::tink::Encrypt
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status EncryptThenDecrypt(const Aead& encrypter,\n
      \                                             const Aead& decrypter,\n                                              absl::string_view
      message,\n                                              absl::string_view aad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord
      Src: /src/tink/cc/subtle/aead_test_util.cc:53,1
    - Dst: absl::Cord
      Src: /src/tink/cc/subtle/aead_test_util.cc:54,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/subtle/aead_test_util.cc:56,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:57,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:57,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/subtle/aead_test_util.cc:59,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/subtle/aead_test_util.cc:59,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:60,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/aead_test_util.cc:60,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/subtle/aead_test_util.cc:61,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aead_test_util.cc:62,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aead_test_util.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ' encrypter'
    - ' decrypter'
    - message
    - aad
    argTypes:
    - CordAead
    - CordAead
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: crypto::tink::EncryptThenDecrypt
    functionSourceFile: /src/tink/cc/subtle/aead_test_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - absl::Cord
    - StatusOr::value
    - crypto::tink::internal::ExtractStatus
    - StatusOr::status
    - crypto::tink::Encrypt
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status EncryptThenDecrypt(const CordAead& encrypter,\n
      \                                             const CordAead& decrypter,\n                                              absl::string_view
      message,\n                                              absl::string_view aad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:62,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:64,1
    - Dst: absl::make_unique<DummyStreamSegmentEncrypter>
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:67,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:71,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::New
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:71,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:72,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:74,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pt_segment_size
    - header_size
    - ct_offset
    - refs
    argTypes:
    - int
    - int
    - int
    - ValidationRefs*
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: crypto::tink::subtle::GetEncryptingStream
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::rdbuf
    - absl::make_unique<std::stringstream>
    - crypto::tink::subtle::StreamingAeadEncryptingStream::New
    - EXPECT_EQ
    - std::move
    - auto::get
    - auto::Position
    - absl::make_unique<DummyStreamSegmentEncrypter>
    linkageType: ''
    returnType: std::unique_ptr<OutputStream>
    signature: "std::unique_ptr<OutputStream> GetEncryptingStream(\n    int pt_segment_size,
      int header_size, int ct_offset, ValidationRefs* refs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:91,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:91,1
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:97,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:102,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:103,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:106,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:106,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:110,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:110,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:113,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:114,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:115,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:116,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:116,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:117,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:117,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:118,1
    - Dst: ValidationRefs::seg_enc::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:120,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:120,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:121,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:121,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:124,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:126,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 131
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - auto::ok
    - crypto::tink::subtle::GetEncryptingStream
    - auto::Position
    - absl::StrCat
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    - auto::status
    - auto::BackUp
    - SCOPED_TRACE
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - ValidationRefs::seg_enc::GenerateCiphertext
    - crypto::tink::subtle::test::WriteToStream
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::get
    - std::string::size
    - ValidationRefs::ct_buf::str
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, WritingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:139,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:145,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:145,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:148,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:151,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:152,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:156,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:157,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::GetEncryptingStream
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, EmptyPlaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:167,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:173,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:173,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:174,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:175,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:175,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:179,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:179,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:181,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:182,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:182,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:185,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:188,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:189,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:193,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:194,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 195
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - auto::BackUp
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, EmptyPlaintextWithBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:204,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:208,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:210,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:210,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:211,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:212,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:212,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:213,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:214,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:215,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:215,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:218,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:221,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:222,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:226,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:227,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 228
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, OneSegmentPlaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:239,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:243,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:245,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:245,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:246,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:247,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:247,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:251,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:251,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:255,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:256,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:256,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:257,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:258,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:258,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:259,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:263,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:263,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:266,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:267,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:267,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:269,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:269,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:270,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:273,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:274,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 275
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - auto::BackUp
    - reinterpret_cast<uint8_t*>
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, NextAfterBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:285,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:289,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:291,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:291,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:292,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:292,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:293,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:293,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:297,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:297,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:298,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:299,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:300,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:300,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:303,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:307,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:308,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:312,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:313,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 314
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - auto::BackUp
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, OneSegmentPlaintextWithBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:323,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:328,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:330,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:330,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:331,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:332,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:332,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:336,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:337,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:337,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:338,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:339,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:339,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:343,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:344,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:345,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:345,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:346,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:350,1
    - Dst: ValidationRefs::seg_enc::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:351,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:353,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:357,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:358,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:362,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:363,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:363,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:364,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 365
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - ValidationRefs::seg_enc::get_ciphertext_segment_size
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, ManySegmentsPlaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:375,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:380,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:382,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:382,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:383,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:384,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:384,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:388,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:389,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:389,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:390,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:390,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:391,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:391,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:394,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:395,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:396,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:397,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:398,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:398,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:399,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:399,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:404,1
    - Dst: ValidationRefs::seg_enc::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:405,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:408,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:409,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:412,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:413,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:417,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:418,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:418,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:419,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 420
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - ValidationRefs::seg_enc::get_ciphertext_segment_size
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - auto::BackUp
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, ManySegmentsPlaintextWithBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:429,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:434,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:436,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:436,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:437,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:438,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:438,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:442,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:443,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:443,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:444,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:445,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:445,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:448,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:449,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:450,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:451,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:452,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:453,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:453,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:458,1
    - Dst: ValidationRefs::seg_enc::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:459,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:461,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:465,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:466,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:470,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:471,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:471,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:472,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 473
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - ValidationRefs::seg_enc::get_ciphertext_segment_size
    - crypto::tink::subtle::GetEncryptingStream
    - auto::value
    - auto::Position
    - auto::BackUp
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::code
    - ValidationRefs::ct_buf::str
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, ManySegmentsPlaintextWithFullBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:482,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:486,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:488,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:488,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:489,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:490,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:490,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:496,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:497,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:498,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:498,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:500,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:500,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:503,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:504,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:504,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:505,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:505,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:506,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:506,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:512,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:513,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:514,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:514,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:516,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:516,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:519,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:520,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:520,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:520,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:521,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:522,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:522,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:525,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:527,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:528,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:528,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:529,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:530,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:530,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:536,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:536,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:538,1
    - Dst: std::min
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:539,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:541,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:545,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:545,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:548,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:549,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:549,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:549,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:550,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:551,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:552,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:552,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:556,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:556,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:557,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:558,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:558,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:559,1
    - Dst: ValidationRefs::seg_enc::get_generated_output_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:559,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:563,1
    - Dst: ValidationRefs::ct_buf::str
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:564,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:567,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:568,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:569,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 570
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::subtle::GetEncryptingStream
    - auto::Position
    - absl::StrCat
    - EXPECT_FALSE
    - auto::Next
    - auto::Close
    - std::min
    - auto::status
    - auto::BackUp
    - SCOPED_TRACE
    - auto::code
    - EXPECT_LT
    - EXPECT_EQ
    - std::max
    - ValidationRefs::seg_enc::get_generated_output_size
    - auto::value
    - ValidationRefs::ct_buf::str
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadEncryptingStreamTest, BackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aead_test_util_test.cc:33,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/subtle/aead_test_util_test.cc:33,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aead_test_util_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/aead_test_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::EncryptThenDecrypt
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenDecrypt, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aead_test_util_test.cc:39,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/subtle/aead_test_util_test.cc:39,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aead_test_util_test.cc:40,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aead_test_util_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/aead_test_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - crypto::tink::EncryptThenDecrypt
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenDecrypt, DifferentAeads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:57,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:58,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:62,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:62,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:65,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:69,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:70,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:70,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:71,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:77,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:78,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:78,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsFipsModeEnabled
    - IsOk
    - ComputeMac
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::BytesToHexString
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:84,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:85,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:89,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:89,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:92,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:95,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:100,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:100,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:100,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:101,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - ComputeMac
    - Not
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::BytesToHexString
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, Modification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:107,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:108,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:112,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:112,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:115,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:118,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:118,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:121,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:121,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:122,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - IsFipsModeEnabled
    - IsOk
    - ComputeMac
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - util::StatusOr::size
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::BytesToHexString
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, Truncation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:128,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:129,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:133,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:133,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:136,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:141,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:142,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:142,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:143,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:149,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:150,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:150,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - EXPECT_EQ
    - IsOk
    - ComputeMac
    - crypto::tink::util::SecretDataFromStringView
    - util::StatusOr::size
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::BytesToHexString
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, BasicSmallTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:156,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:157,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:161,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:161,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:164,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:166,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:168,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:173,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:173,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:173,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:174,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 177
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - ComputeMac
    - Not
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::BytesToHexString
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, ModificationSmallTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:180,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:181,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:185,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:185,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:188,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:191,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:194,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:194,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:194,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:195,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:196,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:200,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:200,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:200,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:201,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 204
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - IsFipsModeEnabled
    - IsOk
    - ComputeMac
    - Not
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::BytesToHexString
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, TruncationOrAdditionSmallTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:207,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:208,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:218,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 221
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - Not
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::AesCmacBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, InvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:224,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:225,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:235,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - Not
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::AesCmacBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, InvalidTagSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:248,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:248,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:249,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:250,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:254,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key_hex
    - tag_hex
    - data_hex
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: crypto::tink::subtle::AesCmacBoringSslTestVectorTest::ExpectCmacVerifyHex
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 1
    functionsReached:
    - IsOk
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: "void ExpectCmacVerifyHex(absl::string_view key_hex, absl::string_view
      tag_hex,\n                           absl::string_view data_hex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:259,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:260,1
    - Dst: ExpectCmacVerifyHex
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:268,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:268,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:269,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - std::string::substr
    - ExpectCmacVerifyHex
    - GTEST_SKIP
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacBoringSslTestVectorTest, RfcTestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:279,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:280,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:283,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:284,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:286,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:288,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:288,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:290,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:290,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 292
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridEncrypt*::Encrypt
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:31,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:32,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:32,1
    - Dst: HybridDecrypt*::Decrypt
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:34,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:34,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:35,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:35,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:37,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:38,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/hybrid_test_util.cc:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - encrypter
    - decrypter
    - plaintext
    - context_info
    argTypes:
    - HybridEncrypt*
    - HybridDecrypt*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: crypto::tink::HybridEncryptThenDecrypt
    functionSourceFile: /src/tink/cc/subtle/hybrid_test_util.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - HybridDecrypt*::Decrypt
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - auto::value
    - HybridEncrypt*::Encrypt
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status HybridEncryptThenDecrypt(\n    HybridEncrypt*
      encrypter, HybridDecrypt* decrypter,\n    absl::string_view plaintext, absl::string_view
      context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:82,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:83,1
    - Dst: crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:86,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:88,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:89,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:89,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:90,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:91,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:92,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:93,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:96,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:97,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataAsStringView
    - IsFipsModeEnabled
    - auto::ok
    - auto::GenerateKey
    - EXPECT_EQ
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfRecipientKemBoringSslTest, TestBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:103,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:104,1
    - Dst: crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:108,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
    - auto::status
    - IsFipsModeEnabled
    - EXPECT_EQ
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfRecipientKemBoringSslTest, TestNewUnimplementedCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:115,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:116,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:118,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:120,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:122,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - auto::ok
    - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - ASSERT_TRUE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveRecipientKemBoringSslTest, TestNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:126,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:127,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:129,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:131,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:133,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveRecipientKemBoringSslTest, TestNewInvalidCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:138,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:139,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:143,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveRecipientKemBoringSslTest, TestNewEmptyPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:148,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:149,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:151,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:153,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:154,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:155,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:155,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:156,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:158,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:159,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:160,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:160,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:162,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:164,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:164,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:165,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 167
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - IsFipsModeEnabled
    - auto::ok
    - auto::GenerateKey
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveRecipientKemBoringSslTest, TestGenerateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:172,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:173,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:175,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:177,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:179,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - auto::ok
    - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - ASSERT_TRUE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519RecipientKemBoringSslTest, TestNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:183,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:184,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:186,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:188,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:190,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519RecipientKemBoringSslTest, TestNewInvalidCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:195,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:196,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:198,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:199,1
    - Dst: util::SecretData::resize
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:200,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:200,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:203,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - util::SecretData::resize
    - util::SecretData::size
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519RecipientKemBoringSslTest, TestNewShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:209,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:210,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:212,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:213,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:214,1
    - Dst: crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:214,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
    - IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveRecipientKemBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:221,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:222,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:224,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:226,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:226,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519RecipientKemBoringSslTest, TestFipsOnly)
  - 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: ~IndCpaCipher()
    functionSourceFile: /src/tink/cc/subtle/ind_cpa_cipher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~IndCpaCipher()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:47,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:48,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:48,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:49,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:50,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:50,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::RsaPkcs1SignBoringsslTest::RsaPkcs1SignBoringsslTest
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::NewRsaKeyPair
    - IsOk
    - BN_new
    - BN_set_word
    - EXPECT_THAT
    - get
    linkageType: ''
    returnType: void
    signature: void RsaPkcs1SignBoringsslTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:62,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:63,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:69,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:73,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:73,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:73,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:73,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:77,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:77,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - ASSERT_THAT
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, EncodesPkcs1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:82,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:83,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:89,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:93,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:93,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:93,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:93,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:97,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:97,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - ASSERT_THAT
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, EncodesPkcs1WithSeparateHashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:102,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:107,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, RejectsUnsafeHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:112,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:117,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:117,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:118,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:118,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:119,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:119,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:119,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:126,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:127,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:133,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:134,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 143
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - Not
    - ASSERT_THAT
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, RejectsInvalidCrtParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:147,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:147,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:153,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:153,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, TestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:158,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:165,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:165,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:170,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:170,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - IsOk
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, TestRestrictedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:175,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:175,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:182,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:182,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:187,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - IsOk
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPkcs1SignBoringsslTest, TestAllowedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<Ed25519VerifyBoringSsl>
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:45,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:46,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:48,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:49,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:51,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:53,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:53,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:57,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:59,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:59,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:62,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:66,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:66,1
    - Dst: Ed25519VerifyBoringSsl::Ed25519VerifyBoringSsl
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - auto::ok
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - Ed25519VerifyBoringSsl::Ed25519VerifyBoringSsl
    - std::move
    - absl::string_view::length
    - absl::WrapUnique
    - EVP_PKEY_new_raw_public_key
    - internal::CheckFipsCompatibility<Ed25519VerifyBoringSsl>
    - absl::StrFormat
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> Ed25519VerifyBoringSsl::New(\n
      \   absl::string_view public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:71,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:72,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:75,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:77,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:79,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:84,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:84,1
    - Dst: get
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:86,1
    - Dst: EVP_DigestVerify
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:90,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:91,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:92,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:93,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:94,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:96,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.cc:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 100
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 100
    functionName: crypto::tink::subtle::Ed25519VerifyBoringSsl::Verify
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - EVP_DigestVerify
    - crypto::tink::internal::EnsureStringNonNull
    - absl::StrFormat
    - EVP_DigestVerifyInit
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Ed25519VerifyBoringSsl::Verify(absl::string_view signature,\n
      \                                           absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: crypto::tink::subtle::AesCtrHmacStreaming::AesCtrHmacStreaming
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacStreaming(Params params)
  - 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_header() const override'
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_header() const override
  - 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: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_segment_number
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_segment_number() const override
  - 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: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_plaintext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_plaintext_segment_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_ciphertext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_segment_size() 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: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_ciphertext_offset
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_offset() 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: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::IncSegmentNumber
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncSegmentNumber() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h:142,1
    - Dst: absl::string_view::begin
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h:143,1
    - Dst: absl::string_view::end
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h:143,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - key_value
    - header
    - nonce_prefix
    - ciphertext_segment_size
    - ciphertext_offset
    - tag_size
    - cipher
    - mac
    argTypes:
    - util::SecretData
    - absl::string_view
    - absl::string_view
    - int
    - int
    - int
    - EVP_CIPHER*
    - std::unique_ptr<Mac>
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::AesCtrHmacStreamSegmentEncrypter
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached:
    - absl::string_view::end
    - absl::string_view::begin
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesCtrHmacStreamSegmentEncrypter(util::SecretData key_value,\n
      \                                  absl::string_view header,\n                                   absl::string_view
      nonce_prefix,\n                                   int ciphertext_segment_size,\n
      \                                  int ciphertext_offset, int tag_size,\n                                   const
      EVP_CIPHER* cipher,\n                                   std::unique_ptr<Mac>
      mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_header_size
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_header_size() const override
  - 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: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_plaintext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_plaintext_segment_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_ciphertext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_segment_size() 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: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_ciphertext_offset
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_offset() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: ~AesCtrHmacStreamSegmentDecrypter() override
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AesCtrHmacStreamSegmentDecrypter() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 8
    argNames:
    - ikm
    - hkdf_algo
    - key_size
    - associated_data
    - ciphertext_segment_size
    - ciphertext_offset
    - tag_algo
    - tag_size
    argTypes:
    - util::SecretData
    - HashType
    - int
    - absl::string_view
    - int
    - int
    - HashType
    - int
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::AesCtrHmacStreamSegmentDecrypter
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesCtrHmacStreamSegmentDecrypter(util::SecretData ikm, HashType
      hkdf_algo,\n                                   int key_size,\n                                   absl::string_view
      associated_data,\n                                   int ciphertext_segment_size,\n
      \                                  int ciphertext_offset, HashType tag_algo,\n
      \                                  int tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:60,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:61,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:62,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: crypto::tink::subtle::NewKeyPair
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::NewEd25519Key
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<Ed25519KeyPair>
    signature: util::StatusOr<Ed25519KeyPair> NewKeyPair()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:70,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:71,1
    - Dst: crypto::tink::subtle::NewKeyPair
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:76,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:79,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:80,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:80,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:81,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:81,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:85,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:85,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:86,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:86,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:90,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:92,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:92,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:94,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:94,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:96,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:97,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:97,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:99,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:100,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:105,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:106,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:108,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - auto::ok
    - std::move
    - ASSERT_THAT
    - auto::Verify
    - ASSERT_TRUE
    - EXPECT_FALSE
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    - crypto::tink::subtle::NewKeyPair
    - auto::status
    - IsOk
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - auto::Sign
    - IsFipsModeEnabled
    - EXPECT_NE
    - auto::value
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519SignBoringSslTest, testBasicSign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:116,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:117,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:124,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:124,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:129,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - IsFipsModeEnabled
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519SignBoringSslTest, testInvalidPrivateKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:134,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:135,1
    - Dst: crypto::tink::subtle::NewKeyPair
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:140,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:143,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:144,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:145,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:145,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:148,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:149,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:150,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:150,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:156,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:156,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:158,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:158,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:163,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:163,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:164,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:166,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:166,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:169,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:170,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:170,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:171,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:172,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - auto::size
    - auto::ok
    - std::move
    - ASSERT_THAT
    - auto::Verify
    - ASSERT_TRUE
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    - crypto::tink::subtle::NewKeyPair
    - auto::status
    - absl::string_view
    - IsOk
    - GTEST_SKIP
    - EXPECT_EQ
    - auto::Sign
    - IsFipsModeEnabled
    - EXPECT_NE
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519SignBoringSslTest, testMessageEmptyVersusNullStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:183,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:184,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:192,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:196,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:199,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:207,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:211,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:214,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:222,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:226,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:229,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:237,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:241,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:244,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:249,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:319,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:320,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:323,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:324,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:324,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:324,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:325,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:325,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:328,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:329,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:329,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:329,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:330,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:330,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:332,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:333,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:335,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:336,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 338
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - IsFipsModeEnabled
    - auto::ok
    - std::move
    - auto::Verify
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - auto::Sign
    - absl::StrCat
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519SignBoringSslTest, testWithTestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:341,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:342,1
    - Dst: crypto::tink::subtle::NewKeyPair
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:350,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:350,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 352
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::NewKeyPair
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519SignBoringSslTest, testFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:55,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:61,1
    - Dst: InputStream*::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:63,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:64,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:66,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:67,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:69,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:69,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:70,1
    - Dst: std::min
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:71,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:72,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:72,1
    - Dst: InputStream*::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:76,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - input_stream
    - count
    - output
    argTypes:
    - InputStream*
    - int
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: crypto::tink::subtle::ReadFromStream
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::data
    - auto::status
    - std::vector<uint8_t>*::resize
    - auto::ok
    - InputStream*::BackUp
    - crypto::tink::util::OkStatus
    - Status
    - auto::value
    - memcpy
    - std::min
    - InputStream*::Next
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadFromStream(InputStream* input_stream, int count,\n
      \                           std::vector<uint8_t>* output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:88,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:92,1
    - Dst: StreamingAeadDecryptingStream::StreamingAeadDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:98,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:104,1
    - Dst: std::unique_ptr::ct_buffer_::resize
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:107,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:114,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - segment_decrypter
    - ciphertext_source
    argTypes:
    - std::unique_ptr<StreamSegmentDecrypter>
    - std::unique_ptr<InputStream>
    constantsTouched: []
    func_position:
      end: 116
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::StreamingAeadDecryptingStream::New
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::OkStatus
    - Status
    - StreamingAeadDecryptingStream::StreamingAeadDecryptingStream
    - std::unique_ptr::ct_buffer_::resize
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<InputStream>>
    signature: "StatusOr<std::unique_ptr<InputStream>> StreamingAeadDecryptingStream::New(\n
      \   std::unique_ptr<StreamSegmentDecrypter> segment_decrypter,\n    std::unique_ptr<InputStream>
      ciphertext_source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:119,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:124,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:124,1
    - Dst: get_header_size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:125,1
    - Dst: code
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:126,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:127,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:130,1
    - Dst: Init
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:131,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:132,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:135,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:135,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:135,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:136,1
    - Dst: code
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:136,1
    - Dst: code
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:139,1
    - Dst: DecryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:140,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:145,1
    - Dst: DecryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:148,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:154,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:155,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:156,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:157,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:163,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:166,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:173,1
    - Dst: resize
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:177,1
    - Dst: get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:177,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:178,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:178,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:178,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:179,1
    - Dst: code
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:179,1
    - Dst: code
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:182,1
    - Dst: DecryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:183,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:188,1
    - Dst: DecryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:191,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:197,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:198,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:200,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:201,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 202
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 202
    functionName: crypto::tink::subtle::StreamingAeadDecryptingStream::Next
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc
    functionUses: 0
    functionsReached:
    - DecryptSegment
    - size
    - ReadFromStream
    - get_ciphertext_segment_size
    - ok
    - Status
    - get
    - Init
    - resize
    - data
    - get_header_size
    - code
    linkageType: ''
    returnType: StatusOr<int>
    signature: StatusOr<int> StreamingAeadDecryptingStream::Next(const void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: crypto::tink::subtle::StreamingAeadDecryptingStream::BackUp
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void StreamingAeadDecryptingStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: crypto::tink::subtle::StreamingAeadDecryptingStream::Position
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t StreamingAeadDecryptingStream::Position() const
  - 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_header_size
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_header_size() const override
  - 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_ciphertext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_segment_size() const override
  - 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_ciphertext_offset
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_offset() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::MakeSecretUniquePtr<AES_KEY>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:50,1
    - Dst: AES_set_encrypt_key
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:51,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:51,1
    - Dst: absl::Span<const uint8_t>::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:51,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:52,1
    - Dst: util::SecretUniquePtr::get
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:53,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - absl::Span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: crypto::tink::subtle::InitializeAesKey
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - AES_set_encrypt_key
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::SecretUniquePtr::get
    - absl::Span<const uint8_t>::size
    - reinterpret_cast<const uint8_t*>
    - util::MakeSecretUniquePtr<AES_KEY>
    - absl::Span<const uint8_t>::data
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretUniquePtr<AES_KEY>>
    signature: "crypto::tink::util::StatusOr<util::SecretUniquePtr<AES_KEY>> InitializeAesKey(\n
      \   absl::Span<const uint8_t> key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesSivBoringSsl>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:65,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::IsValidKeySizeInBytes
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:67,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:68,1
    - Dst: InitializeAesKey
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:70,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:70,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:71,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:72,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:74,1
    - Dst: InitializeAesKey
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:75,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:75,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:75,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:76,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:80,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:81,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:81,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:81,1
    - Dst: AesSivBoringSsl::AesSivBoringSsl
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: crypto::tink::subtle::AesSivBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 2
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesSivBoringSsl::IsValidKeySizeInBytes
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - InitializeAesKey
    - internal::CheckFipsCompatibility<AesSivBoringSsl>
    - absl::MakeSpan
    - AesSivBoringSsl::AesSivBoringSsl
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<DeterministicAead>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<DeterministicAead>> AesSivBoringSsl::New(const
      util::SecretData& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:86,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:86,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:86,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:87,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK1
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
    - util::SecretData::data
    - crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData AesSivBoringSsl::ComputeCmacK1() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:93,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK2
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::SecretData::data
    - crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData AesSivBoringSsl::ComputeCmacK2() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:99,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 1
    functionsReached:
    - AES_encrypt
    - get
    linkageType: ''
    returnType: void
    signature: "void AesSivBoringSsl::EncryptBlock(const uint8_t in[kBlockSize],\n
      \                                  uint8_t out[kBlockSize]) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - block
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesSivBoringSsl::MultiplyByX(uint8_t block[kBlockSize])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - y
    - res
    argTypes:
    - uint8_t[]
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: crypto::tink::subtle::AesSivBoringSsl::XorBlock
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AesSivBoringSsl::XorBlock(const uint8_t x[kBlockSize],\n                               const
      uint8_t y[kBlockSize],\n                               uint8_t res[kBlockSize])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:129,1
    - Dst: std::begin
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:129,1
    - Dst: std::end
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:129,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:131,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:132,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:138,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:138,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:141,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:141,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - data
    - mac
    argTypes:
    - absl::Span<const uint8_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 144
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::AesSivBoringSsl::Cmac
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::end
    - std::begin
    - std::fill
    - crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
    - crypto::tink::subtle::AesSivBoringSsl::XorBlock
    - data
    linkageType: ''
    returnType: void
    signature: "void AesSivBoringSsl::Cmac(absl::Span<const uint8_t> data,\n                           uint8_t
      mac[kBlockSize]) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_n
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:151,1
    - Dst: absl::Span<const uint8_t>::begin
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:151,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:153,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:154,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:155,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:163,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:163,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:165,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:171,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:171,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - data
    - last
    - mac
    argTypes:
    - absl::Span<const uint8_t>
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 174
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 174
    functionName: crypto::tink::subtle::AesSivBoringSsl::CmacLong
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::copy_n
    - absl::Span<const uint8_t>::begin
    - crypto::tink::subtle::AesSivBoringSsl::XorBlock
    - crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
    - absl::Span<const uint8_t>::size
    - data
    linkageType: ''
    returnType: void
    signature: "void AesSivBoringSsl::CmacLong(absl::Span<const uint8_t> data,\n                               const
      uint8_t last[kBlockSize],\n                               uint8_t mac[kBlockSize])
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fill
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:181,1
    - Dst: std::begin
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:181,1
    - Dst: std::end
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:181,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::Cmac
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:182,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:183,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::Cmac
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:186,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:187,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:189,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::CmacLong
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:190,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:192,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:193,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:196,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::Cmac
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - aad
    - msg
    - siv
    argTypes:
    - absl::Span<const uint8_t>
    - absl::Span<const uint8_t>
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 199
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 199
    functionName: crypto::tink::subtle::AesSivBoringSsl::S2v
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::end
    - crypto::tink::subtle::AesSivBoringSsl::CmacLong
    - std::begin
    - std::fill
    - crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
    - absl::Span<const uint8_t>::size
    - crypto::tink::subtle::AesSivBoringSsl::Cmac
    - crypto::tink::subtle::AesSivBoringSsl::XorBlock
    linkageType: ''
    returnType: void
    signature: "void AesSivBoringSsl::S2v(absl::Span<const uint8_t> aad,\n                          absl::Span<const
      uint8_t> msg,\n                          uint8_t siv[kBlockSize]) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_n
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:206,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - in
    - siv
    - key
    - out
    argTypes:
    - absl::string_view
    - uint8_t[]
    - AES_KEY*
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: crypto::tink::subtle::AesSivBoringSsl::AesCtrCrypt
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AesCtr128Crypt
    - std::copy_n
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesSivBoringSsl::AesCtrCrypt(absl::string_view in,\n
      \                                         const uint8_t siv[kBlockSize],\n                                          const
      AES_KEY* key,\n                                          absl::Span<char> out)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesSivBoringSsl::S2v
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:215,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:215,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:215,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:215,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:216,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:217,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:217,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:217,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:218,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:223,1
    - Dst: std::copy
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:224,1
    - Dst: std::begin
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:224,1
    - Dst: std::end
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:224,1
    - Dst: std::string::begin
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:224,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::AesCtrCrypt
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:226,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:226,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:227,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 232
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 232
    functionName: crypto::tink::subtle::AesSivBoringSsl::EncryptDeterministically
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - std::end
    - util::Status::ok
    - crypto::tink::subtle::AesSivBoringSsl::AesCtrCrypt
    - crypto::tink::subtle::AesSivBoringSsl::S2v
    - ResizeStringUninitialized
    - std::begin
    - absl::string_view::data
    - std::string::begin
    - absl::MakeSpan
    - reinterpret_cast<const uint8_t*>
    - get
    - std::copy
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesSivBoringSsl::EncryptDeterministically(\n
      \   absl::string_view plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:236,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:237,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:242,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::AesCtrCrypt
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:244,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:244,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:244,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:245,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:246,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::S2v
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:251,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:251,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:251,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:251,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:252,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:253,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:253,1
    - Dst: std::string::data
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:253,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:256,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_siv_boringssl.cc:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 261
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 261
    functionName: crypto::tink::subtle::AesSivBoringSsl::DecryptDeterministically
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - std::string::data
    - absl::string_view::size
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::AesSivBoringSsl::AesCtrCrypt
    - ResizeStringUninitialized
    - crypto::tink::subtle::AesSivBoringSsl::S2v
    - absl::string_view::substr
    - absl::string_view::data
    - absl::MakeSpan
    - reinterpret_cast<const uint8_t*>
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesSivBoringSsl::DecryptDeterministically(\n
      \   absl::string_view ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<Ed25519SignBoringSsl>
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:50,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:51,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:59,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:61,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:63,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:66,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:67,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:70,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:74,1
    - Dst: Ed25519SignBoringSsl::Ed25519SignBoringSsl
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::Ed25519SignBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl.cc
    functionUses: 5
    functionsReached:
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - auto::ok
    - internal::CheckFipsCompatibility<Ed25519SignBoringSsl>
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - util::SecretData::data
    - util::SecretData::size
    - absl::StrFormat
    - Ed25519SignBoringSsl::Ed25519SignBoringSsl
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> Ed25519SignBoringSsl::New(\n
      \   util::SecretData private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:79,1
    - Dst: std::fill
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:82,1
    - Dst: std::begin
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:82,1
    - Dst: std::end
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:82,1
    - Dst: EVP_DigestSignInit
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:88,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:88,1
    - Dst: get
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:89,1
    - Dst: EVP_DigestSign
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:90,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:90,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:91,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:91,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:92,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:93,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:96,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: crypto::tink::subtle::Ed25519SignBoringSsl::Sign
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - std::end
    - reinterpret_cast<const uint8_t *>
    - std::string
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - EVP_DigestSignInit
    - std::begin
    - crypto::tink::internal::EnsureStringNonNull
    - std::fill
    - EVP_DigestSign
    - reinterpret_cast<char *>
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Ed25519SignBoringSsl::Sign(\n    absl::string_view
      data) const"
  - 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: crypto::tink::subtle::DecryptingRandomAccessStream::DecryptingRandomAccessStream
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecryptingRandomAccessStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:49,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:50,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:53,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:53,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:54,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ' ikm'
    - hkdf_hash
    - derived_key_size
    - ciphertext_offset
    - ciphertext_segment_size
    - associated_data
    argTypes:
    - util::SecretData
    - HashType
    - int
    - int
    - int
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::GetEncrypter
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - auto::value
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>> GetEncrypter(\n
      \   const util::SecretData& ikm, HashType hkdf_hash, int derived_key_size,\n
      \   int ciphertext_offset, int ciphertext_segment_size,\n    absl::string_view
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:69,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:69,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:70,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:79,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:86,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:87,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:87,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:91,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:92,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:93,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:93,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:94,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:95,1
    - Dst: auto::message
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:95,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:99,1
    - Dst: crypto::tink::subtle::GetEncrypter
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:99,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:103,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:104,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:109,1
    - Dst: auto::get_header_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:110,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:110,1
    - Dst: auto::get_header_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:111,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:112,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:114,1
    - Dst: auto::get_ciphertext_offset
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:114,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:116,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:118,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:118,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:125,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:131,1
    - Dst: auto::get_segment_number
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:131,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:137,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:139,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:140,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:141,1
    - Dst: auto::message
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:141,1
    - Dst: std::vector::resize
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:142,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:142,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:143,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:144,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:145,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:146,1
    - Dst: auto::message
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 153
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    - auto::ok
    - std::move
    - auto::get_segment_number
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - auto::message
    - EXPECT_FALSE
    - auto::status
    - std::string
    - std::vector::resize
    - auto::get_header
    - auto::get_plaintext_segment_size
    - SCOPED_TRACE
    - auto::code
    - auto::get_header_size
    - auto::Init
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_PRED_FORMAT2
    - crypto::tink::subtle::GetEncrypter
    - auto::get_ciphertext_segment_size
    - auto::get_ciphertext_offset
    - auto::value
    - auto::DecryptSegment
    - auto::EncryptSegment
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentDecrypterTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:160,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:160,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:162,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:165,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:171,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:172,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:173,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:173,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:174,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:175,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_PRED_FORMAT2
    - std::string
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentDecrypterTest, testWrongDerivedKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:185,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:185,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:187,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:191,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:197,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:198,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:199,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:199,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:200,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:201,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 205
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_PRED_FORMAT2
    - std::string
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentDecrypterTest, testWrongIkmSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:211,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:211,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:213,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:216,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:222,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:223,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:224,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:224,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:225,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:226,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 230
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_PRED_FORMAT2
    - std::string
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentDecrypterTest, testWrongCiphertextOffset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:244,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:244,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:249,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:254,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:256,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:257,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:258,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:259,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:260,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:262,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:262,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 268
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_PRED_FORMAT2
    - std::string
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentDecrypterTest, testWrongCiphertextSegmentSize)
  - 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: crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::KemKey::KemKey
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KemKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h:46,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kem_bytes
    - symmetric_key
    argTypes:
    - std::string
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::KemKey::KemKey
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KemKey(std::string kem_bytes, util::SecretData symmetric_key)
  - 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: '& get_kem_bytes() const'
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_kem_bytes() 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: '& get_symmetric_key() const'
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData & get_symmetric_key() 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: ~EciesHkdfSenderKemBoringSsl()
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EciesHkdfSenderKemBoringSsl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:45,1
    - Dst: ikm::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:48,1
    - Dst: ikm::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:62,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesGcmHkdfStreaming::Params
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: crypto::tink::subtle::Validate
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - ikm::size
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(const AesGcmHkdfStreaming::Params& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesGcmHkdfStreaming>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:71,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:72,1
    - Dst: Validate
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:75,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:76,1
    - Dst: AesGcmHkdfStreaming::AesGcmHkdfStreaming
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: crypto::tink::subtle::AesGcmHkdfStreaming::New
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - AesGcmHkdfStreaming::AesGcmHkdfStreaming
    - absl::WrapUnique
    - Validate
    - internal::CheckFipsCompatibility<AesGcmHkdfStreaming>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<AesGcmHkdfStreaming>>
    signature: "util::StatusOr<std::unique_ptr<AesGcmHkdfStreaming>> AesGcmHkdfStreaming::New(\n
      \   Params params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:83,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:84,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:87,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:90,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - associated_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: crypto::tink::subtle::AesGcmHkdfStreaming::NewSegmentEncrypter
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - std::move
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>> AesGcmHkdfStreaming::NewSegmentEncrypter(\n
      \   absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:102,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:103,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - associated_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: crypto::tink::subtle::AesGcmHkdfStreaming::NewSegmentDecrypter
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    - std::move
    - std::string
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>> AesGcmHkdfStreaming::NewSegmentDecrypter(\n
      \   absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesCtrBoringSsl>
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:46,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:47,1
    - Dst: crypto::tink::internal::GetAesCtrCipherForKeySize
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:50,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:50,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:51,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:56,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:59,1
    - Dst: AesCtrBoringSsl::AesCtrBoringSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - key
    - iv_size
    argTypes:
    - util::SecretData
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::AesCtrBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl.cc
    functionUses: 0
    functionsReached:
    - internal::CheckFipsCompatibility<AesCtrBoringSsl>
    - auto::ok
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::move
    - AesCtrBoringSsl::AesCtrBoringSsl
    - absl::WrapUnique
    - util::StatusOr::ok
    - crypto::tink::internal::GetAesCtrCipherForKeySize
    - util::SecretData::size
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<IndCpaCipher>>
    signature: "util::StatusOr<std::unique_ptr<IndCpaCipher>> AesCtrBoringSsl::New(\n
      \   util::SecretData key, int iv_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:66,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:70,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:73,1
    - Dst: std::string::resize
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:85,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:88,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:88,1
    - Dst: EVP_EncryptUpdate
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:90,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:91,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:91,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:92,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:92,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:96,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - plaintext
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 101
    functionName: crypto::tink::subtle::AesCtrBoringSsl::Encrypt
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl.cc
    functionUses: 0
    functionsReached:
    - EVP_EncryptUpdate
    - std::string::resize
    - absl::string_view::size
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - ResizeStringUninitialized
    - crypto::tink::internal::EnsureStringNonNull
    - crypto::tink::subtle::Random::GetRandomBytes
    - reinterpret_cast<uint8_t*>
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesCtrBoringSsl::Encrypt(\n    absl::string_view
      plaintext) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:105,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:106,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:112,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:117,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:117,1
    - Dst: std::string::resize
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:118,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:123,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:129,1
    - Dst: EVP_DecryptUpdate
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:132,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:133,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:133,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:134,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:134,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.cc:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ciphertext
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 145
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::AesCtrBoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::string_view::size
    - std::string::resize
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - ResizeStringUninitialized
    - absl::string_view::substr
    - EVP_DecryptUpdate
    - reinterpret_cast<uint8_t*>
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesCtrBoringSsl::Decrypt(\n    absl::string_view
      ciphertext) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.h:67,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ind_cpa_cipher
    - mac
    - tag_size
    argTypes:
    - std::unique_ptr<IndCpaCipher>
    - std::unique_ptr<Mac>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: crypto::tink::subtle::EncryptThenAuthenticate::EncryptThenAuthenticate
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EncryptThenAuthenticate(std::unique_ptr<IndCpaCipher> ind_cpa_cipher,\n
      \                         std::unique_ptr<Mac> mac, uint8_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:71,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:73,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:75,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:86,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:88,1
    - Dst: RSA_verify_PKCS1_PSS_mgf1
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:92,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:94,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:94,1
    - Dst: std::vector::data
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:95,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:96,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:97,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - rsa_public_key
    - signature
    - message_digest
    - sig_md
    - mgf1_md
    - salt_length
    argTypes:
    - RSA*
    - absl::string_view
    - absl::string_view
    - EVP_MD*
    - EVP_MD*
    - int32_t
    constantsTouched: []
    func_position:
      end: 101
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 101
    functionName: crypto::tink::subtle::SslRsaSsaPssVerify
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - absl::string_view::size
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    - RSA_verify_PKCS1_PSS_mgf1
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SslRsaSsaPssVerify(RSA* rsa_public_key,\n                                absl::string_view
      signature,\n                                absl::string_view message_digest,\n
      \                               const EVP_MD* sig_md, const EVP_MD* mgf1_md,\n
      \                               int32_t salt_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<RsaSsaPssVerifyBoringSsl>
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:109,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:110,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:115,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:116,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:120,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:121,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:122,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:127,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:128,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:129,1
    - Dst: crypto::tink::internal::RsaPublicKeyToRsa
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:135,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:136,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:137,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:141,1
    - Dst: RsaSsaPssVerifyBoringSsl::RsaSsaPssVerifyBoringSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' pub_key'
    - ' params'
    argTypes:
    - internal::RsaPublicKey
    - internal::RsaSsaPssParams
    constantsTouched: []
    func_position:
      end: 142
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 142
    functionName: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - internal::CheckFipsCompatibility<RsaSsaPssVerifyBoringSsl>
    - std::move
    - absl::WrapUnique
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - crypto::tink::internal::RsaPublicKeyToRsa
    - crypto::tink::internal::IsHashTypeSafeForSignature
    - RsaSsaPssVerifyBoringSsl::RsaSsaPssVerifyBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<RsaSsaPssVerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<RsaSsaPssVerifyBoringSsl>> RsaSsaPssVerifyBoringSsl::New(const
      internal::RsaPublicKey& pub_key,\n                              const internal::RsaSsaPssParams&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:148,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:149,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:150,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:151,1
    - Dst: SslRsaSsaPssVerify
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:153,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::Verify
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - SslRsaSsaPssVerify
    - crypto::tink::internal::ComputeHash
    - crypto::tink::internal::EnsureStringNonNull
    - util::StatusOr::ok
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status RsaSsaPssVerifyBoringSsl::Verify(absl::string_view signature,\n
      \                                             absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::ByteSwap
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ByteSwap(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ByteSwap
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:57,1
    - Dst: std::memcpy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - val
    argTypes:
    - uint8_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: crypto::tink::subtle::BigEndianStore32
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - crypto::tink::subtle::ByteSwap
    linkageType: ''
    returnType: void
    signature: void BigEndianStore32(uint8_t dst[4], uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:71,1
    - Dst: ikm::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:74,1
    - Dst: ikm::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:86,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesGcmHkdfStreamSegmentDecrypter::Params
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: crypto::tink::subtle::Validate
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - ikm::size
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(const AesGcmHkdfStreamSegmentDecrypter::Params&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::AesGcmHkdfStreamSegmentDecrypter
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesGcmHkdfStreamSegmentDecrypter::AesGcmHkdfStreamSegmentDecrypter(\n
      \   Params params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:109,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:113,1
    - Dst: AesGcmHkdfStreamSegmentDecrypter::AesGcmHkdfStreamSegmentDecrypter
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 6
    functionsReached:
    - auto::ok
    - std::move
    - absl::WrapUnique
    - AesGcmHkdfStreamSegmentDecrypter::AesGcmHkdfStreamSegmentDecrypter
    - Validate
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>>
    signature: util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>> AesGcmHkdfStreamSegmentDecrypter::New(Params
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:119,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:123,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:128,1
    - Dst: resize
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:132,1
    - Dst: resize
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:133,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:135,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:135,1
    - Dst: begin
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:136,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:137,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:137,1
    - Dst: begin
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:140,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:143,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:145,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:145,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:145,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:148,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:149,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:153,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:154,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:155,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:157,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::Init
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::status
    - size
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - crypto::tink::internal::ExtractStatus
    - absl::c_copy
    - begin
    - std::move
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - absl::StrCat
    - resize
    - crypto::tink::util::OkStatus
    - absl::MakeSpan
    - data
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesGcmHkdfStreamSegmentDecrypter::Init(\n    const std::vector<uint8_t>&
      header)"
  - 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_plaintext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AesGcmHkdfStreamSegmentDecrypter::get_plaintext_segment_size()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:171,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:174,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:174,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:175,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:179,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:183,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:186,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:187,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:189,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:195,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:199,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:199,1
    - Dst: BigEndianStore32
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:200,1
    - Dst: std::vector::data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:201,1
    - Dst: static_cast<uint32_t>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:202,1
    - Dst: std::vector::back
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:203,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:205,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:206,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:206,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:206,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:207,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:208,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:209,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:209,1
    - Dst: std::vector::data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:209,1
    - Dst: std::vector::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:209,1
    - Dst: absl::Span<char>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:210,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:210,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:210,1
    - Dst: std::vector<uint8_t>*::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:211,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:212,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:213,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ' ciphertext'
    - segment_number
    - is_last_segment
    - plaintext_buffer
    argTypes:
    - std::vector<uint8_t>
    - int64_t
    - bool
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 216
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 216
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::DecryptSegment
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::resize
    - absl::Span<char>
    - absl::c_copy
    - Decrypt
    - data
    - absl::string_view
    - std::vector::back
    - std::vector::size
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - std::vector::begin
    - crypto::tink::util::OkStatus
    - std::vector::data
    - std::numeric_limits<uint32_t>::max
    - std::vector<uint8_t>*::data
    - size
    - BigEndianStore32
    - std::vector<uint8_t>*::size
    - static_cast<uint32_t>
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_ciphertext_segment_size
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesGcmHkdfStreamSegmentDecrypter::DecryptSegment(\n    const
      std::vector<uint8_t>& ciphertext, int64_t segment_number,\n    bool is_last_segment,
      std::vector<uint8_t>* plaintext_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:62,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:63,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:67,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:67,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:69,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:69,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:70,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:74,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:79,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:80,1
    - Dst: size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:80,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsFipsModeEnabled
    - size
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - StatusIs
    - Decrypt
    - Encrypt
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(XChacha20Poly1305BoringSslTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:93,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:94,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:96,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:97,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:100,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:105,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:110,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:112,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:114,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:115,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:115,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:120,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:123,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - Decrypt
    - absl::StrCat
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(XChacha20Poly1305BoringSslTest, SimpleDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:129,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:130,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:132,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:133,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:137,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:137,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:140,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:145,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:145,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 148
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - StatusIs
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - crypto::tink::subtle::ResizeStringUninitialized
    - Decrypt
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(XChacha20Poly1305BoringSslTest, DecryptFailsIfCiphertextTooSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:151,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:152,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:154,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:155,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:159,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:161,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:161,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(XChacha20Poly1305BoringSslTest, FailisOnFipsOnlyMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:169,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:171,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:172,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:174,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:175,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:176,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:177,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:178,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:179,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:180,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: crypto::tink::subtle::XChacha20Poly1305BoringSslWycheproofTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - internal::WycheproofTestVector::key::size
    - IsFipsModeEnabled
    - crypto::tink::internal::IsBoringSsl
    - GTEST_SKIP
    - internal::WycheproofTestVector::tag::size
    - internal::WycheproofTestVector::nonce::size
    - GetParam
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:187,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:188,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:191,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:193,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:195,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:196,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:202,1
    - Dst: Not
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:202,1
    - Dst: AllOf
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:202,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:204,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:205,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:206,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - AllOf
    - util::StatusOr::status
    - EXPECT_EQ
    - IsOk
    - EXPECT_NE
    - Not
    - ASSERT_THAT
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - absl::StrCat
    - Decrypt
    - internal::WycheproofTestVector::nonce::size
    - internal::WycheproofTestVector::tag::size
    - GetParam
    - util::SecretData::size
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChacha20Poly1305BoringSslWycheproofTest, Decrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:86,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:87,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:90,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:91,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:92,1
    - Dst: crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:93,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:95,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:96,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:97,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:98,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:103,1
    - Dst: crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:103,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:105,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:106,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:107,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:108,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:110,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:111,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:111,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:112,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:112,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:113,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:113,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
    - auto::GenerateKey
    - EXPECT_EQ
    - std::move
    - auto::value
    - auto::get_kem_bytes
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::get_symmetric_key
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfSenderKemBoringSslTest, TestSenderRecipientBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:119,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:120,1
    - Dst: crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:124,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:125,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: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfSenderKemBoringSslTest, TestNewUnknownCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:131,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:132,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:135,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:136,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:136,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:137,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:138,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:140,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveSendKemBoringSslTest, TestNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:144,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:145,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:148,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:149,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:150,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:153,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
    - auto::status
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - EXPECT_EQ
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveSendKemBoringSslTest, TestNewInvalidCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:159,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:162,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:163,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:163,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:164,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:165,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:167,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:167,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:168,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:168,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:174,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:174,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:175,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:175,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:176,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:177,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - EXPECT_EQ
    - std::move
    - auto::value
    - auto::get_kem_bytes
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::get_symmetric_key
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveSendKemBoringSslTest, TestGenerateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:183,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:184,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:187,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:188,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:188,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:189,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:190,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:192,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:196,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:197,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:200,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:201,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:201,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:202,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:205,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestNewInvalidCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:210,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:211,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:214,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:215,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:215,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:216,1
    - Dst: auto::pub_x::resize
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:217,1
    - Dst: auto::pub_x::size
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:217,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:220,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - auto::pub_x::size
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::pub_x::resize
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestNewPubxTooLong)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:225,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:226,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:229,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:230,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:230,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:231,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:233,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:235,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestNewPubyNotEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:240,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:241,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:245,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:245,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:246,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:247,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:249,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:249,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:250,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:250,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:254,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:256,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:256,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:257,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:258,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:258,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:259,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 260
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - std::move
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - auto::value
    - auto::get_kem_bytes
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::get_symmetric_key
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestGenerateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:263,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:264,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:267,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:268,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:269,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:270,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:272,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:272,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:273,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:273,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:278,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 280
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::NewEcKey
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - EXPECT_EQ
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - std::move
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestGenerateKeyUncompressed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:284,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:285,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:288,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:291,1
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:291,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
    - crypto::tink::internal::NewEcKey
    - IsFipsModeEnabled
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfNistPCurveSendKemBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:298,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:299,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:302,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:305,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:305,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    - IsFipsModeEnabled
    - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesHkdfX25519SendKemBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesGcmBoringSsl>
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:39,1
    - Dst: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:44,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:45,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:46,1
    - Dst: absl::make_unique<internal::AeadFromZeroCopy>
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:48,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: crypto::tink::subtle::AesGcmBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl.cc
    functionUses: 5
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - absl::make_unique<internal::AeadFromZeroCopy>
    - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
    - std::move
    - internal::CheckFipsCompatibility<AesGcmBoringSsl>
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AesGcmBoringSsl::New(\n    const
      util::SecretData& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HKDF
      Src: /src/tink/cc/subtle/hkdf.cc:61,1
    - Dst: absl::Span<uint8_t>::data
      Src: /src/tink/cc/subtle/hkdf.cc:61,1
    - Dst: absl::Span<uint8_t>::size
      Src: /src/tink/cc/subtle/hkdf.cc:61,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:61,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:62,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hkdf.cc:63,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/hkdf.cc:65,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/tink/cc/subtle/hkdf.cc:69,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/hkdf.cc:69,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/tink/cc/subtle/hkdf.cc:70,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/hkdf.cc:70,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/tink/cc/subtle/hkdf.cc:71,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/hkdf.cc:71,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:71,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/tink/cc/subtle/hkdf.cc:72,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/hkdf.cc:72,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:72,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/tink/cc/subtle/hkdf.cc:73,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/hkdf.cc:73,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:73,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hkdf.cc:74,1
    - Dst: EVP_PKEY_derive
      Src: /src/tink/cc/subtle/hkdf.cc:78,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/hkdf.cc:78,1
    - Dst: absl::Span<uint8_t>::data
      Src: /src/tink/cc/subtle/hkdf.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hkdf.cc:79,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/hkdf.cc:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - evp_md
    - ikm
    - salt
    - info
    - out_key
    argTypes:
    - EVP_MD*
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<uint8_t>
    constantsTouched: []
    func_position:
      end: 83
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 83
    functionName: crypto::tink::subtle::SslHkdf
    functionSourceFile: /src/tink/cc/subtle/hkdf.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - EVP_PKEY_CTX_set1_hkdf_key
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_set1_hkdf_salt
    - absl::Span<uint8_t>::data
    - absl::Span<uint8_t>::size
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_hkdf_md
    - HKDF
    - crypto::tink::util::OkStatus
    - EVP_PKEY_CTX_add1_hkdf_info
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SslHkdf(const EVP_MD *evp_md, absl::string_view ikm,\n
      \                    absl::string_view salt, absl::string_view info,\n                     absl::Span<uint8_t>
      out_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/hkdf.cc:92,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/hkdf.cc:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/hkdf.cc:94,1
    - Dst: SslHkdf
      Src: /src/tink/cc/subtle/hkdf.cc:99,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/hkdf.cc:99,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/hkdf.cc:100,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/hkdf.cc:100,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/hkdf.cc:100,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/hkdf.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - hash
    - ikm
    - salt
    - info
    - out_len
    argTypes:
    - HashType
    - util::SecretData
    - absl::string_view
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: crypto::tink::subtle::Hkdf::ComputeHkdf
    functionSourceFile: /src/tink/cc/subtle/hkdf.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - util::Status::ok
    - util::StatusOr::status
    - SslHkdf
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - util::SecretData::data
    - util::SecretData::size
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> Hkdf::ComputeHkdf(HashType hash,\n
      \                                                  const util::SecretData &ikm,\n
      \                                                  absl::string_view salt,\n
      \                                                  absl::string_view info,\n
      \                                                  size_t out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/hkdf.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/hkdf.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/hkdf.cc:114,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/hkdf.cc:117,1
    - Dst: SslHkdf
      Src: /src/tink/cc/subtle/hkdf.cc:118,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/hkdf.cc:120,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/subtle/hkdf.cc:120,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/hkdf.cc:120,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/hkdf.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - hash
    - ikm
    - salt
    - info
    - out_len
    argTypes:
    - HashType
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: crypto::tink::subtle::Hkdf::ComputeHkdf
    functionSourceFile: /src/tink/cc/subtle/hkdf.cc
    functionUses: 3
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - ResizeStringUninitialized
    - reinterpret_cast<uint8_t *>
    - SslHkdf
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - std::string::size
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Hkdf::ComputeHkdf(HashType hash,\n                                              absl::string_view
      ikm,\n                                              absl::string_view salt,\n
      \                                             absl::string_view info,\n                                              size_t
      out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:131,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/hkdf.cc:131,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/hkdf.cc:132,1
    - Dst: util::SecretData::begin
      Src: /src/tink/cc/subtle/hkdf.cc:132,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/hkdf.cc:133,1
    - Dst: util::SecretData::begin
      Src: /src/tink/cc/subtle/hkdf.cc:133,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hkdf.cc:133,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/hkdf.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - hash
    - kem_bytes
    - shared_secret
    - salt
    - info
    - out_len
    argTypes:
    - HashType
    - absl::string_view
    - util::SecretData
    - absl::string_view
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
    functionSourceFile: /src/tink/cc/subtle/hkdf.cc
    functionUses: 2
    functionsReached:
    - util::SecretData::begin
    - absl::string_view::size
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - absl::c_copy
    - util::SecretData::size
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> Hkdf::ComputeEciesHkdfSymmetricKey(\n
      \   HashType hash, absl::string_view kem_bytes,\n    const util::SecretData
      &shared_secret, absl::string_view salt,\n    absl::string_view info, size_t
      out_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:43,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:44,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:45,1
    - Dst: EVP_MD_size
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:47,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:51,1
    - Dst: size
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:54,1
    - Dst: HMAC_Init
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:60,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:60,1
    - Dst: data
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:60,1
    - Dst: size
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:61,1
    - Dst: std::unique_ptr<StatefulMac>
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:66,1
    - Dst: StatefulHmacBoringSsl::StatefulHmacBoringSsl
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - hash_type
    - tag_size
    - ' key_value'
    argTypes:
    - HashType
    - uint32_t
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 67
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 67
    functionName: crypto::tink::subtle::StatefulHmacBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - StatefulHmacBoringSsl::StatefulHmacBoringSsl
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - std::move
    - EVP_MD_size
    - HMAC_Init
    - std::unique_ptr<StatefulMac>
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StatefulMac>>
    signature: "util::StatusOr<std::unique_ptr<StatefulMac>> StatefulHmacBoringSsl::New(\n
      \   HashType hash_type, uint32_t tag_size, const util::SecretData& key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:72,1
    - Dst: HMAC_Update
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:74,1
    - Dst: get
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:74,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:75,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:77,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::StatefulHmacBoringSsl::Update
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - HMAC_Update
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EnsureStringNonNull
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - get
    linkageType: ''
    returnType: util::Status
    signature: util::Status StatefulHmacBoringSsl::Update(absl::string_view data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Final
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:87,1
    - Dst: get
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:88,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:91,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: crypto::tink::subtle::StatefulHmacBoringSsl::Finalize
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<char*>
    - get
    - HMAC_Final
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> StatefulHmacBoringSsl::Finalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hash_type
    - tag_size
    - ' key_value'
    argTypes:
    - HashType
    - uint32_t
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::subtle::StatefulHmacBoringSslFactory::StatefulHmacBoringSslFactory
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StatefulHmacBoringSslFactory::StatefulHmacBoringSslFactory(\n
      \   HashType hash_type, uint32_t tag_size, const util::SecretData& key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: crypto::tink::subtle::StatefulHmacBoringSslFactory::Create
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StatefulMac>>
    signature: util::StatusOr<std::unique_ptr<StatefulMac>> StatefulHmacBoringSslFactory::Create()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:99,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:100,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:103,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:105,1
    - Dst: crypto::tink::subtle::EncryptThenAuthenticate::New
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:108,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:109,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:110,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - encryption_key
    - iv_size
    - mac_key
    - tag_size
    - hash_type
    argTypes:
    - util::SecretData
    - int
    - util::SecretData
    - uint8_t
    - HashType
    constantsTouched: []
    func_position:
      end: 113
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::createAead2
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - crypto::tink::subtle::HmacBoringSsl::New
    - auto::ok
    - std::move
    - auto::value
    - crypto::tink::subtle::EncryptThenAuthenticate::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> createAead2(\n    util::SecretData
      encryption_key, int iv_size, util::SecretData mac_key,\n    uint8_t tag_size,
      HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:120,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:121,1
    - Dst: crypto::tink::subtle::createAead2
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - encryption_key_size
    - iv_size
    - mac_key_size
    - tag_size
    - hash_type
    argTypes:
    - int
    - int
    - int
    - int
    - HashType
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: crypto::tink::subtle::createAead
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::subtle::createAead2
    - std::move
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> createAead(int encryption_key_size,\n
      \                                                int iv_size, int mac_key_size,\n
      \                                                int tag_size,\n                                                 HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:129,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:129,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:131,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:131,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:132,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:133,1
    - Dst: crypto::tink::subtle::createAead2
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:134,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:134,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:136,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:136,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:136,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:137,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:137,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:139,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::subtle::createAead2
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmBoringSslTest, testRfcVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:150,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:150,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:150,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:151,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:151,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:156,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:156,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:157,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:157,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:157,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:158,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:158,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:159,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:159,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:160,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::Decrypt
    - auto::value
    - crypto::tink::subtle::createAead
    - std::string::size
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenAuthenticateTest, testEncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:170,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:170,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:171,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:171,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:174,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:175,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:176,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:177,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:177,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:178,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:178,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:178,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:179,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:180,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:180,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:181,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::Decrypt
    - auto::Encrypt
    - auto::value
    - crypto::tink::subtle::createAead
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenAuthenticateTest, testEncryptDecrypt_randomMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:192,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:192,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:192,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:193,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:193,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:195,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:196,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:197,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:198,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 5
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_NE
    - std::move
    - auto::Encrypt
    - auto::value
    - crypto::tink::subtle::createAead
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, testMultipleEncrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:209,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:209,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_FALSE
    - auto::ok
    - crypto::tink::subtle::createAead
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenAuthenticateTest, testEncryptDecrypt_invalidTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:217,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:219,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:219,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:219,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:220,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:220,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:225,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:225,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:230,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:230,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:234,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:238,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:238,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:238,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:244,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 212
    functionDepth: 5
    functionLinenumber: 212
    functionLinenumberEnd: 246
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::Decrypt
    - auto::value
    - crypto::tink::subtle::createAead
    - std::string::size
    - auto::Encrypt
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenAuthenticateTest, testDecrypt_modifiedCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:253,1
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:253,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:261,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:261,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:266,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:267,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - std::move
    - auto::Decrypt
    - crypto::tink::subtle::createAead
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenAuthenticateTest, testParamsEmptyVersusNullStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:285,1
    - Dst: crypto::tink::subtle::createAead
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:285,1
    - Dst: std::string::reserve
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:296,1
    - Dst: std::string::resize
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:297,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:298,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:299,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:299,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:299,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:300,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:301,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:302,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:302,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:302,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:307,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:309,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 310
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
    functionUses: 0
    functionsReached:
    - std::string::reserve
    - auto::status
    - EXPECT_TRUE
    - std::string::resize
    - auto::ok
    - std::move
    - auto::Decrypt
    - auto::value
    - crypto::tink::subtle::createAead
    - auto::Encrypt
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenAuthenticateTest, testAuthBypassShouldNotWork)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::str2bn
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::StringToBignum
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<BIGNUM>>
    signature: "util::StatusOr<internal::SslUniquePtr<BIGNUM>> str2bn(\n      absl::string_view
      s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - len
    argTypes:
    - BIGNUM*
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: crypto::tink::subtle::bn2str
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> bn2str(const BIGNUM *bn,\n                                                   size_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bn
    - len
    argTypes:
    - BIGNUM*
    - size_t
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::subtle::BignumToSecretData
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToSecretData
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> BignumToSecretData(\n      const
      BIGNUM *bn, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/subtle_util_boringssl.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: crypto::tink::subtle::GetErrors
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetSslErrors
    linkageType: ''
    returnType: std::string
    signature: std::string GetErrors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:101,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:102,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:103,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: crypto::tink::subtle::GetEcGroup
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - util::StatusOr::release
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::status
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EC_GROUP *>
    signature: "crypto::tink::util::StatusOr<EC_GROUP *> GetEcGroup(\n      EllipticCurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::GetCurve
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CurveTypeFromEcGroup
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EllipticCurveType>
    signature: "crypto::tink::util::StatusOr<EllipticCurveType> GetCurve(\n      const
      EC_GROUP *group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:121,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:122,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:123,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - curve
    - pubx
    - puby
    argTypes:
    - EllipticCurveType
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: crypto::tink::subtle::GetEcPoint
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - util::StatusOr::release
    - util::StatusOr::status
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EC_POINT *>
    signature: "crypto::tink::util::StatusOr<EC_POINT *> GetEcPoint(\n      EllipticCurveType
      curve, absl::string_view pubx, absl::string_view puby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::GetNewEcKey
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcKey>
    signature: "crypto::tink::util::StatusOr<EcKey> GetNewEcKey(\n      EllipticCurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve_type
    - secret_seed
    argTypes:
    - EllipticCurveType
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: crypto::tink::subtle::GetNewEcKeyFromSeed
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewEcKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<EcKey>
    signature: "crypto::tink::util::StatusOr<EcKey> GetNewEcKeyFromSeed(\n      EllipticCurveType
      curve_type, const util::SecretData &secret_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:146,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:147,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: crypto::tink::subtle::GenerateNewX25519Key
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - std::move
    - crypto::tink::internal::NewX25519Key
    linkageType: ''
    returnType: std::unique_ptr<X25519Key>
    signature: std::unique_ptr<X25519Key> GenerateNewX25519Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::X25519KeyFromEcKey
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec_key
    argTypes:
    - EcKey
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: crypto::tink::subtle::X25519KeyFromEcKey
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::X25519KeyFromEcKey
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<X25519Key>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<X25519Key>> X25519KeyFromEcKey(const
      EcKey &ec_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcKeyFromX25519Key
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x25519_key
    argTypes:
    - X25519Key*
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: crypto::tink::subtle::EcKeyFromX25519Key
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcKeyFromX25519Key
    linkageType: ''
    returnType: EcKey
    signature: EcKey EcKeyFromX25519Key(const X25519Key *x25519_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:169,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:170,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 174
    functionName: crypto::tink::subtle::GetNewEd25519Key
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - std::move
    - crypto::tink::internal::NewEd25519Key
    linkageType: ''
    returnType: std::unique_ptr<Ed25519Key>
    signature: std::unique_ptr<Ed25519Key> GetNewEd25519Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:181,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:182,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - secret_seed
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: crypto::tink::subtle::GetNewEd25519KeyFromSeed
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - std::move
    - crypto::tink::internal::NewEd25519Key
    linkageType: ''
    returnType: std::unique_ptr<Ed25519Key>
    signature: "std::unique_ptr<Ed25519Key> GetNewEd25519KeyFromSeed(\n      const
      util::SecretData &secret_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve
    - format
    - encoded
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: crypto::tink::subtle::EcPointDecode
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointDecode
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<internal::SslUniquePtr<EC_POINT>>
    signature: "crypto::tink::util::StatusOr<internal::SslUniquePtr<EC_POINT>> EcPointDecode(EllipticCurveType
      curve, EcPointFormat format,\n                absl::string_view encoded)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve
    - format
    - point
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: crypto::tink::subtle::EcPointEncode
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncode
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> EcPointEncode(\n      EllipticCurveType
      curve, EcPointFormat format, const EC_POINT *point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ComputeEcdhSharedSecret
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve
    - priv_key
    - pub_key
    argTypes:
    - EllipticCurveType
    - BIGNUM*
    - EC_POINT*
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: crypto::tink::subtle::ComputeEcdhSharedSecret
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ComputeEcdhSharedSecret
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretData>
    signature: "crypto::tink::util::StatusOr<util::SecretData> ComputeEcdhSharedSecret(EllipticCurveType
      curve, const BIGNUM *priv_key,\n                          const EC_POINT *pub_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcSignatureIeeeToDer
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group
    - ieee_sig
    argTypes:
    - EC_GROUP*
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: crypto::tink::subtle::EcSignatureIeeeToDer
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcSignatureIeeeToDer
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> EcSignatureIeeeToDer(\n
      \     const EC_GROUP *group, absl::string_view ieee_sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: crypto::tink::subtle::EvpHash
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EvpHashFromHashType
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<const EVP_MD *>
    signature: "crypto::tink::util::StatusOr<const EVP_MD *> EvpHash(\n      HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig_hash
    argTypes:
    - subtle::HashType
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: crypto::tink::subtle::ValidateSignatureHash
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsHashTypeSafeForSignature
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateSignatureHash(\n      subtle::HashType
      sig_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: crypto::tink::subtle::EnsureNonNull
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EnsureStringNonNull
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view EnsureNonNull(absl::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - modulus_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: crypto::tink::subtle::ValidateRsaModulusSize
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateRsaModulusSize(\n      size_t modulus_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exponent
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: crypto::tink::subtle::ValidateRsaPublicExponent
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ValidateRsaPublicExponent
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateRsaPublicExponent(\n      absl::string_view
      exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - modulus_size_in_bits
    - e
    - private_key
    - public_key
    argTypes:
    - int
    - BIGNUM*
    - RsaPrivateKey*
    - RsaPublicKey*
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: crypto::tink::subtle::GetNewRsaKeyPair
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    linkageType: ''
    returnType: util::Status
    signature: "util::Status GetNewRsaKeyPair(int modulus_size_in_bits,\n                                              const
      BIGNUM *e,\n                                              RsaPrivateKey *private_key,\n
      \                                             RsaPublicKey *public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetRsaModAndExponents
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - RsaPrivateKey
    - RSA*
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: crypto::tink::subtle::CopyKey
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetRsaModAndExponents
    linkageType: ''
    returnType: util::Status
    signature: util::Status CopyKey(const RsaPrivateKey &key, RSA *rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetRsaPrimeFactors
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - RsaPrivateKey
    - RSA*
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: crypto::tink::subtle::CopyPrimeFactors
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetRsaPrimeFactors
    linkageType: ''
    returnType: util::Status
    signature: "util::Status CopyPrimeFactors(const RsaPrivateKey &key,\n                                              RSA
      *rsa)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetRsaCrtParams
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - rsa
    argTypes:
    - RsaPrivateKey
    - RSA*
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: crypto::tink::subtle::CopyCrtParams
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetRsaCrtParams
    linkageType: ''
    returnType: util::Status
    signature: util::Status CopyCrtParams(const RsaPrivateKey &key, RSA *rsa)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RsaPrivateKeyToRsa
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: crypto::tink::subtle::BoringSslRsaFromRsaPrivateKey
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::RsaPrivateKeyToRsa
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<RSA>>
    signature: util::StatusOr<internal::SslUniquePtr<RSA>> BoringSslRsaFromRsaPrivateKey(const
      RsaPrivateKey &key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RsaPublicKeyToRsa
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - RsaPublicKey
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: crypto::tink::subtle::BoringSslRsaFromRsaPublicKey
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::RsaPublicKeyToRsa
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<RSA>>
    signature: util::StatusOr<internal::SslUniquePtr<RSA>> BoringSslRsaFromRsaPublicKey(const
      RsaPublicKey &key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesCtrCipherForKeySize
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:319,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: crypto::tink::subtle::GetAesCtrCipherForKeySize
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - crypto::tink::internal::GetAesCtrCipherForKeySize
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *GetAesCtrCipherForKeySize(\n      uint32_t size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmCipherForKeySize
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:331,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 336
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 336
    functionName: crypto::tink::subtle::GetAesGcmCipherForKeySize
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::GetAesGcmCipherForKeySize
    - util::StatusOr::ok
    linkageType: ''
    returnType: EVP_CIPHER
    signature: "EVP_CIPHER *GetAesGcmCipherForKeySize(\n      uint32_t size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmAeadForKeySize
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:344,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: crypto::tink::subtle::GetAesGcmAeadForKeySize
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - crypto::tink::internal::GetAesGcmAeadForKeySize
    linkageType: ''
    returnType: EVP_AEAD
    signature: "EVP_AEAD *GetAesGcmAeadForKeySize(\n      uint32_t size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:359,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:360,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:361,1
    - Dst: std::vector<uint8_t>
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:363,1
    - Dst: util::StatusOr::begin
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:363,1
    - Dst: util::StatusOr::end
      Src: /src/tink/cc/subtle/subtle_util_boringssl.h:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - hasher
    argTypes:
    - absl::string_view
    - EVP_MD
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: crypto::tink::boringssl::ComputeHash
    functionSourceFile: /src/tink/cc/subtle/subtle_util_boringssl.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>
    - util::StatusOr::end
    - util::StatusOr::status
    - crypto::tink::internal::ComputeHash
    - util::StatusOr::ok
    - util::StatusOr::begin
    linkageType: ''
    returnType: util::StatusOr<std::vector<uint8_t>>
    signature: "util::StatusOr<std::vector<uint8_t>> ComputeHash(absl::string_view
      input,\n                                                        const EVP_MD
      &hasher)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tag_size
    - ctx
    argTypes:
    - uint32_t
    - internal::SslUniquePtr<CMAC_CTX>
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: crypto::tink::subtle::StatefulCmacBoringSsl::StatefulCmacBoringSsl
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StatefulCmacBoringSsl(uint32_t tag_size, internal::SslUniquePtr<CMAC_CTX>
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/subtle/ec_util.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - curve_type
    - point_format
    argTypes:
    - EllipticCurveType
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: crypto::tink::subtle::EncodingSizeInBytes
    functionSourceFile: /src/tink/cc/subtle/ec_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<uint32_t>
    signature: "crypto::tink::util::StatusOr<uint32_t> EncodingSizeInBytes(\n      EllipticCurveType
      curve_type, EcPointFormat point_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/subtle/ec_util.h:47,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ec_util.h:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: crypto::tink::subtle::FieldSizeInBytes
    functionSourceFile: /src/tink/cc/subtle/ec_util.h
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - crypto::tink::internal::EcFieldSizeInBytes
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t FieldSizeInBytes(EllipticCurveType curve_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesCmacBoringSsl>
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:57,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:58,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:60,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:60,1
    - Dst: ToStatusF
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:61,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:63,1
    - Dst: ToStatusF
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:66,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:70,1
    - Dst: AesCmacBoringSsl::AesCmacBoringSsl
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - key
    - tag_size
    argTypes:
    - util::SecretData
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: crypto::tink::subtle::AesCmacBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl.cc
    functionUses: 11
    functionsReached:
    - internal::CheckFipsCompatibility<AesCmacBoringSsl>
    - auto::ok
    - std::move
    - absl::WrapUnique
    - ToStatusF
    - util::SecretData::size
    - AesCmacBoringSsl::AesCmacBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Mac>>
    signature: "util::StatusOr<std::unique_ptr<Mac>> AesCmacBoringSsl::New(util::SecretData
      key,\n                                                           uint32_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:77,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:80,1
    - Dst: crypto::tink::internal::GetAesCbcCipherForKeySize
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:83,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:83,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:84,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: crypto::tink::subtle::AesCmacBoringSsl::ComputeMac
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - ResizeStringUninitialized
    - crypto::tink::internal::EnsureStringNonNull
    - util::StatusOr::ok
    - crypto::tink::internal::GetAesCbcCipherForKeySize
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesCmacBoringSsl::ComputeMac(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:108,1
    - Dst: ToStatusF
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:109,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:111,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:113,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::ComputeMac
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:114,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:115,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:116,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:116,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:116,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:117,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mac
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::AesCmacBoringSsl::VerifyMac
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - crypto::tink::internal::CallWithCoreDumpProtection
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::AesCmacBoringSsl::ComputeMac
    - ToStatusF
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - util::StatusOr::data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesCmacBoringSsl::VerifyMac(absl::string_view mac,\n
      \                                        absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tink/cc/subtle/test_util.h:80,1
    - Dst: resize
      Src: /src/tink/cc/subtle/test_util.h:81,1
    - Dst: static_cast<uint8_t>
      Src: /src/tink/cc/subtle/test_util.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pt_segment_size
    - header_size
    - ct_offset
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::DummyStreamSegmentEncrypter
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - resize
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void DummyStreamSegmentEncrypter(int pt_segment_size,\n                              int
      header_size,\n                              int ct_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/tink/cc/subtle/test_util.h:87,1
    - Dst: end
      Src: /src/tink/cc/subtle/test_util.h:87,1
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:93,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/test_util.h:95,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/test_util.h:96,1
    - Dst: std::string::append
      Src: /src/tink/cc/subtle/test_util.h:98,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/test_util.h:98,1
    - Dst: std::string::append
      Src: /src/tink/cc/subtle/test_util.h:100,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/test_util.h:100,1
    - Dst: std::string::append
      Src: /src/tink/cc/subtle/test_util.h:101,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/test_util.h:101,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/test_util.h:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - plaintext
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::GenerateCiphertext
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - end
    - absl::string_view::size
    - size
    - begin
    - std::string::append
    - reinterpret_cast<const char*>
    - absl::string_view::substr
    linkageType: ''
    returnType: std::string
    signature: std::string GenerateCiphertext(absl::string_view plaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/test_util.h:111,1
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:111,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/test_util.h:112,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/test_util.h:112,1
    - Dst: data
      Src: /src/tink/cc/subtle/test_util.h:112,1
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:112,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/test_util.h:113,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/test_util.h:113,1
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:113,1
    - Dst: std::vector<uint8_t>*::back
      Src: /src/tink/cc/subtle/test_util.h:116,1
    - Dst: std::vector<uint8_t>*::size
      Src: /src/tink/cc/subtle/test_util.h:118,1
    - Dst: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::IncSegmentNumber
      Src: /src/tink/cc/subtle/test_util.h:119,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/test_util.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ' plaintext'
    - is_last_segment
    - ciphertext_buffer
    argTypes:
    - std::vector<uint8_t>
    - bool
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::EncryptSegment
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::data
    - std::vector<uint8_t>*::size
    - std::vector<uint8_t>*::resize
    - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::IncSegmentNumber
    - size
    - std::vector<uint8_t>*::back
    - crypto::tink::util::OkStatus
    - data
    - memcpy
    linkageType: ''
    returnType: util::Status
    signature: "util::Status EncryptSegment(\n      const std::vector<uint8_t>& plaintext,\n
      \     bool is_last_segment,\n      std::vector<uint8_t>* ciphertext_buffer)
      override"
  - 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: '& get_header() const override'
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_header() const override
  - 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: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_segment_number
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_segment_number() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_plaintext_segment_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_plaintext_segment_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_ciphertext_segment_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_segment_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_ciphertext_offset
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_offset() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: ~DummyStreamSegmentEncrypter() override
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyStreamSegmentEncrypter() override
  - 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: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_generated_output_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_generated_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: crypto::tink::subtle::test::DummyStreamSegmentEncrypter::IncSegmentNumber
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncSegmentNumber() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/tink/cc/subtle/test_util.h:172,1
    - Dst: resize
      Src: /src/tink/cc/subtle/test_util.h:173,1
    - Dst: static_cast<uint8_t>
      Src: /src/tink/cc/subtle/test_util.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pt_segment_size
    - header_size
    - ct_offset
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::DummyStreamSegmentDecrypter
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - resize
    - static_cast<uint8_t>
    linkageType: ''
    returnType: void
    signature: "void DummyStreamSegmentDecrypter(int pt_segment_size,\n                              int
      header_size,\n                              int ct_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:178,1
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:178,1
    - Dst: memcmp
      Src: /src/tink/cc/subtle/test_util.h:179,1
    - Dst: data
      Src: /src/tink/cc/subtle/test_util.h:179,1
    - Dst: data
      Src: /src/tink/cc/subtle/test_util.h:179,1
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:179,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/test_util.h:180,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/test_util.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::Init
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - data
    - memcmp
    linkageType: ''
    returnType: util::Status
    signature: util::Status Init(const std::vector<uint8_t>& header) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h: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: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_header_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int
    signature: int get_header_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/subtle/test_util.h:195,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/test_util.h:196,1
    - Dst: back
      Src: /src/tink/cc/subtle/test_util.h:199,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/test_util.h:202,1
    - Dst: memcmp
      Src: /src/tink/cc/subtle/test_util.h:207,1
    - Dst: data
      Src: /src/tink/cc/subtle/test_util.h:207,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/test_util.h:208,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/test_util.h:210,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/test_util.h:213,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/test_util.h:214,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/test_util.h:214,1
    - Dst: data
      Src: /src/tink/cc/subtle/test_util.h:214,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/test_util.h:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ' ciphertext'
    - segment_number
    - is_last_segment
    - plaintext_buffer
    argTypes:
    - std::vector<uint8_t>
    - int64_t
    - bool
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 217
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 217
    functionName: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::DecryptSegment
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::data
    - std::vector<uint8_t>*::resize
    - size
    - crypto::tink::internal::ExtractStatus
    - back
    - reinterpret_cast<const char*>
    - memcpy
    - crypto::tink::util::OkStatus
    - data
    - memcmp
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DecryptSegment(\n      const std::vector<uint8_t>& ciphertext,\n
      \     int64_t segment_number,\n      bool is_last_segment,\n      std::vector<uint8_t>*
      plaintext_buffer) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_plaintext_segment_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_plaintext_segment_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_ciphertext_segment_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_segment_size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_ciphertext_offset
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_offset() const override
  - 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: ~DummyStreamSegmentDecrypter() override
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyStreamSegmentDecrypter() override
  - 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: crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_generated_output_size
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_generated_output_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pt_segment_size
    - header_size
    - ct_offset
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: crypto::tink::subtle::test::DummyStreamingAead::DummyStreamingAead
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyStreamingAead(int pt_segment_size, int header_size, int ct_offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyStreamSegmentEncrypter>
      Src: /src/tink/cc/subtle/test_util.h:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - associated_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: crypto::tink::subtle::test::DummyStreamingAead::NewSegmentEncrypter
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyStreamSegmentEncrypter>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>> NewSegmentEncrypter(\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/test_util.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - associated_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: crypto::tink::subtle::test::DummyStreamingAead::NewSegmentDecrypter
    functionSourceFile: /src/tink/cc/subtle/test_util.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>> NewSegmentDecrypter(\n
      \     absl::string_view associated_data) const override"
  - 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: ~RsaSsaPssVerifyBoringSsl() override
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RsaSsaPssVerifyBoringSsl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rsa
    - sig_hash
    - mgf1_hash
    - salt_length
    argTypes:
    - internal::SslUniquePtr<RSA>
    - EVP_MD*
    - EVP_MD*
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::RsaSsaPssVerifyBoringSsl
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPssVerifyBoringSsl(internal::SslUniquePtr<RSA> rsa,\n                           const
      EVP_MD* sig_hash, const EVP_MD* mgf1_hash,\n                           int salt_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:56,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:57,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:66,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:66,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:67,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:74,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:79,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:80,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:80,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:81,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:81,1
    - Dst: auto::NewEncryptingStream
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:87,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:88,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:89,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:91,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:94,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:94,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:96,1
    - Dst: crypto::tink::subtle::EncryptThenDecrypt
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:97,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:97,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 106
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::NewEncryptingStream
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - crypto::tink::subtle::EncryptThenDecrypt
    - EXPECT_FALSE
    - auto::status
    - std::string
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_PRED_FORMAT2
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - auto::value
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:109,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:110,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:114,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:119,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:121,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:121,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:122,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:123,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_PRED_FORMAT2
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testIkmSmallerThanDerivedKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:127,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:128,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:132,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:138,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:140,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:141,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:142,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_PRED_FORMAT2
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testIkmSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:147,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:148,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:152,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:158,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:159,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:160,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:160,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:161,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:162,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_PRED_FORMAT2
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testWrongHkdfHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:166,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:167,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:171,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:177,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:178,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:179,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:179,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:180,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:181,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_PRED_FORMAT2
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testWrongDerivedKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:185,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:186,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:190,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:196,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:196,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:197,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:198,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:198,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:199,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:200,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_PRED_FORMAT2
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testWrongCiphertextOffset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:204,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:205,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:209,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:215,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:215,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:216,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:217,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:217,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:218,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:219,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::ok
    - EXPECT_EQ
    - std::move
    - EXPECT_PRED_FORMAT2
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, testWrongCiphertextSegmentSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:223,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:224,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:227,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:233,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:234,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:234,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:240,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:240,1
    - Dst: NewDecryptingRandomAccessStream
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:244,1
    - Dst: absl::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:249,1
    - Dst: absl::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:251,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:251,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:251,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - util::StatusOr::status
    - IsOk
    - std::move
    - size
    - ASSERT_THAT
    - NewDecryptingRandomAccessStream
    - absl::StatusOr::status
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::StrCat
    - IsOkAndHolds
    - absl::make_unique<internal::TestRandomAccessStream>
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, SizeIsUnauthenticated)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:256,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:257,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:267,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:267,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:267,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - std::move
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:72,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:81,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:82,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 101
    functionName: crypto::tink::subtle::GetNistTestVector
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::HexStringToBytes
    linkageType: ''
    returnType: NistTestVector
    signature: NistTestVector GetNistTestVector()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:105,1
    - Dst: crypto::tink::subtle::GetNistTestVector
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:107,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:117,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:120,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:120,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::Status::ok
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - Verify
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - crypto::tink::subtle::GetNistTestVector
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyBoringSslTest, BasicVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:124,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:125,1
    - Dst: crypto::tink::subtle::GetNistTestVector
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:127,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:134,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:134,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:140,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:141,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:141,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:142,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:144,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:144,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:148,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:150,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:150,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:151,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:153,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - crypto::tink::subtle::GetNistTestVector
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyBoringSslTest, NewErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:158,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:159,1
    - Dst: crypto::tink::subtle::GetNistTestVector
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:161,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:171,1
    - Dst: NistTestVector::message::length
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:173,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:177,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:178,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:178,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:178,1
    - Dst: NistTestVector::signature::length
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:181,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:185,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:186,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:186,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:186,1
    - Dst: NistTestVector::signature::length
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:189,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:193,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:193,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - NistTestVector::message::length
    - util::Status::ok
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - NistTestVector::signature::length
    - Verify
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - crypto::tink::subtle::GetNistTestVector
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyBoringSslTest, Modification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:217,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:217,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:218,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:219,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:220,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:221,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetInteger
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:224,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetInteger
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:225,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:227,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:228,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:229,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:230,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:231,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:232,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:233,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:233,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: crypto::tink::subtle::ReadTestVectors
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - std::string
    - crypto::tink::subtle::WycheproofUtil::GetHashType
    - GetInt
    - crypto::tink::subtle::WycheproofUtil::GetInteger
    - std::vector::push_back
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: std::vector<RsaSsaPssWycheproofTestVector>
    signature: "std::vector<RsaSsaPssWycheproofTestVector> ReadTestVectors(\n    absl::string_view
      file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' test_vector'
    argTypes:
    - RsaSsaPssWycheproofTestVector
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: crypto::tink::subtle::GetVerifier
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<RsaSsaPssVerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<RsaSsaPssVerifyBoringSsl>> GetVerifier(\n
      \   const RsaSsaPssWycheproofTestVector& test_vector)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:258,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:259,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:261,1
    - Dst: crypto::tink::subtle::GetVerifier
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:264,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:268,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:276,1
    - Dst: testing::Not
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GetVerifier
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - Verify
    - GTEST_SKIP
    - EXPECT_THAT
    - GetParam
    - testing::Not
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssWycheproofTest, SignatureVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:281,1
    - Dst: crypto::tink::subtle::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:283,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:285,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:285,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:285,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:285,1
    - Dst: crypto::tink::subtle::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:286,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:288,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:288,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:288,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:288,1
    - Dst: crypto::tink::subtle::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:289,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:291,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:291,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:291,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:291,1
    - Dst: crypto::tink::subtle::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:292,1
    - Dst: std::vector::insert
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:294,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:294,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:294,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: crypto::tink::subtle::GetTestParameters
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ReadTestVectors
    - std::vector::begin
    - std::vector::insert
    - std::vector::end
    linkageType: ''
    returnType: std::vector<RsaSsaPssWycheproofTestVector>
    signature: std::vector<RsaSsaPssWycheproofTestVector> GetTestParameters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:310,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:310,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:311,1
    - Dst: crypto::tink::subtle::GetNistTestVector
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:314,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:321,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:321,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 323
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::GetNistTestVector
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyBoringSslTest, TestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:326,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:326,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:327,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:338,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:338,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:339,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:340,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:341,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:342,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - BN_set_word
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyBoringSslTest, TestAllowedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:347,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:347,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:348,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:359,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:359,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:360,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:361,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:361,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:362,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:363,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:363,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:366,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:367,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:368,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:369,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:369,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 371
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - BN_set_word
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyBoringSslTest, TestRestrictedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:54,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:58,1
    - Dst: DecryptingRandomAccessStream::DecryptingRandomAccessStream
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:65,1
    - Dst: std::unique_ptr::segment_decrypter_::get_ciphertext_offset
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:68,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:76,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - segment_decrypter
    - ciphertext_source
    argTypes:
    - std::unique_ptr<StreamSegmentDecrypter>
    - std::unique_ptr<RandomAccessStream>
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::New
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - DecryptingRandomAccessStream::DecryptingRandomAccessStream
    - crypto::tink::internal::ExtractStatus
    - std::move
    - Status
    - std::unique_ptr::segment_decrypter_::get_ciphertext_offset
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<RandomAccessStream>>
    signature: "StatusOr<std::unique_ptr<RandomAccessStream>> DecryptingRandomAccessStream::New(\n
      \   std::unique_ptr<StreamSegmentDecrypter> segment_decrypter,\n    std::unique_ptr<RandomAccessStream>
      ciphertext_source)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:88,1
    - Dst: Buffer*::set_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:92,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:94,1
    - Dst: Buffer*::allocated_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:97,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:98,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:101,1
    - Dst: InitializeIfNeeded
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:107,1
    - Dst: ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:108,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:112,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::PReadAndDecrypt
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - Buffer*
    constantsTouched: []
    func_position:
      end: 115
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 115
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - InitializeIfNeeded
    - crypto::tink::subtle::DecryptingRandomAccessStream::PReadAndDecrypt
    - ok
    - Status
    - Buffer*::allocated_size
    - Buffer*::set_size
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DecryptingRandomAccessStream::PRead(int64_t position,
      int count,\n                                                 Buffer* dest_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:128,1
    - Dst: get_header_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:134,1
    - Dst: get_ciphertext_offset
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:135,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:136,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:137,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:138,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:141,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:141,1
    - Dst: PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:142,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:142,1
    - Dst: ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:143,1
    - Dst: code
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:144,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:146,1
    - Dst: Init
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:150,1
    - Dst: std::vector<uint8_t>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:150,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:151,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:151,1
    - Dst: ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:152,1
    - Dst: get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:153,1
    - Dst: get_plaintext_segment_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:154,1
    - Dst: size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:158,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:159,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:160,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:176,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:177,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:178,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 193
    functionName: crypto::tink::subtle::ABSL_EXCLUSIVE_LOCKS_REQUIRED
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - crypto::tink::util::Buffer::New
    - absl::StrCat
    - Init
    - auto::get_mem_block
    - auto::status
    - get_ciphertext_segment_size
    - StatusOr::status
    - Status
    - std::numeric_limits<uint32_t>::max
    - size
    - get_header_size
    - code
    - StatusOr::ok
    - std::vector<uint8_t>
    - PRead
    - ok
    - auto::value
    - get_plaintext_segment_size
    - auto::get
    - get_ciphertext_offset
    linkageType: ''
    returnType: void
    signature: void ABSL_EXCLUSIVE_LOCKS_REQUIRED(status_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::GetSegmentNr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pt_position
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::GetPlaintextOffset
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DecryptingRandomAccessStream::GetSegmentNr
    linkageType: ''
    returnType: int
    signature: int DecryptingRandomAccessStream::GetPlaintextOffset(int64_t pt_position)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt_position
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::GetSegmentNr
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t DecryptingRandomAccessStream::GetSegmentNr(int64_t pt_position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:213,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:214,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:226,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:227,1
    - Dst: Buffer*::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:228,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:229,1
    - Dst: DecryptSegment
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:231,1
    - Dst: std::vector<uint8_t>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:232,1
    - Dst: Buffer*::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:232,1
    - Dst: Buffer*::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:233,1
    - Dst: Buffer*::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:233,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:235,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:237,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - segment_nr
    - ct_buffer
    - pt_segment
    argTypes:
    - int64_t
    - Buffer*
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::ReadAndDecryptSegment
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - DecryptSegment
    - std::vector<uint8_t>
    - auto::ok
    - Status
    - crypto::tink::subtle::DecryptingRandomAccessStream::PRead
    - absl::StrCat
    - auto::code
    - Buffer*::size
    - crypto::tink::util::OkStatus
    - Buffer*::get_mem_block
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DecryptingRandomAccessStream::ReadAndDecryptSegment(\n
      \   int64_t segment_nr, Buffer* ct_buffer, std::vector<uint8_t>* pt_segment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer*::allocated_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:247,1
    - Dst: Buffer*::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:247,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:248,1
    - Dst: std::numeric_limits<int64_t>::max
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:252,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:253,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:255,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:260,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:261,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:262,1
    - Dst: Status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:264,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:268,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:269,1
    - Dst: ToStatusF
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:270,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:273,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:273,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::GetSegmentNr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:279,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::ReadAndDecryptSegment
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:281,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:281,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:282,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:282,1
    - Dst: Buffer*::set_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:285,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:286,1
    - Dst: std::memcpy
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:287,1
    - Dst: Buffer*::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:287,1
    - Dst: std::vector::data
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:288,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:290,1
    - Dst: Buffer*::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:294,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:299,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - Buffer*
    constantsTouched: []
    func_position:
      end: 300
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 300
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::PReadAndDecrypt
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::subtle::DecryptingRandomAccessStream::ReadAndDecryptSegment
    - auto::ok
    - std::move
    - crypto::tink::util::Buffer::New
    - absl::StrCat
    - Buffer*::size
    - Status
    - Buffer*::allocated_size
    - crypto::tink::subtle::DecryptingRandomAccessStream::GetSegmentNr
    - auto::code
    - std::numeric_limits<int64_t>::max
    - crypto::tink::util::OkStatus
    - std::vector::data
    - Buffer*::set_size
    - crypto::tink::subtle::DecryptingRandomAccessStream::size
    - Buffer*::get_mem_block
    - ToStatusF
    - auto::value
    - auto::get
    - std::memcpy
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DecryptingRandomAccessStream::PReadAndDecrypt(\n    int64_t
      position, int count, Buffer* dest_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InitializeIfNeeded
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:305,1
    - Dst: ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream.cc:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 309
    functionName: crypto::tink::subtle::DecryptingRandomAccessStream::size
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream.cc
    functionUses: 1
    functionsReached:
    - ok
    - InitializeIfNeeded
    linkageType: ''
    returnType: StatusOr<int64_t>
    signature: StatusOr<int64_t> DecryptingRandomAccessStream::size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<XChacha20Poly1305BoringSsl>
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:51,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:52,1
    - Dst: crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:56,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:57,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:58,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:61,1
    - Dst: XChacha20Poly1305BoringSsl::XChacha20Poly1305BoringSsl
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc
    functionUses: 5
    functionsReached:
    - XChacha20Poly1305BoringSsl::XChacha20Poly1305BoringSsl
    - util::StatusOr::status
    - auto::ok
    - std::move
    - crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
    - absl::WrapUnique
    - util::StatusOr::ok
    - internal::CheckFipsCompatibility<XChacha20Poly1305BoringSsl>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> XChacha20Poly1305BoringSsl::New(\n
      \   util::SecretData key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:70,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:72,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:72,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:73,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:76,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:78,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::Encrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:79,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: crypto::tink::subtle::XChacha20Poly1305BoringSsl::Encrypt
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc
    functionUses: 1
    functionsReached:
    - absl::string_view
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::Encrypt
    - util::Status::ok
    - util::StatusOr::status
    - ResizeStringUninitialized
    - util::StatusOr::ok
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> XChacha20Poly1305BoringSsl::Encrypt(\n
      \   absl::string_view plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:90,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:91,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:93,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:98,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:99,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:100,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::Decrypt
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:101,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:102,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:103,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: crypto::tink::subtle::XChacha20Poly1305BoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - ResizeStringUninitialized
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::Decrypt
    - absl::string_view::substr
    - util::StatusOr::ok
    - absl::StrCat
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> XChacha20Poly1305BoringSsl::Decrypt(\n
      \   absl::string_view ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:51,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:52,1
    - Dst: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:54,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:55,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - curve
    - priv_key
    argTypes:
    - EllipticCurveType
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
    - std::move
    - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EciesHkdfRecipientKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EciesHkdfRecipientKemBoringSsl>> EciesHkdfRecipientKemBoringSsl::New(EllipticCurveType
      curve,\n                                    util::SecretData priv_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "internal::CheckFipsCompatibility<\n      EciesHkdfNistPCurveRecipientKemBoringSsl>"
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:66,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:68,1
    - Dst: util::SecretData::empty
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:71,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:73,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:74,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:74,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:78,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:78,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:78,1
    - Dst: EciesHkdfNistPCurveRecipientKemBoringSsl::EciesHkdfNistPCurveRecipientKemBoringSsl
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - curve
    - priv_key
    argTypes:
    - EllipticCurveType
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 5
    functionsReached:
    - "internal::CheckFipsCompatibility<\n      EciesHkdfNistPCurveRecipientKemBoringSsl>"
    - auto::status
    - util::SecretData::empty
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::internal::EcGroupFromCurveType
    - absl::WrapUnique
    - auto::value
    - EciesHkdfNistPCurveRecipientKemBoringSsl::EciesHkdfNistPCurveRecipientKemBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EciesHkdfRecipientKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EciesHkdfRecipientKemBoringSsl>> EciesHkdfNistPCurveRecipientKemBoringSsl::New(EllipticCurveType
      curve,\n                                              util::SecretData priv_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - curve
    - priv_key_value
    - ec_group
    argTypes:
    - EllipticCurveType
    - util::SecretData
    - internal::SslUniquePtr<EC_GROUP>
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::EciesHkdfNistPCurveRecipientKemBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EciesHkdfNistPCurveRecipientKemBoringSsl::\n    EciesHkdfNistPCurveRecipientKemBoringSsl(\n
      \       EllipticCurveType curve, util::SecretData priv_key_value,\n        internal::SslUniquePtr<EC_GROUP>
      ec_group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:96,1
    - Dst: ToStatusF
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:97,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:99,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:102,1
    - Dst: BN_bin2bn
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:104,1
    - Dst: data
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:104,1
    - Dst: size
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:104,1
    - Dst: crypto::tink::internal::ComputeEcdhSharedSecret
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:106,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:106,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:110,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - kem_bytes
    - hash
    - hkdf_salt
    - hkdf_info
    - key_size_in_bytes
    - point_format
    argTypes:
    - absl::string_view
    - HashType
    - absl::string_view
    - absl::string_view
    - uint32_t
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::GenerateKey
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - BN_bin2bn
    - auto::ok
    - size
    - internal::SslUniquePtr::get
    - std::move
    - ToStatusF
    - crypto::tink::internal::EcPointDecode
    - auto::value
    - crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
    - crypto::tink::internal::ComputeEcdhSharedSecret
    - data
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> EciesHkdfNistPCurveRecipientKemBoringSsl::GenerateKey(\n
      \   absl::string_view kem_bytes, HashType hash, absl::string_view hkdf_salt,\n
      \   absl::string_view hkdf_info, uint32_t key_size_in_bytes,\n    EcPointFormat
      point_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - internal::SslUniquePtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::EciesHkdfX25519RecipientKemBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EciesHkdfX25519RecipientKemBoringSsl::EciesHkdfX25519RecipientKemBoringSsl(\n
      \   internal::SslUniquePtr<EVP_PKEY> private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<EciesHkdfX25519RecipientKemBoringSsl>
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:124,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:128,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:131,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:132,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:136,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:137,1
    - Dst: crypto::tink::internal::Ed25519KeyPrivKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:138,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:140,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:145,1
    - Dst: EciesHkdfX25519RecipientKemBoringSsl::EciesHkdfX25519RecipientKemBoringSsl
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - curve
    - priv_key
    argTypes:
    - EllipticCurveType
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 5
    functionsReached:
    - internal::CheckFipsCompatibility<EciesHkdfX25519RecipientKemBoringSsl>
    - EciesHkdfX25519RecipientKemBoringSsl::EciesHkdfX25519RecipientKemBoringSsl
    - crypto::tink::internal::Ed25519KeyPrivKeySize
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - util::SecretData::data
    - util::SecretData::size
    - crypto::tink::internal::X25519KeyPubKeySize
    - EVP_PKEY_new_raw_private_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EciesHkdfRecipientKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EciesHkdfRecipientKemBoringSsl>> EciesHkdfX25519RecipientKemBoringSsl::New(EllipticCurveType
      curve,\n                                          util::SecretData priv_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:154,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:159,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:159,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:160,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:164,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:166,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:166,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:167,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:169,1
    - Dst: crypto::tink::internal::ComputeX25519SharedSecret
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:174,1
    - Dst: get
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:174,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:174,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:175,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:176,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
      Src: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - kem_bytes
    - hash
    - hkdf_salt
    - hkdf_info
    - key_size_in_bytes
    - point_format
    argTypes:
    - absl::string_view
    - HashType
    - absl::string_view
    - absl::string_view
    - uint32_t
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 181
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 181
    functionName: crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::GenerateKey
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ComputeX25519SharedSecret
    - util::StatusOr::ok
    - crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
    - EVP_PKEY_new_raw_public_key
    - get
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretData>
    signature: "crypto::tink::util::StatusOr<util::SecretData> EciesHkdfX25519RecipientKemBoringSsl::GenerateKey(\n
      \   absl::string_view kem_bytes, HashType hash, absl::string_view hkdf_salt,\n
      \   absl::string_view hkdf_info, uint32_t key_size_in_bytes,\n    EcPointFormat
      point_format) 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_header() const override'
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: std::vector<uint8_t> & get_header() const 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_segment_number
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_segment_number() const override
  - 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_ciphertext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_segment_size() 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_ciphertext_offset
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_ciphertext_offset() 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::IncSegmentNumber
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncSegmentNumber() override
  - 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: ~StreamSegmentEncrypter()
    functionSourceFile: /src/tink/cc/subtle/stream_segment_encrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamSegmentEncrypter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<HmacBoringSsl>
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:47,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:48,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:50,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:51,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:52,1
    - Dst: EVP_MD_size
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:58,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:61,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:63,1
    - Dst: HmacBoringSsl::HmacBoringSsl
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - hash_type
    - tag_size
    - key
    argTypes:
    - HashType
    - uint32_t
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: crypto::tink::subtle::HmacBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl.cc
    functionUses: 2
    functionsReached:
    - util::StatusOr::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - EVP_MD_size
    - absl::WrapUnique
    - HmacBoringSsl::HmacBoringSsl
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - util::SecretData::size
    - internal::CheckFipsCompatibility<HmacBoringSsl>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Mac>>
    signature: "util::StatusOr<std::unique_ptr<Mac>> HmacBoringSsl::New(HashType hash_type,\n
      \                                                       uint32_t tag_size,\n
      \                                                       util::SecretData key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:81,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:84,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: crypto::tink::subtle::HmacBoringSsl::ComputeMac
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EnsureStringNonNull
    - std::string
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HmacBoringSsl::ComputeMac(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:91,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:93,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:103,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:106,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:107,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/hmac_boringssl.cc:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mac
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 111
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 111
    functionName: crypto::tink::subtle::HmacBoringSsl::VerifyMac
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EnsureStringNonNull
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HmacBoringSsl::VerifyMac(absl::string_view mac,\n                                      absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: crypto::tink::subtle::ValidParams
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    linkageType: ''
    returnType: AesCtrHmacStreaming::Params
    signature: AesCtrHmacStreaming::Params ValidParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:69,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:70,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:80,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:82,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:85,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:90,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:103,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:104,1
    - Dst: auto::get_segment_number
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:106,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:107,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:108,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:110,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:112,1
    - Dst: auto::get_ciphertext_offset
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:112,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:116,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:118,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:123,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:125,1
    - Dst: std::vector::size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:125,1
    - Dst: std::vector::size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:127,1
    - Dst: auto::get_segment_number
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 137
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - auto::get_segment_number
    - ASSERT_THAT
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - IsOk
    - auto::get_header
    - std::vector::size
    - auto::get_plaintext_segment_size
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - auto::get_ciphertext_segment_size
    - IsFipsModeEnabled
    - auto::get_ciphertext_offset
    - auto::value
    - auto::EncryptSegment
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentEncrypterTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:140,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:141,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:143,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:148,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:149,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:149,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:153,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:153,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:154,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - std::move
    - ASSERT_THAT
    - auto::value
    - HasSubstr
    - auto::get_plaintext_segment_size
    - GTEST_SKIP
    - StatusIs
    - auto::EncryptSegment
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentEncrypterTest, EncryptLongPlaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:159,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:160,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:162,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:167,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:168,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:168,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:171,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:171,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:172,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - std::move
    - ASSERT_THAT
    - auto::value
    - HasSubstr
    - auto::get_plaintext_segment_size
    - GTEST_SKIP
    - StatusIs
    - auto::EncryptSegment
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentEncrypterTest, EncryptNullCtBuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:177,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:178,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:188,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:188,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:190,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:193,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:198,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:210,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:211,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:211,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:216,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:217,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:218,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:218,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:220,1
    - Dst: auto::get_header_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:221,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:221,1
    - Dst: auto::get_header_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:222,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:224,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:226,1
    - Dst: auto::get_ciphertext_offset
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:226,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:230,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:232,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:233,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:240,1
    - Dst: std::vector::size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:240,1
    - Dst: std::vector::size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:241,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:247,1
    - Dst: auto::get_segment_number
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:247,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 257
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - auto::get_segment_number
    - ASSERT_THAT
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - IsOk
    - auto::get_header
    - std::vector::size
    - auto::get_plaintext_segment_size
    - GTEST_SKIP
    - SCOPED_TRACE
    - EXPECT_THAT
    - auto::get_header_size
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::Init
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - auto::get_ciphertext_segment_size
    - IsFipsModeEnabled
    - auto::get_ciphertext_offset
    - auto::value
    - auto::DecryptSegment
    - auto::EncryptSegment
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:260,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:261,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:263,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:268,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:269,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:269,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:272,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:273,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:274,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:274,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:275,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:275,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:275,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:276,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - auto::Init
    - IsOk
    - auto::get_header
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::value
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, AlreadyInit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:281,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:282,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:284,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:289,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:290,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:290,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:293,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:294,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:294,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:295,1
    - Dst: auto::resize
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:296,1
    - Dst: auto::get_header_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:297,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:297,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:297,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - auto::resize
    - auto::Init
    - IsOk
    - auto::get_header
    - std::move
    - auto::get_header_size
    - ASSERT_THAT
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::value
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, InitWrongHeaderSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:302,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:303,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:305,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:310,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:311,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:311,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:314,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:315,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:315,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:318,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:318,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:318,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 320
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - auto::Init
    - IsOk
    - auto::get_header
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::value
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, InitCorruptedHeader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:323,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:324,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:326,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:330,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:331,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:332,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:332,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:335,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:336,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:336,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:338,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:340,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:340,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:341,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 343
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_ciphertext_segment_size
    - IsFipsModeEnabled
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::value
    - HasSubstr
    - GTEST_SKIP
    - auto::DecryptSegment
    - StatusIs
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, DecryptNotInit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:346,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:347,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:349,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:354,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:354,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:355,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:355,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:358,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:358,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:359,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:359,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:360,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:360,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:360,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:362,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:364,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:364,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:365,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 367
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_ciphertext_segment_size
    - IsFipsModeEnabled
    - auto::Init
    - IsOk
    - auto::get_header
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::value
    - HasSubstr
    - GTEST_SKIP
    - auto::DecryptSegment
    - StatusIs
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, DecryptLongCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:370,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:371,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:373,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:378,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:378,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:379,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:379,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:381,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:382,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:382,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:383,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:383,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:384,1
    - Dst: auto::Init
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:384,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:384,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:384,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:387,1
    - Dst: auto::DecryptSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:387,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:388,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 390
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_ciphertext_segment_size
    - IsFipsModeEnabled
    - auto::Init
    - IsOk
    - auto::get_header
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    - auto::value
    - HasSubstr
    - GTEST_SKIP
    - auto::DecryptSegment
    - StatusIs
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamSegmentDecrypterTest, DecryptNullPtBuffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:393,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:394,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:405,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:405,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:407,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:410,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:415,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:422,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:423,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:423,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:424,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:424,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:429,1
    - Dst: crypto::tink::subtle::EncryptThenDecrypt
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:430,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:430,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:431,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 442
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::EnumToString
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - GTEST_SKIP
    - auto::get
    - crypto::tink::subtle::EncryptThenDecrypt
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:445,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:446,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:448,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:449,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:449,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, ValidParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:453,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:454,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:456,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:457,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:458,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:458,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:459,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongIkm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:464,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:465,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:467,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:469,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:469,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:470,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongHkdfAlgo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:475,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:476,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:478,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:479,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:481,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:481,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:482,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 484
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:487,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:488,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:490,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:492,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:492,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:493,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:494,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:497,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:497,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:498,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongCtSegmentSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:503,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:504,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:506,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:508,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:508,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:509,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 511
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongCtOffset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:515,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:517,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:519,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:519,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:520,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:521,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:525,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:525,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:526,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:527,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:531,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:531,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:532,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:533,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:537,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:537,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:538,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 540
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:544,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:545,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:547,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:549,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:549,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:550,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:550,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:550,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:556,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:556,1
    - Dst: NewDecryptingRandomAccessStream
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:560,1
    - Dst: absl::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:562,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:565,1
    - Dst: absl::StatusOr::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:565,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:565,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:567,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:567,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:567,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 568
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - util::StatusOr::status
    - size
    - IsOk
    - std::move
    - ASSERT_THAT
    - NewDecryptingRandomAccessStream
    - absl::StatusOr::status
    - EXPECT_THAT
    - GTEST_SKIP
    - absl::StrCat
    - IsOkAndHolds
    - absl::make_unique<internal::TestRandomAccessStream>
    - Eq
    - absl::HexStringToBytes
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingTest, SizeIsNotAuthenticated)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:571,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:572,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:574,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:576,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:576,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:577,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 579
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - ASSERT_THAT
    - HasSubstr
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateTest, WrongTagAlgo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:583,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:584,1
    - Dst: crypto::tink::subtle::ValidParams
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:586,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:588,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:588,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:588,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsFipsModeEnabled
    - std::move
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::ValidParams
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingTest, TestFipsOnly)
  - 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: crypto::tink::subtle::DummyStatefulMacFactory::DummyStatefulMacFactory
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyStatefulMacFactory()
  - 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: ~DummyStatefulMacFactory() override
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyStatefulMacFactory() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<StatefulMac>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:55,1
    - Dst: absl::make_unique<DummyStatefulMac>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: crypto::tink::subtle::DummyStatefulMacFactory::Create
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyStatefulMac>
    - std::unique_ptr<StatefulMac>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StatefulMac>>
    signature: util::StatusOr<std::unique_ptr<StatefulMac>> Create() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<StatefulMacFactory>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:64,1
    - Dst: absl::make_unique<DummyStatefulMacFactory>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:65,1
    - Dst: absl::make_unique<StreamingMacImpl>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:67,1
    - Dst: auto::NewComputeMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: crypto::tink::subtle::GetComputeMacOutputStream
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<StatefulMacFactory>
    - IsOk
    - absl::make_unique<DummyStatefulMacFactory>
    - std::move
    - auto::NewComputeMacOutputStream
    - EXPECT_THAT
    - absl::make_unique<StreamingMacImpl>
    linkageType: ''
    returnType: std::unique_ptr<OutputStreamWithResult<std::string>>
    signature: std::unique_ptr<OutputStreamWithResult<std::string>> GetComputeMacOutputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<StatefulMacFactory>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:78,1
    - Dst: absl::make_unique<DummyStatefulMacFactory>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:79,1
    - Dst: absl::make_unique<StreamingMacImpl>
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:81,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:81,1
    - Dst: auto::NewVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - expected_mac
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: crypto::tink::subtle::GetVerifyMacOutputStream
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::NewVerifyMacOutputStream
    - std::unique_ptr<StatefulMacFactory>
    - IsOk
    - absl::make_unique<DummyStatefulMacFactory>
    - std::move
    - EXPECT_THAT
    - absl::make_unique<StreamingMacImpl>
    linkageType: ''
    returnType: std::unique_ptr<OutputStreamWithResult<util::Status>>
    signature: "std::unique_ptr<OutputStreamWithResult<util::Status>> GetVerifyMacOutputStream(\n
      \   std::string expected_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetComputeMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:90,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - auto::CloseAndGetResult
    - EXPECT_THAT
    - crypto::tink::subtle::GetComputeMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, ComputeEmptyMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetComputeMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:102,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:105,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:107,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:107,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:107,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - crypto::tink::subtle::test::WriteToStream
    - auto::CloseAndGetResult
    - auto::get
    - EXPECT_THAT
    - auto::Position
    - std::string::size
    - crypto::tink::subtle::GetComputeMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, ComputeSmallMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:119,1
    - Dst: std::to_string
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:121,1
    - Dst: crypto::tink::subtle::GetComputeMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:122,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:125,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:127,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:127,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:127,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GetComputeMacOutputStream
    - EXPECT_EQ
    - IsOk
    - std::string::size
    - crypto::tink::subtle::test::WriteToStream
    - auto::CloseAndGetResult
    - auto::get
    - EXPECT_THAT
    - std::to_string
    - auto::Position
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, ComputeRandMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetComputeMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:138,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:145,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:145,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:149,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - EXPECT_THAT
    - auto::Position
    - auto::BackUp
    - crypto::tink::subtle::GetComputeMacOutputStream
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, ComputeCheckStreamPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetComputeMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:153,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:156,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:160,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:161,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - EXPECT_EQ
    - auto::CloseAndGetResult
    - auto::code
    - crypto::tink::subtle::GetComputeMacOutputStream
    - EXPECT_FALSE
    - auto::Close
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, ComputeCloseTwiceError)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:166,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::GetVerifyMacOutputStream
    - auto::CloseAndGetResult
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifyEmptyMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:177,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:180,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:182,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:182,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:182,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - crypto::tink::subtle::test::WriteToStream
    - auto::CloseAndGetResult
    - auto::get
    - EXPECT_THAT
    - auto::Position
    - std::string::size
    - crypto::tink::subtle::GetVerifyMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifySmallMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:194,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:195,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:196,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::CloseAndGetResult
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::GetVerifyMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifyEmptyMacFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:202,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:205,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:207,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:207,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:210,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:211,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:212,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - StatusIs
    - crypto::tink::subtle::test::WriteToStream
    - auto::CloseAndGetResult
    - HasSubstr
    - auto::get
    - EXPECT_THAT
    - auto::Position
    - std::string::size
    - crypto::tink::subtle::GetVerifyMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifySmallMacFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:219,1
    - Dst: std::to_string
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:221,1
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:222,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:225,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:227,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:227,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:227,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - std::string::size
    - crypto::tink::subtle::test::WriteToStream
    - auto::CloseAndGetResult
    - auto::get
    - EXPECT_THAT
    - std::to_string
    - auto::Position
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::subtle::GetVerifyMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifyRandMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:238,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:245,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:245,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:249,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - EXPECT_THAT
    - auto::Position
    - auto::BackUp
    - auto::Next
    - crypto::tink::subtle::GetVerifyMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifyCheckStreamPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetVerifyMacOutputStream
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:254,1
    - Dst: auto::CloseAndGetResult
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:257,1
    - Dst: auto::Close
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:261,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:262,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_mac_impl_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - EXPECT_EQ
    - auto::CloseAndGetResult
    - auto::code
    - EXPECT_FALSE
    - auto::Close
    - crypto::tink::subtle::GetVerifyMacOutputStream
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingMacImplTest, VerifyCloseTwiceError)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:48,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:49,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:52,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:53,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:55,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:56,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:56,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:57,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:57,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:61,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:61,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:62,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:62,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:62,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:63,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:64,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:65,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - auto::Encrypt
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:69,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:70,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:73,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:74,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:76,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:77,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:78,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:78,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:82,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:83,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:83,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:84,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:84,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:84,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:85,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:86,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:86,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:87,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - auto::Encrypt
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestMessageSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:93,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:96,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:97,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:100,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:101,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:106,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:107,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:107,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:109,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:109,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:110,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - auto::Encrypt
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestAssociatedDataSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:115,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:116,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:119,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:120,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:123,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:123,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:123,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:124,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:128,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:129,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:129,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:129,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:130,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:131,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:131,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - auto::Encrypt
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestLongNonce)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:136,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:137,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:141,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:142,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:143,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:143,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:147,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:147,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:149,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:152,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:152,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:155,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:159,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:159,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:164,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - auto::Encrypt
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestModification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:169,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:170,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:179,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:180,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - IsFipsModeEnabled
    - GTEST_SKIP
    - crypto::tink::subtle::AesEaxBoringSsl::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestInvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:185,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:186,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:190,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:191,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:192,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:195,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:197,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:198,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:198,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:198,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:199,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:207,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:208,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:208,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:210,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:211,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:212,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:212,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:214,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:215,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:216,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:216,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:219,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:220,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:220,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:221,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:221,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:222,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:223,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:223,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:225,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:226,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:226,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:227,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:228,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:229,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:229,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:232,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:232,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:233,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:233,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:234,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:235,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:235,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:237,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:238,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:238,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:239,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:240,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:241,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 242
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - auto::Encrypt
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: crypto::tink::subtle::GetError
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ERR_peek_last_error
    linkageType: ''
    returnType: std::string
    signature: std::string GetError()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetArray
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:264,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:280,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:281,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:283,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:283,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:284,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:285,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:286,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:287,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:288,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:289,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:289,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:290,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:291,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:291,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:292,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:295,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:297,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:300,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:305,1
    - Dst: crypto::tink::subtle::GetError
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:307,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - ' root'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 314
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 314
    functionName: crypto::tink::subtle::WycheproofTest
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - GetInt
    - std::move
    - auto::Decrypt
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GetString
    - absl::StrCat
    - ADD_FAILURE
    - crypto::tink::subtle::GetError
    - crypto::tink::subtle::AesEaxBoringSsl::New
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: bool
    signature: bool WycheproofTest(const rapidjson::Document& root)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:317,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:318,1
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:322,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:323,1
    - Dst: crypto::tink::subtle::WycheproofTest
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::WycheproofTest
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:327,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:328,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:331,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:332,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:333,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:333,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:336,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:336,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:337,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:338,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:338,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_eax_boringssl_test.cc:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 340
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/subtle/subtle_util_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/subtle_util_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/subtle_util_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/subtle_util_test.cc:34,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/subtle_util_test.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/subtle_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::subtle::BigEndian32
    linkageType: ''
    returnType: void
    signature: void TEST(SubtleUtilTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/subtle/subtle_util_test.cc:42,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/subtle_util_test.cc:46,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/subtle_util_test.cc:46,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/subtle_util_test.cc:46,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/subtle/subtle_util_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/subtle_util_test.cc:50,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/subtle_util_test.cc:50,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/subtle_util_test.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/subtle_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - std::string
    - Eq
    - crypto::tink::subtle::ResizeStringUninitialized
    linkageType: ''
    returnType: void
    signature: void TEST(SubtleUtilTest, ResizeStringUninitialized)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: crypto::tink::subtle::AesGcmHkdfStreaming::AesGcmHkdfStreaming
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AesGcmHkdfStreaming(Params params)
  - 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: ~RsaSsaPkcs1VerifyBoringSsl() override
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RsaSsaPkcs1VerifyBoringSsl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.h:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rsa
    - sig_hash
    argTypes:
    - internal::SslUniquePtr<RSA>
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::RsaSsaPkcs1VerifyBoringSsl
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPkcs1VerifyBoringSsl(internal::SslUniquePtr<RSA> rsa,\n
      \                            const EVP_MD* sig_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_aead_test_util_test.cc:36,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/subtle/streaming_aead_test_util_test.cc:36,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/streaming_aead_test_util_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_test_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::EncryptThenDecrypt
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenDecrypt, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/streaming_aead_test_util_test.cc:45,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/subtle/streaming_aead_test_util_test.cc:45,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/streaming_aead_test_util_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenDecrypt, DifferentAeads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<RsaSsaPkcs1VerifyBoringSsl>
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:48,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:49,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:54,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:55,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:60,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:61,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:62,1
    - Dst: crypto::tink::internal::RsaPublicKeyToRsa
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:68,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:69,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:74,1
    - Dst: RsaSsaPkcs1VerifyBoringSsl::RsaSsaPkcs1VerifyBoringSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' pub_key'
    - ' params'
    argTypes:
    - internal::RsaPublicKey
    - internal::RsaSsaPkcs1Params
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc
    functionUses: 2
    functionsReached:
    - RsaSsaPkcs1VerifyBoringSsl::RsaSsaPkcs1VerifyBoringSsl
    - util::Status::ok
    - util::StatusOr::status
    - std::move
    - crypto::tink::internal::EvpHashFromHashType
    - internal::CheckFipsCompatibility<RsaSsaPkcs1VerifyBoringSsl>
    - util::StatusOr::ok
    - crypto::tink::internal::RsaPublicKeyToRsa
    - crypto::tink::internal::IsHashTypeSafeForSignature
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<RsaSsaPkcs1VerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<RsaSsaPkcs1VerifyBoringSsl>> RsaSsaPkcs1VerifyBoringSsl::New(const
      internal::RsaPublicKey& pub_key,\n                                const internal::RsaSsaPkcs1Params&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:82,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:84,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:85,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:86,1
    - Dst: RSA_verify
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:89,1
    - Dst: EVP_MD_type
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:89,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:90,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:90,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:91,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:92,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:92,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:93,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:96,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::Verify
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - EVP_MD_type
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ComputeHash
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - util::StatusOr::ok
    - util::StatusOr::size
    - RSA_verify
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - get
    - util::StatusOr::data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status RsaSsaPkcs1VerifyBoringSsl::Verify(absl::string_view
      signature,\n                                                absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key
    - hash
    - encoding
    argTypes:
    - internal::SslUniquePtr<EC_KEY>
    - EVP_MD*
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::EcdsaVerifyBoringSsl::EcdsaVerifyBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EcdsaVerifyBoringSsl(internal::SslUniquePtr<EC_KEY> key, const
      EVP_MD* hash,\n                       EcdsaSignatureEncoding encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutputStream*::Next
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:55,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:56,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:56,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:57,1
    - Dst: std::min
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:58,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:59,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:59,1
    - Dst: OutputStream*::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:64,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' contents'
    - output_stream
    argTypes:
    - std::vector<uint8_t>
    - OutputStream*
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: crypto::tink::subtle::WriteToStream
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - OutputStream*::BackUp
    - auto::value
    - OutputStream*::Next
    - memcpy
    - crypto::tink::util::OkStatus
    - data
    - std::min
    linkageType: ''
    returnType: util::Status
    signature: "util::Status WriteToStream(const std::vector<uint8_t>& contents,\n
      \                          OutputStream* output_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:76,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:80,1
    - Dst: StreamingAeadEncryptingStream::StreamingAeadEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:86,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:93,1
    - Dst: std::unique_ptr::pt_buffer_::resize
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:96,1
    - Dst: std::unique_ptr::pt_to_encrypt_::resize
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:97,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - segment_encrypter
    - ciphertext_destination
    argTypes:
    - std::unique_ptr<StreamSegmentEncrypter>
    - std::unique_ptr<OutputStream>
    constantsTouched: []
    func_position:
      end: 104
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 104
    functionName: crypto::tink::subtle::StreamingAeadEncryptingStream::New
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
    functionUses: 1
    functionsReached:
    - std::move
    - std::unique_ptr::pt_to_encrypt_::resize
    - Status
    - std::unique_ptr::pt_buffer_::resize
    - crypto::tink::util::OkStatus
    - StreamingAeadEncryptingStream::StreamingAeadEncryptingStream
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<OutputStream>>
    signature: "StatusOr<std::unique_ptr<OutputStream>> StreamingAeadEncryptingStream::New(\n
      \   std::unique_ptr<StreamSegmentEncrypter> segment_encrypter,\n    std::unique_ptr<OutputStream>
      ciphertext_destination)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:107,1
    - Dst: WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:114,1
    - Dst: get_header
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:114,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:114,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:115,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:116,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:117,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:118,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:124,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:127,1
    - Dst: empty
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:139,1
    - Dst: EncryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:140,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:142,1
    - Dst: WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:143,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:143,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:144,1
    - Dst: swap
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:147,1
    - Dst: resize
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:149,1
    - Dst: get_plaintext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:149,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:150,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:152,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 154
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 154
    functionName: crypto::tink::subtle::StreamingAeadEncryptingStream::Next
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
    functionUses: 0
    functionsReached:
    - get_header
    - size
    - swap
    - ok
    - get_plaintext_segment_size
    - empty
    - resize
    - WriteToStream
    - EncryptSegment
    - data
    - get
    linkageType: ''
    returnType: StatusOr<int>
    signature: StatusOr<int> StreamingAeadEncryptingStream::Next(void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: crypto::tink::subtle::StreamingAeadEncryptingStream::BackUp
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void StreamingAeadEncryptingStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:165,1
    - Dst: WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:168,1
    - Dst: get_header
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:168,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:168,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:169,1
    - Dst: empty
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:175,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:175,1
    - Dst: resize
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:177,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:177,1
    - Dst: empty
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:180,1
    - Dst: EncryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:182,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:184,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:185,1
    - Dst: WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:188,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:188,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:189,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:190,1
    - Dst: EncryptSegment
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:196,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:198,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:199,1
    - Dst: WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:202,1
    - Dst: get
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:202,1
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:203,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:204,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:207,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::Close
      Src: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 209
    functionName: crypto::tink::subtle::StreamingAeadEncryptingStream::Close
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
    functionUses: 1
    functionsReached:
    - get_header
    - size
    - crypto::tink::subtle::StreamingAeadEncryptingStream::Close
    - ok
    - Status
    - empty
    - resize
    - WriteToStream
    - EncryptSegment
    - get
    linkageType: ''
    returnType: Status
    signature: Status StreamingAeadEncryptingStream::Close()
  - 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: crypto::tink::subtle::StreamingAeadEncryptingStream::Position
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t StreamingAeadEncryptingStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:61,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:61,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:62,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:67,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:67,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:69,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: crypto::tink::subtle::AesGcmBoringSslTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:79,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:79,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:79,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - size
    - IsOk
    - ASSERT_THAT
    - util::StatusOr::size
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmBoringSslTest, BasicEncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:90,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:90,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:95,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:95,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:96,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:100,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:101,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:104,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:104,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:109,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:109,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - size
    - IsOk
    - Not
    - ASSERT_THAT
    - util::StatusOr::size
    - EXPECT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmBoringSslTest, ModifyMessageAndAssociatedData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aead*::Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:122,1
    - Dst: Aead*::Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:127,1
    - Dst: Aead*::Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:131,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - cipher
    - ct
    - message
    argTypes:
    - Aead*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: crypto::tink::subtle::TestDecryptWithEmptyAssociatedData
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - Aead*::Decrypt
    - EXPECT_EQ
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: "void TestDecryptWithEmptyAssociatedData(Aead* cipher, absl::string_view
      ct,\n                             absl::string_view message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:142,1
    - Dst: crypto::tink::subtle::TestDecryptWithEmptyAssociatedData
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:143,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:143,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:147,1
    - Dst: crypto::tink::subtle::TestDecryptWithEmptyAssociatedData
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:148,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:148,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:151,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:152,1
    - Dst: crypto::tink::subtle::TestDecryptWithEmptyAssociatedData
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:153,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - IsOk
    - crypto::tink::subtle::TestDecryptWithEmptyAssociatedData
    - EXPECT_THAT
    - Encrypt
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmBoringSslTest, AssociatedDataEmptyVersusNullStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:162,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:165,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:171,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:174,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:178,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:179,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 184
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmBoringSslTest, MessageEmptyVersusNullStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:192,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:195,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:202,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:205,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:209,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:209,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:210,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:211,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmBoringSslTest, BothMessageAndAssociatedDataEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:225,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmBoringSslTest, InvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:231,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:231,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:232,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:237,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:237,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:239,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:241,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:242,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 243
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - IsOk
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmBoringSslFipsTest, FipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:246,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:246,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:247,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:252,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:252,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:254,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:256,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:256,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:257,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:258,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:258,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmBoringSslFipsTest, FipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:265,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:265,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:266,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:269,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:270,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:270,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:271,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:271,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:272,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:273,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:274,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: crypto::tink::subtle::AesGcmBoringSslWycheproofTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - internal::WycheproofTestVector::key::size
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - internal::WycheproofTestVector::tag::size
    - internal::WycheproofTestVector::nonce::size
    - crypto::tink::internal::IsFipsEnabledInSsl
    - GetParam
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:281,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:282,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:284,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:286,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:288,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:289,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:293,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:293,1
    - Dst: AllOf
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:293,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:293,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:293,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:295,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:296,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:297,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 299
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - AllOf
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - EXPECT_EQ
    - util::StatusOr::status
    - IsOk
    - EXPECT_NE
    - Not
    - ASSERT_THAT
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - Decrypt
    - internal::WycheproofTestVector::tag::size
    - internal::WycheproofTestVector::nonce::size
    - util::SecretData::size
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmBoringSslWycheproofTest, Decrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:46,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: crypto::tink::subtle::longToBigEndianStr
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: std::string
    signature: std::string longToBigEndianStr(uint64_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:53,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:57,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:57,1
    - Dst: EncryptThenAuthenticate::EncryptThenAuthenticate
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ind_cpa_cipher
    - mac
    - tag_size
    argTypes:
    - std::unique_ptr<IndCpaCipher>
    - std::unique_ptr<Mac>
    - uint8_t
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: crypto::tink::subtle::EncryptThenAuthenticate::New
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::move
    - EncryptThenAuthenticate::EncryptThenAuthenticate
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> EncryptThenAuthenticate::New(\n
      \   std::unique_ptr<IndCpaCipher> ind_cpa_cipher, std::unique_ptr<Mac> mac,\n
      \   uint8_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:65,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:66,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:72,1
    - Dst: crypto::tink::subtle::EncryptThenAuthenticate::Encrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:76,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:77,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:78,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:81,1
    - Dst: longToBigEndianStr
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:82,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:83,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:84,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:86,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:87,1
    - Dst: auto::append
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:89,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: crypto::tink::subtle::EncryptThenAuthenticate::Encrypt
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - longToBigEndianStr
    - auto::size
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - ComputeMac
    - crypto::tink::subtle::EncryptThenAuthenticate::Encrypt
    - auto::append
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EncryptThenAuthenticate::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:107,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:111,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:111,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:112,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:112,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:114,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:115,1
    - Dst: longToBigEndianStr
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:116,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:117,1
    - Dst: crypto::tink::subtle::EncryptThenAuthenticate::Decrypt
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:121,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:122,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:123,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/encrypt_then_authenticate.cc:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: crypto::tink::subtle::EncryptThenAuthenticate::Decrypt
    functionSourceFile: /src/tink/cc/subtle/encrypt_then_authenticate.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - longToBigEndianStr
    - absl::string_view::size
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - absl::string_view::substr
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - absl::StrCat
    - crypto::tink::subtle::EncryptThenAuthenticate::Decrypt
    - VerifyMac
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EncryptThenAuthenticate::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - internal::SslUniquePtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: crypto::tink::subtle::Ed25519VerifyBoringSsl::Ed25519VerifyBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Ed25519VerifyBoringSsl(internal::SslUniquePtr<EVP_PKEY> public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/wycheproof_util.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/wycheproof_util.cc:47,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/wycheproof_util.cc:50,1
    - Dst: static_cast<char>
      Src: /src/tink/cc/subtle/wycheproof_util.cc:50,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/wycheproof_util.cc:51,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/wycheproof_util.cc:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - hex
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: crypto::tink::subtle::HexDecode
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - static_cast<char>
    - absl::string_view::size
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> HexDecode(absl::string_view hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HexDecode
      Src: /src/tink/cc/subtle/wycheproof_util.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hex
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: crypto::tink::subtle::HexDecodeOrDie
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HexDecode
    linkageType: ''
    returnType: std::string
    signature: std::string HexDecodeOrDie(absl::string_view hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::GetString
      Src: /src/tink/cc/subtle/wycheproof_util.cc:75,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/wycheproof_util.cc:76,1
    - Dst: HexDecodeOrDie
      Src: /src/tink/cc/subtle/wycheproof_util.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::WycheproofUtil::GetBytes
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 5
    functionsReached:
    - rapidjson::Value::GetString
    - HexDecodeOrDie
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string WycheproofUtil::GetBytes(const rapidjson::Value &val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RunfilesPath
      Src: /src/tink/cc/subtle/wycheproof_util.cc:85,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/wycheproof_util.cc:86,1
    - Dst: std::ifstream::open
      Src: /src/tink/cc/subtle/wycheproof_util.cc:88,1
    - Dst: std::make_unique<rapidjson::Document>
      Src: /src/tink/cc/subtle/wycheproof_util.cc:90,1
    - Dst: auto::ParseStream
      Src: /src/tink/cc/subtle/wycheproof_util.cc:91,1
    - Dst: LOG
      Src: /src/tink/cc/subtle/wycheproof_util.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 5
    functionsReached:
    - auto::ParseStream
    - crypto::tink::internal::RunfilesPath
    - absl::StrCat
    - std::ifstream::open
    - LOG
    - std::make_unique<rapidjson::Document>
    linkageType: ''
    returnType: std::unique_ptr<rapidjson::Document>
    signature: "std::unique_ptr<rapidjson::Document> WycheproofUtil::ReadTestVectors(\n
      \   const std::string &filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::GetString
      Src: /src/tink/cc/subtle/wycheproof_util.cc:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: crypto::tink::subtle::WycheproofUtil::GetHashType
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 1
    functionsReached:
    - rapidjson::Value::GetString
    linkageType: ''
    returnType: HashType
    signature: HashType WycheproofUtil::GetHashType(const rapidjson::Value &val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::GetString
      Src: /src/tink/cc/subtle/wycheproof_util.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - val
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 2
    functionsReached:
    - rapidjson::Value::GetString
    linkageType: ''
    returnType: EllipticCurveType
    signature: "EllipticCurveType WycheproofUtil::GetEllipticCurveType(\n    const
      rapidjson::Value &val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Value::GetString
      Src: /src/tink/cc/subtle/wycheproof_util.cc:127,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/wycheproof_util.cc:129,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/wycheproof_util.cc:132,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/wycheproof_util.cc:132,1
    - Dst: HexDecode
      Src: /src/tink/cc/subtle/wycheproof_util.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: crypto::tink::subtle::WycheproofUtil::GetInteger
    functionSourceFile: /src/tink/cc/subtle/wycheproof_util.cc
    functionUses: 1
    functionsReached:
    - rapidjson::Value::GetString
    - HexDecode
    - std::string
    - std::string::size
    linkageType: ''
    returnType: std::string
    signature: std::string WycheproofUtil::GetInteger(const rapidjson::Value &val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:46,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - IsFipsModeEnabled
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testCarryComputation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:62,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:63,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:65,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:65,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:69,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:69,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:70,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:70,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:73,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:74,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:74,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:75,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:75,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:76,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:76,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:77,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::subtle::AesSivBoringSsl::New
    - auto::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testEncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:81,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:82,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:84,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:84,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:88,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:88,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:90,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:90,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:92,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:93,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:93,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:94,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:95,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:96,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:98,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:99,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:99,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:102,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:103,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:104,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:105,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:105,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:106,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:108,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:109,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 110
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - auto::status
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::subtle::AesSivBoringSsl::New
    - EXPECT_FALSE
    - auto::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testNullPtrStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:114,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:115,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:118,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:118,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:124,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:130,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsFipsModeEnabled
    - auto::ok
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::util::SecretDataFromStringView
    - util::SecretData::size
    - GTEST_SKIP
    - crypto::tink::subtle::AesSivBoringSsl::New
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testEncryptDecryptKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:137,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:138,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:140,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:140,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:144,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:145,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:145,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:148,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:150,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:150,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:150,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:151,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:152,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:152,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:153,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:153,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:156,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:158,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:158,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:158,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:160,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:160,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:161,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - auto::status
    - EXPECT_TRUE
    - std::string
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::subtle::AesSivBoringSsl::New
    - auto::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testEncryptDecryptMessageSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:167,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:168,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:170,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:170,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:174,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:174,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:174,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:175,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:175,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:178,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:180,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:180,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:180,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:181,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:181,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:182,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:182,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:183,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - auto::status
    - EXPECT_TRUE
    - std::string
    - IsFipsModeEnabled
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::subtle::AesSivBoringSsl::New
    - auto::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testEncryptDecryptAssociatedDataSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:189,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:191,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:191,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:195,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:195,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:196,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:196,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:199,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:201,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:201,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:201,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:202,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:203,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:208,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - auto::status
    - EXPECT_TRUE
    - std::string
    - IsFipsModeEnabled
    - auto::ok
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::AesSivBoringSsl::New
    - EXPECT_FALSE
    - auto::EncryptDeterministically
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, testDecryptModification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetArray
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:217,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::IsValidKeySizeInBytes
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:219,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:223,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:224,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:226,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:226,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:227,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:228,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:229,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:231,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:232,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:232,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:237,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:238,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:241,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:244,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:249,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:250,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:254,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:254,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:254,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:254,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ' root'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 263
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 263
    functionName: crypto::tink::subtle::WycheproofTest
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 1
    functionsReached:
    - auto::DecryptDeterministically
    - GetArray
    - crypto::tink::subtle::AesSivBoringSsl::IsValidKeySizeInBytes
    - auto::ok
    - EXPECT_EQ
    - EXPECT_NE
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GetString
    - ADD_FAILURE
    - crypto::tink::subtle::AesSivBoringSsl::New
    - crypto::tink::test::HexEncode
    - auto::EncryptDeterministically
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: void
    signature: void WycheproofTest(const rapidjson::Document& root)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:266,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:267,1
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:270,1
    - Dst: crypto::tink::subtle::WycheproofTest
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::WycheproofTest
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - GTEST_SKIP
    - IsFipsModeEnabled
    linkageType: ''
    returnType: void
    signature: void TEST(AesSivBoringSslTest, TestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:275,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:276,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:279,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:280,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:281,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:284,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:286,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:286,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_siv_boringssl_test.cc:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::AesSivBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:28,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:28,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:29,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:29,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:30,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:30,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:31,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/common_enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EnumToString
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CommonEnumsTest, testEllipticCurveTypeToString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:35,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:36,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:37,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:37,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:38,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:39,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:40,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/common_enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EnumToString
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CommonEnumsTest, testHashTypeToString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:44,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:45,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:46,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/common_enums_test.cc:49,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/common_enums_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: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/common_enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EnumToString
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(CommonEnumsTest, testEcPointFormatToString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tag_size
    - ctx
    argTypes:
    - uint32_t
    - internal::SslUniquePtr<HMAC_CTX>
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::StatefulHmacBoringSsl::StatefulHmacBoringSsl
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StatefulHmacBoringSsl(uint32_t tag_size, internal::SslUniquePtr<HMAC_CTX>
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/random.cc:40,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/random.cc:41,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tink/cc/subtle/random.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: crypto::tink::subtle::GetRandomUint
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - reinterpret_cast<char *>
    - absl::MakeSpan
    linkageType: ''
    returnType: UintType
    signature: UintType GetRandomUint()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/subtle/random.cc:60,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/subtle/random.cc:60,1
    - Dst: RAND_bytes
      Src: /src/tink/cc/subtle/random.cc:61,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/subtle/random.cc:61,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/random.cc:62,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/random.cc:63,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/subtle/random.cc:64,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/random.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: crypto::tink::subtle::Random::GetRandomBytes
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 67
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - absl::Span<char>::size
    - absl::Span<char>::data
    - absl::StrCat
    - crypto::tink::util::OkStatus
    - RAND_bytes
    linkageType: ''
    returnType: util::Status
    signature: util::Status Random::GetRandomBytes(absl::Span<char> buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/random.cc:71,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/random.cc:74,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/random.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: crypto::tink::subtle::Random::GetRandomBytes
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 68
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: std::string
    signature: std::string Random::GetRandomBytes(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomUint<uint32_t>
      Src: /src/tink/cc/subtle/random.cc: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: crypto::tink::subtle::Random::GetRandomUInt32
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 1
    functionsReached:
    - GetRandomUint<uint32_t>
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t Random::GetRandomUInt32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomUint<uint16_t>
      Src: /src/tink/cc/subtle/random.cc: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: crypto::tink::subtle::Random::GetRandomUInt16
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 0
    functionsReached:
    - GetRandomUint<uint16_t>
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t Random::GetRandomUInt16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetRandomUint<uint8_t>
      Src: /src/tink/cc/subtle/random.cc: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: crypto::tink::subtle::Random::GetRandomUInt8
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 0
    functionsReached:
    - GetRandomUint<uint8_t>
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t Random::GetRandomUInt8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/random.cc:84,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/random.cc:85,1
    - Dst: reinterpret_cast<char *>
      Src: /src/tink/cc/subtle/random.cc:85,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/random.cc:85,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/random.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - length
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: crypto::tink::subtle::Random::GetRandomKeyBytes
    functionSourceFile: /src/tink/cc/subtle/random.cc
    functionUses: 23
    functionsReached:
    - util::SecretData::data
    - reinterpret_cast<char *>
    - util::SecretData::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::MakeSpan
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData Random::GetRandomKeyBytes(size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesGcmSivBoringSsl>
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:49,1
    - Dst: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:54,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:56,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:59,1
    - Dst: AesGcmSivBoringSsl::AesGcmSivBoringSsl
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::AesGcmSivBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - auto::ok
    - crypto::tink::internal::CreateAesGcmSivOneShotCrypter
    - std::move
    - internal::CheckFipsCompatibility<AesGcmSivBoringSsl>
    - absl::WrapUnique
    - util::StatusOr::ok
    - AesGcmSivBoringSsl::AesGcmSivBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AesGcmSivBoringSsl::New(\n    const
      util::SecretData& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:67,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:69,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:69,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:70,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:73,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:74,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:77,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::AesGcmSivBoringSsl::Encrypt
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc
    functionUses: 1
    functionsReached:
    - absl::string_view
    - util::Status::ok
    - util::StatusOr::status
    - ResizeStringUninitialized
    - crypto::tink::subtle::AesGcmSivBoringSsl::Encrypt
    - util::StatusOr::ok
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesGcmSivBoringSsl::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:86,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:87,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:89,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:94,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:95,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:96,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:97,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:98,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:99,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: crypto::tink::subtle::AesGcmSivBoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - ResizeStringUninitialized
    - absl::string_view::substr
    - util::StatusOr::ok
    - absl::StrCat
    - crypto::tink::subtle::AesGcmSivBoringSsl::Decrypt
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesGcmSivBoringSsl::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:61,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:62,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:66,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:66,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:68,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:68,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:69,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:72,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:77,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:78,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:78,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - SizeIs
    - IsFipsModeEnabled
    - size
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - Decrypt
    - StatusIs
    - Encrypt
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivBoringSslTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:88,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:91,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:95,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:95,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:97,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:102,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - IsFipsModeEnabled
    - IsOk
    - StatusIs
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - Decrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivBoringSslTest, DecryptFailsIfCiphertextTooSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:108,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:109,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:111,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:112,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:115,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:116,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:118,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:121,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:121,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:123,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:123,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - IsFipsModeEnabled
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:130,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:131,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:133,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:134,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:136,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:137,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:137,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:138,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:139,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:140,1
    - Dst: internal::WycheproofTestVector::key::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:141,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:142,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::AesGcmSivBoringSslWycheproofTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - internal::WycheproofTestVector::key::size
    - IsFipsModeEnabled
    - crypto::tink::internal::IsBoringSsl
    - GTEST_SKIP
    - internal::WycheproofTestVector::tag::size
    - internal::WycheproofTestVector::nonce::size
    - GetParam
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:149,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:150,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:152,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:154,1
    - Dst: Decrypt
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:156,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:157,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:161,1
    - Dst: Not
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:161,1
    - Dst: AllOf
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:161,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:161,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:161,1
    - Dst: internal::WycheproofTestVector::nonce::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:163,1
    - Dst: internal::WycheproofTestVector::tag::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:164,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - AllOf
    - util::StatusOr::status
    - EXPECT_EQ
    - IsOk
    - EXPECT_NE
    - Not
    - ASSERT_THAT
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - Decrypt
    - internal::WycheproofTestVector::tag::size
    - internal::WycheproofTestVector::nonce::size
    - util::SecretData::size
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivBoringSslWycheproofTest, Decrypt)
  - 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: crypto::tink::subtle::StreamingAeadDecryptingStream::StreamingAeadDecryptingStream
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamingAeadDecryptingStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:57,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::Ed25519VerifyBoringSslTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - GTEST_SKIP
    - IsFipsModeEnabled
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:78,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:82,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:85,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:93,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:97,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:100,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:108,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:112,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:115,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:123,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:127,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:130,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 169
    functionName: crypto::tink::subtle::GetTestVectors
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::HexStringToBytes
    linkageType: ''
    returnType: std::vector<TestVector>
    signature: std::vector<TestVector> GetTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:174,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:174,1
    - Dst: Not
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:175,1
    - Dst: crypto::tink::internal::Ed25519KeyPubKeySize
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:183,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:183,1
    - Dst: Not
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::Ed25519KeyPubKeySize
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519VerifyBoringSslTest, InvalidPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetTestVectors
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:191,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:198,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:204,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:209,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:209,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    - crypto::tink::subtle::GetTestVectors
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519VerifyBoringSslTest, MessageEmptyVersusNullStringView)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:217,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:218,1
    - Dst: GetParam
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:220,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:225,1
    - Dst: Verify
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - Verify
    - GetParam
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519VerifyBoringSslParamsTest, VerifiesCorrectly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:235,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:236,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:237,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' test_group'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: crypto::tink::subtle::GetVerifier
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> GetVerifier(\n    const
      rapidjson::Value& test_group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:250,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:251,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:252,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:255,1
    - Dst: crypto::tink::subtle::GetVerifier
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:256,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:257,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:258,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:261,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:263,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:264,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:265,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:270,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:270,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:271,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:272,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:273,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:276,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:276,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:276,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:277,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:279,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:283,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:287,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:291,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - ' filename'
    - allow_skipping
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 310
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 310
    functionName: crypto::tink::subtle::TestSignatures
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GetVerifier
    - GetArray
    - auto::status
    - auto::ok
    - std::move
    - GetInt
    - auto::Verify
    - auto::value
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - ADD_FAILURE
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: bool
    signature: bool TestSignatures(const std::string& filename, bool allow_skipping)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:313,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc: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: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519VerifyBoringSslTest, WycheproofCurve25519)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:317,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:324,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:325,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:325,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyBoringSslFipsTest, testFipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::AesSivBoringSsl::IsValidKeySizeInBytes
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsValidKeySizeInBytes(size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.h:85,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_siv_boringssl.h:86,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK1
      Src: /src/tink/cc/subtle/aes_siv_boringssl.h:87,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK2
      Src: /src/tink/cc/subtle/aes_siv_boringssl.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - util::SecretUniquePtr<AES_KEY>
    - util::SecretUniquePtr<AES_KEY>
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: crypto::tink::subtle::AesSivBoringSsl::AesSivBoringSsl
    functionSourceFile: /src/tink/cc/subtle/aes_siv_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK1
    - std::move
    - crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK2
    linkageType: ''
    returnType: void
    signature: "void AesSivBoringSsl(util::SecretUniquePtr<AES_KEY> k1,\n                  util::SecretUniquePtr<AES_KEY>
      k2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:54,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:55,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:56,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:57,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:59,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:59,1
    - Dst: RandomAccessStream*::PRead
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:61,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:61,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:62,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:62,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:63,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:65,1
    - Dst: auto::ToString
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:65,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:68,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:69,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:70,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:70,1
    - Dst: std::memcmp
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:73,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:73,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:73,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:74,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:76,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:77,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:77,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:78,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ras
    - pos
    - count
    - full_contents
    argTypes:
    - RandomAccessStream*
    - int
    - int
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: crypto::tink::ReadAndVerifyFragment
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_test_util.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - auto::size
    - std::string
    - auto::ok
    - std::move
    - crypto::tink::util::Buffer::New
    - auto::ToString
    - Status
    - auto::value
    - RandomAccessStream*::PRead
    - auto::get
    - absl::StrCat
    - absl::string_view::data
    - absl::string_view::substr
    - auto::code
    - crypto::tink::util::OkStatus
    - std::memcmp
    linkageType: ''
    returnType: Status
    signature: "Status ReadAndVerifyFragment(RandomAccessStream* ras, int pos, int
      count,\n                             absl::string_view full_contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:91,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:94,1
    - Dst: absl::make_unique<OstreamOutputStream>
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:96,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:97,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:98,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:99,1
    - Dst: StreamingAead*::NewEncryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:104,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:105,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:105,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:106,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:107,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:108,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:109,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:115,1
    - Dst: auto::str
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:116,1
    - Dst: StreamingAead*::NewDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:121,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:122,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:123,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:123,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:124,1
    - Dst: crypto::tink::subtle::test::ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:126,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:126,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:131,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:137,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:137,1
    - Dst: auto::str
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:137,1
    - Dst: StreamingAead*::NewDecryptingRandomAccessStream
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:141,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:142,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:142,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:143,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:143,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:145,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:146,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:146,1
    - Dst: crypto::tink::ReadAndVerifyFragment
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:147,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:147,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:148,1
    - Dst: Status
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:149,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:151,1
    - Dst: auto::ToString
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:153,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_aead_test_util.cc:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - encrypter
    - decrypter
    - plaintext
    - associated_data
    - ciphertext_offset
    argTypes:
    - StreamingAead*
    - StreamingAead*
    - absl::string_view
    - absl::string_view
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 158
    functionName: crypto::tink::EncryptThenDecrypt
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_test_util.cc
    functionUses: 4
    functionsReached:
    - absl::string_view::size
    - auto::ok
    - std::move
    - StreamingAead*::NewDecryptingRandomAccessStream
    - auto::ToString
    - auto::Position
    - absl::StrCat
    - auto::status
    - std::string
    - crypto::tink::subtle::test::ReadFromStream
    - Status
    - auto::str
    - crypto::tink::util::OkStatus
    - auto::rdbuf
    - absl::make_unique<OstreamOutputStream>
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::test::WriteToStream
    - std::max
    - crypto::tink::ReadAndVerifyFragment
    - absl::make_unique<std::stringstream>
    - crypto::tink::internal::ExtractStatus
    - auto::value
    - auto::get
    - StreamingAead*::NewDecryptingStream
    - StreamingAead*::NewEncryptingStream
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status EncryptThenDecrypt(StreamingAead* encrypter,\n
      \                                             StreamingAead* decrypter,\n                                              absl::string_view
      plaintext,\n                                              absl::string_view
      associated_data,\n                                              int ciphertext_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac_factory
    argTypes:
    - std::unique_ptr<StatefulMacFactory>
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: crypto::tink::subtle::StreamingMacImpl::StreamingMacImpl
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void StreamingMacImpl(std::unique_ptr<StatefulMacFactory> mac_factory)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:44,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:45,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:45,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:46,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:47,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:47,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: crypto::tink::subtle::RsaPssSignBoringsslTest::RsaPssSignBoringsslTest
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::internal::NewRsaKeyPair
    - IsOk
    - BN_new
    - BN_set_word
    - EXPECT_THAT
    - get
    linkageType: ''
    returnType: void
    signature: void RsaPssSignBoringsslTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:59,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:60,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:68,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:72,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:72,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:72,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:72,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:76,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:76,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, EncodesPss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:81,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:82,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:90,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:94,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:94,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:94,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:94,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, EncodesPssWithSeparateHashes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:103,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:110,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:110,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, RejectsInvalidPaddingHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:115,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:122,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:122,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, RejectsUnsafePaddingHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:127,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:134,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:134,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:135,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:135,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:136,1
    - Dst: Not
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:136,1
    - Dst: IsEmpty
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:136,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:143,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:143,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:144,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:150,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:150,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:151,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:157,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:157,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, RejectsInvalidCrtParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:164,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:164,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:172,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:172,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, TestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:177,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:177,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:183,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:183,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:190,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:190,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - IsOk
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, TestRestrictedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:195,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:195,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:201,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:201,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:208,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - IsOk
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaPssSignBoringsslTest, TestAllowedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:47,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:48,1
    - Dst: resize
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mac
    argTypes:
    - std::unique_ptr<StatefulMac>
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::ComputeMacOutputStream::ComputeMacOutputStream
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - resize
    - crypto::tink::util::OkStatus
    - std::move
    linkageType: ''
    returnType: void
    signature: void ComputeMacOutputStream(std::unique_ptr<StatefulMac> mac)
  - 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: crypto::tink::subtle::ComputeMacOutputStream::Position
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Create
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:73,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:76,1
    - Dst: absl::make_unique<ComputeMacOutputStream>
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:80,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: crypto::tink::subtle::StreamingMacImpl::NewComputeMacOutputStream
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - Create
    - absl::make_unique<ComputeMacOutputStream>
    - util::StatusOr::status
    - std::move
    - util::StatusOr::ok
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<OutputStreamWithResult<std::string>>>
    signature: util::StatusOr<std::unique_ptr<OutputStreamWithResult<std::string>>>
      StreamingMacImpl::NewComputeMacOutputStream() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:85,1
    - Dst: crypto::tink::subtle::ComputeMacOutputStream::WriteIntoMac
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: crypto::tink::subtle::ComputeMacOutputStream::NextBuffer
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - ok
    - crypto::tink::subtle::ComputeMacOutputStream::WriteIntoMac
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> ComputeMacOutputStream::NextBuffer(void** buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:97,1
    - Dst: crypto::tink::subtle::ComputeMacOutputStream::WriteIntoMac
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:102,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: crypto::tink::subtle::ComputeMacOutputStream::CloseStreamAndComputeResult
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - ok
    - crypto::tink::internal::ExtractStatus
    - Finalize
    - crypto::tink::subtle::ComputeMacOutputStream::WriteIntoMac
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ComputeMacOutputStream::CloseStreamAndComputeResult()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: crypto::tink::subtle::ComputeMacOutputStream::BackUp
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void ComputeMacOutputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Update
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:115,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:115,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:115,1
    - Dst: replace
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: crypto::tink::subtle::ComputeMacOutputStream::WriteIntoMac
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 2
    functionsReached:
    - absl::string_view
    - Update
    - replace
    - data
    linkageType: ''
    returnType: void
    signature: void ComputeMacOutputStream::WriteIntoMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:128,1
    - Dst: resize
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' expected'
    - mac
    argTypes:
    - std::string
    - std::unique_ptr<StatefulMac>
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: crypto::tink::subtle::VerifyMacOutputStream::VerifyMacOutputStream
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - resize
    - crypto::tink::util::OkStatus
    - std::move
    linkageType: ''
    returnType: void
    signature: "void VerifyMacOutputStream(const std::string& expected,\n                        std::unique_ptr<StatefulMac>
      mac)"
  - 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: crypto::tink::subtle::VerifyMacOutputStream::Position
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:157,1
    - Dst: crypto::tink::subtle::VerifyMacOutputStream::WriteIntoMac
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: crypto::tink::subtle::VerifyMacOutputStream::NextBuffer
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - ok
    - crypto::tink::subtle::VerifyMacOutputStream::WriteIntoMac
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> VerifyMacOutputStream::NextBuffer(void** buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:168,1
    - Dst: crypto::tink::subtle::VerifyMacOutputStream::WriteIntoMac
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:171,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:173,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:174,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:175,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:176,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:178,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:178,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:179,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:180,1
    - Dst: size
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:180,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:181,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:183,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:183,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:183,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:184,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:185,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: crypto::tink::subtle::VerifyMacOutputStream::CloseStreamAndComputeResult
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - crypto::tink::subtle::VerifyMacOutputStream::WriteIntoMac
    - ok
    - Finalize
    - util::StatusOr::ok
    - util::StatusOr::size
    - absl::StrCat
    - absl::InvalidArgumentError
    - data
    - util::StatusOr::data
    linkageType: ''
    returnType: util::Status
    signature: util::Status VerifyMacOutputStream::CloseStreamAndComputeResult()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: crypto::tink::subtle::VerifyMacOutputStream::BackUp
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - std::min
    linkageType: ''
    returnType: void
    signature: void VerifyMacOutputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Update
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:199,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:199,1
    - Dst: data
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:199,1
    - Dst: replace
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: crypto::tink::subtle::VerifyMacOutputStream::WriteIntoMac
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 2
    functionsReached:
    - absl::string_view
    - Update
    - replace
    - data
    linkageType: ''
    returnType: void
    signature: void VerifyMacOutputStream::WriteIntoMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Create
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:210,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:211,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:212,1
    - Dst: std::unique_ptr<OutputStreamWithResult<util::Status>>
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:214,1
    - Dst: absl::make_unique<VerifyMacOutputStream>
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:215,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:216,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/subtle/streaming_mac_impl.cc:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' mac_value'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: crypto::tink::subtle::StreamingMacImpl::NewVerifyMacOutputStream
    functionSourceFile: /src/tink/cc/subtle/streaming_mac_impl.cc
    functionUses: 0
    functionsReached:
    - Create
    - util::StatusOr::status
    - std::unique_ptr<OutputStreamWithResult<util::Status>>
    - std::move
    - absl::make_unique<VerifyMacOutputStream>
    - util::StatusOr::ok
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<OutputStreamWithResult<util::Status>>>
    signature: util::StatusOr<std::unique_ptr<OutputStreamWithResult<util::Status>>>
      StreamingMacImpl::NewVerifyMacOutputStream(const std::string& mac_value) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:66,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:66,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:70,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:71,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:72,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StatefulCmacBoringSslTest, CmacEmptyInputRegularTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:77,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:77,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:81,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:82,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:83,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StatefulCmacBoringSslTest, CmacEmptyInputSmallTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:88,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:88,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:92,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:93,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:94,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:95,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StatefulCmacBoringSslTest, CmacSomeDataRegularTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:100,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:100,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:104,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:105,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:105,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:106,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StatefulCmacBoringSslTest, CmacSomeDataSmallTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:112,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:112,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:117,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:119,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:120,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:121,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: "void TEST(StatefulCmacBoringSslTest,\n     CmacMultipleUpdatesSameAsOneForWholeInputRegularTagSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:127,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:127,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:132,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:134,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:134,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:135,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: "void TEST(StatefulCmacBoringSslTest,\n     CmacMultipleUpdatesSameAsOneForWholeInputSmallTagSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<StatefulCmacBoringSslFactory>
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:139,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:141,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:141,1
    - Dst: auto::Create
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:144,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:145,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:146,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:147,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::Create
    - absl::make_unique<StatefulCmacBoringSslFactory>
    - IsOk
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - EXPECT_THAT
    - IsOkAndHolds
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(StatefulCmacFactoryTest, FactoryGeneratesValidInstances)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:161,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:163,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:169,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:170,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:171,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:172,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:173,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:174,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:174,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: crypto::tink::subtle::GetWycheproofCmakeTestVectors
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - GetInt
    - std::vector::push_back
    - GetString
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: std::vector<StatefulCmacTestVector>
    signature: std::vector<StatefulCmacTestVector> GetWycheproofCmakeTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:186,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:189,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:189,1
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:191,1
    - Dst: StatefulCmacTestVector::tag::length
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:192,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:195,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:195,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:198,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:198,1
    - Dst: Not
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:198,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:200,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:200,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - StatefulCmacTestVector::tag::length
    - IsOk
    - Not
    - ASSERT_THAT
    - Finalize
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - EXPECT_THAT
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    - IsOkAndHolds
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(StatefulCmacBoringSslWycheproofTest, WycheproofTest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:62,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:65,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:68,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:69,1
    - Dst: crypto::tink::subtle::StreamingAeadDecryptingStream::New
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:69,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:72,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pt_segment_size
    - header_size
    - ct_offset
    - ciphertext
    - refs
    argTypes:
    - int
    - int
    - int
    - absl::string_view
    - ValidationRefs*
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: crypto::tink::subtle::GetDecryptingStream
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - std::string
    - EXPECT_EQ
    - std::move
    - crypto::tink::subtle::StreamingAeadDecryptingStream::New
    - auto::get
    - auto::Position
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: "std::unique_ptr<InputStream> GetDecryptingStream(\n    int pt_segment_size,
      int header_size, int ct_offset,\n    absl::string_view ciphertext, ValidationRefs*
      refs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:89,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:89,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:94,1
    - Dst: DummyStreamSegmentEncrypter::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:97,1
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:100,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:106,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:111,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:111,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:115,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:115,1
    - Dst: crypto::tink::subtle::test::ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:119,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:121,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:121,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 127
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::test::ReadFromStream
    - std::string::size
    - crypto::tink::subtle::GetDecryptingStream
    - auto::Position
    - absl::StrCat
    - SCOPED_TRACE
    - auto::BackUp
    - auto::get
    - crypto::tink::subtle::Random::GetRandomBytes
    - DummyStreamSegmentEncrypter::GenerateCiphertext
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, WritingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:135,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:141,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:142,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:142,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:143,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:144,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::subtle::GetDecryptingStream
    - EXPECT_FALSE
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, EmptyCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:153,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:155,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:160,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:161,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:161,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:162,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:163,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::subtle::GetDecryptingStream
    - EXPECT_FALSE
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, InvalidStreamHeader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:172,1
    - Dst: DummyStreamSegmentEncrypter::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:175,1
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:178,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:179,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:179,1
    - Dst: crypto::tink::subtle::test::ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:183,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:183,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:184,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:185,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:185,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:186,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:187,1
    - Dst: auto::message
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::subtle::test::ReadFromStream
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::string::substr
    - auto::message
    - crypto::tink::subtle::GetDecryptingStream
    - auto::get
    - std::string::size
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    - DummyStreamSegmentEncrypter::GenerateCiphertext
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, TruncatedLastSegment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:196,1
    - Dst: DummyStreamSegmentEncrypter::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:200,1
    - Dst: DummyStreamSegmentEncrypter::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:200,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:200,1
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:203,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:208,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:210,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:210,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:211,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:212,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:213,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:214,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:214,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:217,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:218,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:219,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 220
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - DummyStreamSegmentEncrypter::get_ciphertext_segment_size
    - crypto::tink::subtle::GetDecryptingStream
    - reinterpret_cast<const char*>
    - auto::value
    - auto::Position
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    - DummyStreamSegmentEncrypter::GenerateCiphertext
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, OneSegmentPlaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:228,1
    - Dst: DummyStreamSegmentEncrypter::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:232,1
    - Dst: DummyStreamSegmentEncrypter::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:232,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:234,1
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:237,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:242,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:244,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:244,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:245,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:246,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:247,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:247,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:248,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:248,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:251,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:252,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:252,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:253,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:254,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:254,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:255,1
    - Dst: std::string::at
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:255,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:255,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:255,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:258,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:259,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:260,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 261
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - DummyStreamSegmentEncrypter::get_ciphertext_segment_size
    - std::string::substr
    - crypto::tink::subtle::GetDecryptingStream
    - reinterpret_cast<const char*>
    - auto::value
    - auto::Position
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    - DummyStreamSegmentEncrypter::GenerateCiphertext
    - auto::Next
    - std::string::at
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, OneSegmentAndOneBytePlaintext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:269,1
    - Dst: DummyStreamSegmentEncrypter::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:272,1
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:274,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:281,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:281,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:282,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:283,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:284,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:284,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:285,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:285,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:292,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:292,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:293,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:294,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:294,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:294,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:295,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:296,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:297,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:297,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:298,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:298,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:303,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:303,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:304,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:305,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:305,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:306,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:307,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:308,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:308,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:309,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:309,1
    - Dst: crypto::tink::subtle::test::ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:313,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:314,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:314,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:315,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:315,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 317
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::test::ReadFromStream
    - std::string::substr
    - crypto::tink::subtle::GetDecryptingStream
    - reinterpret_cast<const char*>
    - auto::value
    - auto::Position
    - auto::BackUp
    - auto::get
    - crypto::tink::subtle::Random::GetRandomBytes
    - DummyStreamSegmentEncrypter::GenerateCiphertext
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, NextAfterBackUp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:325,1
    - Dst: DummyStreamSegmentEncrypter::GenerateCiphertext
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:328,1
    - Dst: crypto::tink::subtle::GetDecryptingStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:330,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:335,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:337,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:337,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:338,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:339,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:339,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:347,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:348,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:349,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:349,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:351,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:351,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:355,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:355,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:356,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:357,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:357,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:363,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:365,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:365,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:367,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:367,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:370,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:371,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:371,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:372,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:373,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:373,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:376,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:378,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:379,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:379,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:380,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:381,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:381,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:387,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:387,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:389,1
    - Dst: std::min
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:390,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:392,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:393,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:395,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:396,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:396,1
    - Dst: auto::Next
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:399,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:400,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:400,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:401,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:401,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:402,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:403,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:403,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:406,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:407,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:407,1
    - Dst: crypto::tink::subtle::test::ReadFromStream
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:409,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:409,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:410,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:411,1
    - Dst: auto::Position
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 413
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::test::ReadFromStream
    - crypto::tink::subtle::GetDecryptingStream
    - std::max
    - auto::value
    - auto::Position
    - auto::BackUp
    - SCOPED_TRACE
    - absl::StrCat
    - auto::get
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_LT
    - DummyStreamSegmentEncrypter::GenerateCiphertext
    - auto::Next
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadDecryptingStreamTest, BackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_cmac_boringssl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_size
    argTypes:
    - util::SecretData
    - uint32_t
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: crypto::tink::subtle::AesCmacBoringSsl::AesCmacBoringSsl
    functionSourceFile: /src/tink/cc/subtle/aes_cmac_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AesCmacBoringSsl(util::SecretData key, uint32_t tag_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:43,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:43,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:44,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:48,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:49,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:52,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:52,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:52,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:53,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:53,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:55,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:56,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:56,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:57,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:57,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:57,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:58,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:58,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:59,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:59,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:60,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::internal::IsFipsEnabledInSsl
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestEncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:64,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:64,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:65,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:69,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:70,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:73,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:74,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:74,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:76,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:78,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:79,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:79,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:79,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:80,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:81,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:81,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:82,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - auto::Encrypt
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestEncryptDecrypt_randomMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:87,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:87,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:88,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:93,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:96,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:97,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:97,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:98,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:100,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:101,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:101,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:102,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:103,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:104,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - std::move
    - auto::Decrypt
    - auto::Encrypt
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestEncryptDecrypt_randomKey_randomMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:109,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:109,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:110,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:114,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:115,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:117,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:118,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:118,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:118,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:121,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:122,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:122,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - auto::ok
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestEncryptDecrypt_invalidIvSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:126,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:126,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:127,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:132,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:133,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:134,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:136,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:139,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:140,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:140,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:141,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:142,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:142,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:143,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - auto::Decrypt
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestNistTestVector)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:147,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:147,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:148,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:152,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:155,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:155,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:155,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:156,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:158,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:159,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:160,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:160,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - auto::ok
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - EXPECT_NE
    - std::move
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestMultipleEncrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:164,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:164,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:165,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:169,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:170,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:171,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:174,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:175,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - crypto::tink::test::HexDecodeOrDie
    - IsOk
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:179,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:179,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:180,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:184,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:185,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:186,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:189,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:189,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:191,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:191,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrBoringSslTest, TestFipsFailWithoutBoringCrypto)
  - 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: crypto::tink::subtle::StreamingAeadEncryptingStream::StreamingAeadEncryptingStream
    functionSourceFile: /src/tink/cc/subtle/streaming_aead_encrypting_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamingAeadEncryptingStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:49,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:49,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:50,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:57,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:60,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:60,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:60,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:61,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:61,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:65,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:65,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:66,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:66,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:69,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:70,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:71,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:72,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:72,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:75,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:75,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:78,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:78,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:82,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:83,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:85,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 48
    functionDepth: 5
    functionLinenumber: 48
    functionLinenumberEnd: 87
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - EXPECT_NE
    - crypto::tink::subtle::GetNewEcKey
    - std::move
    - auto::Verify
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - auto::Sign
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaSignBoringSslTest, testBasicSigning)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:90,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:90,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:91,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:98,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:101,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:101,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:102,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:109,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:109,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:110,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:110,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:113,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:114,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:115,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 118
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - EXPECT_NE
    - crypto::tink::subtle::GetNewEcKey
    - std::move
    - auto::Verify
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - auto::Sign
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaSignBoringSslTest, testEncodingsMismatch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:121,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:121,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:122,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:129,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:130,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:132,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:132,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:133,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:133,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:135,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:137,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:137,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:137,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:138,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:138,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:141,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:142,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:144,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:149,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:150,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 152
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - crypto::tink::subtle::GetNewEcKey
    - std::move
    - auto::Verify
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - auto::status
    - IsOk
    - GTEST_SKIP
    - crypto::tink::internal::EcFieldSizeInBytes
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - EXPECT_EQ
    - auto::Sign
    - EXPECT_NE
    - auto::value
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaSignBoringSslTest, testSignatureSizesWithIEEE_P1364Encoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:155,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:155,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:156,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:160,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:163,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:163,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - auto::ok
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaSignBoringSslTest, testNewErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:170,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:170,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:171,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:177,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:177,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:180,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:184,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:187,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:191,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:191,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaSignBoringSslTest, TestFipsFailWithoutBoringCrypto)
  - 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: ~RsaSsaPkcs1SignBoringSsl() override
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RsaSsaPkcs1SignBoringSsl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key
    - sig_hash
    argTypes:
    - internal::SslUniquePtr<RSA>
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::RsaSsaPkcs1SignBoringSsl
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPkcs1SignBoringSsl(internal::SslUniquePtr<RSA> private_key,\n
      \                          const EVP_MD* sig_hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:45,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:45,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:52,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:53,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:56,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:57,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:57,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:57,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:60,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:61,1
    - Dst: auto::get_segment_number
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:63,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:64,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:65,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:65,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:65,1
    - Dst: auto::get_header
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:68,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:69,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:71,1
    - Dst: auto::get_ciphertext_offset
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:71,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:73,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:75,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:81,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:82,1
    - Dst: std::vector::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:84,1
    - Dst: auto::get_segment_number
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:84,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:89,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:90,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:92,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:92,1
    - Dst: auto::message
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:93,1
    - Dst: std::vector::resize
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:94,1
    - Dst: auto::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:94,1
    - Dst: auto::EncryptSegment
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:95,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:97,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:97,1
    - Dst: auto::message
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:97,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 102
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::get_segment_number
    - absl::StrCat
    - auto::message
    - EXPECT_FALSE
    - auto::status
    - std::string
    - std::vector::resize
    - auto::get_header
    - std::vector::size
    - reinterpret_cast<const char*>
    - auto::get_plaintext_segment_size
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - auto::get_ciphertext_segment_size
    - auto::get_ciphertext_offset
    - auto::value
    - HasSubstr
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - auto::EncryptSegment
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentEncrypterTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:108,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:113,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:114,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:117,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:118,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:119,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:120,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - HasSubstr
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentEncrypterTest, testWrongKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:130,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:130,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:134,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:135,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:141,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:141,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - HasSubstr
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentEncrypterTest, testWrongSaltSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:150,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:150,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:154,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:155,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:159,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:160,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:161,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:161,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:161,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - HasSubstr
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentEncrypterTest, testWrongCiphertextOffset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:177,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:177,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:182,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:183,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:186,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:188,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:189,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:190,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:190,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:190,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:193,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:193,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 198
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - HasSubstr
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamSegmentEncrypterTest, testWrongCiphertextSegmentSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl.h:68,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::ComputeB
      Src: /src/tink/cc/subtle/aes_eax_boringssl.h:70,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::ComputeP
      Src: /src/tink/cc/subtle/aes_eax_boringssl.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - aeskey
    - nonce_size
    argTypes:
    - util::SecretUniquePtr<AES_KEY>
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: crypto::tink::subtle::AesEaxBoringSsl::AesEaxBoringSsl
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesEaxBoringSsl::ComputeP
    - std::move
    - crypto::tink::subtle::AesEaxBoringSsl::ComputeB
    linkageType: ''
    returnType: void
    signature: void AesEaxBoringSsl(util::SecretUniquePtr<AES_KEY> aeskey, size_t
      nonce_size)
  - 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: ~EciesHkdfRecipientKemBoringSsl()
    functionSourceFile: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EciesHkdfRecipientKemBoringSsl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:92,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:93,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:99,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:100,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:101,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:104,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:104,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - std::move
    - auto::Verify
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, BasicVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:108,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:109,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:114,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:114,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:119,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:120,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:121,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:123,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:123,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:129,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:130,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:130,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:131,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:133,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, NewErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:138,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:139,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:145,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:146,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:146,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:146,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:147,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:147,1
    - Dst: message::length
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:149,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:153,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:154,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:154,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:154,1
    - Dst: signature::length
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:157,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:161,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:162,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:162,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:162,1
    - Dst: signature::length
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:165,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:169,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:169,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 171
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - signature::length
    - auto::ok
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - std::move
    - auto::Verify
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - GTEST_SKIP
    - ASSERT_TRUE
    - message::length
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, Modification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::GetInteger
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:176,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetInteger
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:177,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:179,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:183,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' test_group'
    argTypes:
    - rapidjson::Value
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: crypto::tink::subtle::GetVerifier
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 2
    functionsReached:
    - auto::status
    - crypto::tink::subtle::WycheproofUtil::GetHashType
    - auto::ok
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - crypto::tink::subtle::WycheproofUtil::GetInteger
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<RsaSsaPkcs1VerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<RsaSsaPkcs1VerifyBoringSsl>> GetVerifier(\n
      \   const rapidjson::Value& test_group)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:197,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:198,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:199,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:204,1
    - Dst: crypto::tink::subtle::GetVerifier
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:206,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:207,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:208,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:211,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:213,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:215,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:216,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:220,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:220,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:221,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:222,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:223,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:224,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:226,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:226,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:226,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:227,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:229,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:233,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:237,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:241,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:251,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - ' filename'
    - allow_skipping
    argTypes:
    - std::string
    - bool
    constantsTouched: []
    func_position:
      end: 260
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 260
    functionName: crypto::tink::subtle::TestSignatures
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::subtle::GetVerifier
    - GetArray
    - auto::status
    - auto::ok
    - std::move
    - GetInt
    - auto::Verify
    - auto::value
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - ADD_FAILURE
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: bool
    signature: bool TestSignatures(const std::string& filename, bool allow_skipping)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:263,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:266,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, WycheproofRsaPkcs12048SHA256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:271,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:271,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:272,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:275,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, WycheproofRsaPkcs13072SHA256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:280,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:280,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:281,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:284,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, WycheproofRsaPkcs13072SHA512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:289,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:292,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, WycheproofRsaPkcs14096SHA512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:298,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:298,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:305,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:305,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, TestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:310,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:310,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:311,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:317,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:317,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:319,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:320,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:320,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:324,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 326
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - BN_set_word
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, TestAllowedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:329,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:329,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:330,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:337,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:337,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:339,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:340,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:341,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:343,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:343,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:344,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:346,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:347,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:350,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:350,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 352
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewRsaKeyPair
    - internal::SslUniquePtr::get
    - IsOk
    - BN_set_word
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1VerifyBoringSslTest, TestRestrictedFipsModuli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - hash
    - raw_signer
    argTypes:
    - EVP_MD*
    - std::unique_ptr<internal::EcdsaRawSignBoringSsl>
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: crypto::tink::subtle::EcdsaSignBoringSsl::EcdsaSignBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EcdsaSignBoringSsl(\n      const EVP_MD* hash,\n      std::unique_ptr<internal::EcdsaRawSignBoringSsl>
      raw_signer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: crypto::tink::subtle::BigEndian32
    functionSourceFile: /src/tink/cc/subtle/subtle_util.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string BigEndian32(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::resize
      Src: /src/tink/cc/subtle/subtle_util.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std::string*
    - size_t
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: crypto::tink::subtle::ResizeStringUninitialized
    functionSourceFile: /src/tink/cc/subtle/subtle_util.cc
    functionUses: 15
    functionsReached:
    - std::string*::resize
    linkageType: ''
    returnType: void
    signature: void ResizeStringUninitialized(std::string* s, size_t new_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:51,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:51,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:52,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:59,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:60,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:60,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:60,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:61,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:61,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:64,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:65,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:65,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:66,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:66,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:70,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:71,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:71,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:74,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:75,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:75,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:75,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:76,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:77,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:78,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:79,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:79,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:81,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:82,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:82,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:84,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:85,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:85,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 90
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - EXPECT_NE
    - crypto::tink::subtle::GetNewEcKey
    - std::move
    - auto::Verify
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - auto::Sign
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, BasicSigning)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:93,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:93,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:94,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:101,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:102,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:102,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:103,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:103,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:106,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:108,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:115,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:115,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:115,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:116,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:116,1
    - Dst: auto::Sign
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:119,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:120,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:121,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:122,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:124,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - EXPECT_NE
    - crypto::tink::subtle::GetNewEcKey
    - std::move
    - auto::Verify
    - crypto::tink::internal::IsFipsModeEnabled
    - auto::value
    - auto::Sign
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, EncodingsMismatch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:129,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:129,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:130,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:134,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:135,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:137,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:137,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, NewErrors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::GetInteger
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:144,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetInteger
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:145,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:146,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetHashType
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:147,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ' test_group'
    - encoding
    argTypes:
    - rapidjson::Value
    - subtle::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: crypto::tink::subtle::GetVerifier
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 3
    functionsReached:
    - auto::status
    - crypto::tink::subtle::WycheproofUtil::GetHashType
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - crypto::tink::subtle::WycheproofUtil::GetInteger
    - crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EcdsaVerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EcdsaVerifyBoringSsl>> GetVerifier(\n
      \   const rapidjson::Value& test_group,\n    subtle::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:163,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:164,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:165,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:169,1
    - Dst: crypto::tink::subtle::GetVerifier
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:170,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:171,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:172,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:175,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:177,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:178,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:179,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:183,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:183,1
    - Dst: GetArray
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:184,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:185,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:186,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:187,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:189,1
    - Dst: GetInt
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:189,1
    - Dst: GetString
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:189,1
    - Dst: auto::Verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:190,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:192,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:196,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:200,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:204,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:214,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - ' filename'
    - allow_skipping
    - encoding
    argTypes:
    - std::string
    - bool
    - subtle::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 223
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 223
    functionName: crypto::tink::subtle::TestSignatures
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 5
    functionsReached:
    - crypto::tink::subtle::GetVerifier
    - GetArray
    - auto::status
    - auto::ok
    - std::move
    - GetInt
    - auto::Verify
    - auto::value
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - ADD_FAILURE
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: bool
    signature: "bool TestSignatures(const std::string& filename, bool allow_skipping,\n
      \                   subtle::EcdsaSignatureEncoding encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:226,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:226,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:227,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:230,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, WycheproofCurveP256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:235,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:235,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:236,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:239,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, WycheproofCurveP384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:244,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:244,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:245,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:248,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, WycheproofCurveP521)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:253,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:253,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:254,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:257,1
    - Dst: crypto::tink::subtle::TestSignatures
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::TestSignatures
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, WycheproofWithIeeeP1363Encoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:263,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:263,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:264,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:269,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:270,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:270,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:273,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:277,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:277,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:280,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:284,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 5
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaVerifyBoringSslTest, TestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesCbcCipherForKeySize
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:44,1
    - Dst: size
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:44,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:45,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:49,1
    - Dst: CMAC_Init
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:56,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:56,1
    - Dst: data
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:56,1
    - Dst: size
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:58,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:63,1
    - Dst: StatefulCmacBoringSsl::StatefulCmacBoringSsl
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - tag_size
    - ' key_value'
    argTypes:
    - uint32_t
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: crypto::tink::subtle::StatefulCmacBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl.cc
    functionUses: 7
    functionsReached:
    - StatefulCmacBoringSsl::StatefulCmacBoringSsl
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - std::move
    - absl::WrapUnique
    - util::StatusOr::ok
    - CMAC_Init
    - crypto::tink::internal::GetAesCbcCipherForKeySize
    - data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StatefulMac>>
    signature: "util::StatusOr<std::unique_ptr<StatefulMac>> StatefulCmacBoringSsl::New(\n
      \   uint32_t tag_size, const util::SecretData& key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:69,1
    - Dst: CMAC_Update
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:71,1
    - Dst: get
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:71,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:72,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:72,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:73,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:74,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::StatefulCmacBoringSsl::Update
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - CMAC_Update
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EnsureStringNonNull
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - get
    linkageType: ''
    returnType: util::Status
    signature: util::Status StatefulCmacBoringSsl::Update(absl::string_view data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMAC_Final
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:84,1
    - Dst: get
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:84,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:85,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:88,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: crypto::tink::subtle::StatefulCmacBoringSsl::Finalize
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - CMAC_Final
    - reinterpret_cast<char*>
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> StatefulCmacBoringSsl::Finalize()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - tag_size
    - ' key_value'
    argTypes:
    - uint32_t
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: crypto::tink::subtle::StatefulCmacBoringSslFactory::StatefulCmacBoringSslFactory
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void StatefulCmacBoringSslFactory::StatefulCmacBoringSslFactory(\n
      \   uint32_t tag_size, const util::SecretData& key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::StatefulCmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_cmac_boringssl.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: crypto::tink::subtle::StatefulCmacBoringSslFactory::Create
    functionSourceFile: /src/tink/cc/subtle/stateful_cmac_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::StatefulCmacBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StatefulMac>>
    signature: util::StatusOr<std::unique_ptr<StatefulMac>> StatefulCmacBoringSslFactory::Create()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead
    argTypes:
    - std::unique_ptr<internal::SslOneShotAead>
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: crypto::tink::subtle::XChacha20Poly1305BoringSsl::XChacha20Poly1305BoringSsl
    functionSourceFile: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void XChacha20Poly1305BoringSsl(\n      std::unique_ptr<internal::SslOneShotAead>
      aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/ed25519_sign_boringssl.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - priv_key
    argTypes:
    - internal::SslUniquePtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: crypto::tink::subtle::Ed25519SignBoringSsl::Ed25519SignBoringSsl
    functionSourceFile: /src/tink/cc/subtle/ed25519_sign_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void Ed25519SignBoringSsl(internal::SslUniquePtr<EVP_PKEY> priv_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewSegmentEncrypter
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:42,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:43,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:43,1
    - Dst: crypto::tink::subtle::StreamingAeadEncryptingStream::New
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:44,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:45,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:45,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ciphertext_destination
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::OutputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: crypto::tink::subtle::NonceBasedStreamingAead::NewEncryptingStream
    functionSourceFile: /src/tink/cc/subtle/nonce_based_streaming_aead.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - NewSegmentEncrypter
    - crypto::tink::subtle::StreamingAeadEncryptingStream::New
    - std::move
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::OutputStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::OutputStream>>
      NonceBasedStreamingAead::NewEncryptingStream(\n        std::unique_ptr<crypto::tink::OutputStream>
      ciphertext_destination,\n        absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewSegmentDecrypter
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:53,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:54,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:54,1
    - Dst: crypto::tink::subtle::StreamingAeadDecryptingStream::New
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:55,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:56,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::NonceBasedStreamingAead::NewDecryptingStream
    functionSourceFile: /src/tink/cc/subtle/nonce_based_streaming_aead.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - NewSegmentDecrypter
    - auto::ok
    - std::move
    - crypto::tink::subtle::StreamingAeadDecryptingStream::New
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>
      NonceBasedStreamingAead::NewDecryptingStream(\n        std::unique_ptr<crypto::tink::InputStream>
      ciphertext_source,\n        absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewSegmentDecrypter
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:65,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:65,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:66,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:67,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/nonce_based_streaming_aead.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: crypto::tink::subtle::NonceBasedStreamingAead::NewDecryptingRandomAccessStream
    functionSourceFile: /src/tink/cc/subtle/nonce_based_streaming_aead.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - NewSegmentDecrypter
    - auto::ok
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::RandomAccessStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::RandomAccessStream>>
      NonceBasedStreamingAead::NewDecryptingRandomAccessStream(\n        std::unique_ptr<crypto::tink::RandomAccessStream>
      ciphertext_source,\n        absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_boringssl.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key
    - iv_size
    - cipher
    argTypes:
    - util::SecretData
    - int
    - EVP_CIPHER*
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::subtle::AesCtrBoringSsl::AesCtrBoringSsl
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AesCtrBoringSsl(util::SecretData key, int iv_size, const EVP_CIPHER*
      cipher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:71,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:72,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:74,1
    - Dst: RSA_padding_add_PKCS1_PSS_mgf1
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:79,1
    - Dst: std::vector::data
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:80,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:81,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:81,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:86,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:90,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:98,1
    - Dst: std::string::resize
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - rsa_private_key
    - digest
    - sig_md
    - mgf1_md
    - salt_length
    argTypes:
    - RSA*
    - absl::string_view
    - EVP_MD*
    - EVP_MD*
    - int32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: crypto::tink::subtle::SslRsaSsaPssSign
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - absl::string_view::size
    - std::string::resize
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - RSA_padding_add_PKCS1_PSS_mgf1
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> SslRsaSsaPssSign(RSA* rsa_private_key,\n
      \                                            absl::string_view digest,\n                                             const
      EVP_MD* sig_md,\n                                             const EVP_MD*
      mgf1_md,\n                                             int32_t salt_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<RsaSsaPssSignBoringSsl>
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:111,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:112,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:117,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:118,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:123,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:124,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:125,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:129,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:130,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:131,1
    - Dst: crypto::tink::internal::RsaPrivateKeyToRsa
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:137,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:138,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:139,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:142,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:143,1
    - Dst: RsaSsaPssSignBoringSsl::RsaSsaPssSignBoringSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' private_key'
    - ' params'
    argTypes:
    - internal::RsaPrivateKey
    - internal::RsaSsaPssParams
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 4
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc
    functionUses: 8
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::RsaPrivateKeyToRsa
    - std::move
    - RsaSsaPssSignBoringSsl::RsaSsaPssSignBoringSsl
    - absl::WrapUnique
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - crypto::tink::internal::IsHashTypeSafeForSignature
    - internal::CheckFipsCompatibility<RsaSsaPssSignBoringSsl>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> RsaSsaPssSignBoringSsl::New(\n
      \   const internal::RsaPrivateKey& private_key,\n    const internal::RsaSsaPssParams&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:148,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:149,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:150,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:151,1
    - Dst: SslRsaSsaPssSign
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:154,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:155,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:156,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: crypto::tink::subtle::RsaSsaPssSignBoringSsl::Sign
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ComputeHash
    - crypto::tink::internal::EnsureStringNonNull
    - util::StatusOr::ok
    - SslRsaSsaPssSign
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> RsaSsaPssSignBoringSsl::Sign(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/hkdf_test.cc:101,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:101,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:102,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:103,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/hkdf_test.cc:104,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hkdf_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hkdf_test.cc:105,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hkdf_test.cc:105,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hkdf_test.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hkdf_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - auto::value
    - ASSERT_TRUE
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HkdfTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/hkdf_test.cc:111,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hkdf_test.cc:113,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:113,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:114,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/hkdf_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hkdf_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hkdf_test.cc:117,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hkdf_test.cc:118,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/hkdf_test.cc:118,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hkdf_test.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hkdf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - ASSERT_TRUE
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HkdfTest, testBasicSecretData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/hkdf_test.cc:126,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:126,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:127,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/hkdf_test.cc:130,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hkdf_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hkdf_test.cc:131,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hkdf_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hkdf_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HkdfTest, testLongOutput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:136,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/hkdf_test.cc:137,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/hkdf_test.cc:137,1
    - Dst: std::string::begin
      Src: /src/tink/cc/subtle/hkdf_test.cc:138,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/hkdf_test.cc:138,1
    - Dst: std::string::end
      Src: /src/tink/cc/subtle/hkdf_test.cc:138,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
      Src: /src/tink/cc/subtle/hkdf_test.cc:139,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:141,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hkdf_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/hkdf_test.cc:143,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hkdf_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hkdf_test.cc:144,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hkdf_test.cc:145,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/hkdf_test.cc:145,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hkdf_test.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hkdf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - auto::ok
    - EXPECT_EQ
    - std::string::substr
    - std::string::end
    - crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
    - auto::value
    - std::string::begin
    - std::string::size
    - ASSERT_TRUE
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HkdfTest, ComputeEciesHkdfSecretData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.h:39,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/aes_gcm_boringssl.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_value
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: crypto::tink::subtle::New
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_boringssl.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::AesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> New(\n      absl::string_view
      key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:49,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/random_test.cc:49,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/random_test.cc:49,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/random_test.cc:49,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/subtle/random_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:52,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/random_test.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - absl::flat_hash_set::insert
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, MultipleFilledBuffersAreUnique)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/random_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:60,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/random_test.cc:60,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/subtle/random_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:63,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/random_test.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - absl::flat_hash_set::insert
    - SizeIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, MultipleGeneratedRandomStringAreUnique)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/random_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:72,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/random_test.cc:72,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/subtle/random_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:75,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/random_test.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - SizeIs
    - EXPECT_THAT
    - absl::flat_hash_set::insert
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, MultipleGeneratedSecretDataAreUnique)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/random_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:90,1
    - Dst: Gt
      Src: /src/tink/cc/subtle/random_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:91,1
    - Dst: Lt
      Src: /src/tink/cc/subtle/random_test.cc:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - Gt
    - EXPECT_THAT
    - Lt
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, KeyBytesRandomGenerationIsUniform)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:107,1
    - Dst: Gt
      Src: /src/tink/cc/subtle/random_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:108,1
    - Dst: Lt
      Src: /src/tink/cc/subtle/random_test.cc:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - Gt
    - Lt
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, UInt8RandomGenerationIsUniform)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:124,1
    - Dst: Gt
      Src: /src/tink/cc/subtle/random_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:125,1
    - Dst: Lt
      Src: /src/tink/cc/subtle/random_test.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - Gt
    - Lt
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, UInt16RandomGenerationIsUniform)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:141,1
    - Dst: Gt
      Src: /src/tink/cc/subtle/random_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/random_test.cc:142,1
    - Dst: Lt
      Src: /src/tink/cc/subtle/random_test.cc:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/random_test.cc
    functionUses: 0
    functionsReached:
    - Gt
    - Lt
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RandomTest, UInt32RandomGenerationIsUniform)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_siv_boringssl.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead
    argTypes:
    - std::unique_ptr<internal::SslOneShotAead>
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: crypto::tink::subtle::AesGcmSivBoringSsl::AesGcmSivBoringSsl
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_siv_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AesGcmSivBoringSsl(std::unique_ptr<internal::SslOneShotAead> aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:51,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:52,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:52,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:53,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:53,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:55,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:55,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:55,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:59,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:60,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:60,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:61,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:61,1
    - Dst: EC_KEY_set_public_key
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:62,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:62,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:63,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:65,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:65,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' ec_key'
    - hash_type
    - encoding
    argTypes:
    - SubtleUtilBoringSSL::EcKey
    - HashType
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 68
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 68
    functionName: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc
    functionUses: 9
    functionsReached:
    - auto::status
    - EC_KEY_set_group
    - auto::ok
    - crypto::tink::internal::GetSslErrors
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::GetEcPoint
    - auto::value
    - absl::StrCat
    - EC_KEY_set_public_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EcdsaVerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EcdsaVerifyBoringSsl>> EcdsaVerifyBoringSsl::New(\n
      \   const SubtleUtilBoringSSL::EcKey& ec_key, HashType hash_type,\n    EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<EcdsaVerifyBoringSsl>
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:74,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:75,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:80,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:81,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:84,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:85,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:89,1
    - Dst: EcdsaVerifyBoringSsl::EcdsaVerifyBoringSsl
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:89,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ec_key
    - hash_type
    - encoding
    argTypes:
    - internal::SslUniquePtr<EC_KEY>
    - HashType
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc
    functionUses: 9
    functionsReached:
    - EcdsaVerifyBoringSsl::EcdsaVerifyBoringSsl
    - util::Status::ok
    - util::StatusOr::status
    - std::move
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - internal::CheckFipsCompatibility<EcdsaVerifyBoringSsl>
    - crypto::tink::internal::IsHashTypeSafeForSignature
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EcdsaVerifyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EcdsaVerifyBoringSsl>> EcdsaVerifyBoringSsl::New(\n
      \   internal::SslUniquePtr<EC_KEY> ec_key, HashType hash_type,\n    EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:97,1
    - Dst: EVP_Digest
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:102,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:102,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:104,1
    - Dst: EC_KEY_get0_group
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:110,1
    - Dst: get
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:110,1
    - Dst: crypto::tink::internal::EcSignatureIeeeToDer
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:113,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:114,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:116,1
    - Dst: ECDSA_verify
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:120,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:121,1
    - Dst: std::string::data
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:121,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:122,1
    - Dst: get
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:124,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: crypto::tink::subtle::EcdsaVerifyBoringSsl::Verify
    functionSourceFile: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string::data
    - absl::string_view::size
    - EC_KEY_get0_group
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcSignatureIeeeToDer
    - EVP_Digest
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - ECDSA_verify
    - std::string::size
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status EcdsaVerifyBoringSsl::Verify(absl::string_view signature,\n
      \                                         absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: crypto::tink::subtle::Load64
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t Load64(const uint8_t src[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::memcpy
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - dst
    argTypes:
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: crypto::tink::subtle::Store64
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void Store64(uint64_t val, uint8_t dst[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: crypto::tink::subtle::ByteSwap
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ByteSwap(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ByteSwap
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:72,1
    - Dst: crypto::tink::subtle::Load64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:72,1
    - Dst: crypto::tink::subtle::Load64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::BigEndianLoad64
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ByteSwap
    - crypto::tink::subtle::Load64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t BigEndianLoad64(const uint8_t src[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Store64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:82,1
    - Dst: crypto::tink::subtle::ByteSwap
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:82,1
    - Dst: crypto::tink::subtle::Store64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - dst
    argTypes:
    - uint64_t
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: crypto::tink::subtle::BigEndianStore64
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Store64
    - crypto::tink::subtle::ByteSwap
    linkageType: ''
    returnType: void
    signature: void BigEndianStore64(uint64_t val, uint8_t dst[8])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::MakeSecretUniquePtr<AES_KEY>
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:92,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: crypto::tink::subtle::InitAesKey
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - util::MakeSecretUniquePtr<AES_KEY>
    - std::move
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretUniquePtr<AES_KEY>>
    signature: "crypto::tink::util::StatusOr<util::SecretUniquePtr<AES_KEY>> InitAesKey(\n
      \   const util::SecretData& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Store64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:107,1
    - Dst: Block*::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:107,1
    - Dst: Store64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:108,1
    - Dst: Block*::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - Block*
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - Store64
    - Block*::data
    linkageType: ''
    returnType: void
    signature: void AesEaxBoringSsl::XorBlock(const uint8_t x[kBlockSize], Block*
      y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigEndianStore64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:120,1
    - Dst: BigEndianStore64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::AesEaxBoringSsl::MultiplyByX
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - BigEndianStore64
    linkageType: ''
    returnType: void
    signature: "void AesEaxBoringSsl::MultiplyByX(const uint8_t in[kBlockSize],\n
      \                                 uint8_t out[kBlockSize])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Load64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:127,1
    - Dst: Load64
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - uint8_t[]
    - uint8_t[]
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: crypto::tink::subtle::AesEaxBoringSsl::EqualBlocks
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - Load64
    linkageType: ''
    returnType: bool
    signature: "bool AesEaxBoringSsl::EqualBlocks(const uint8_t x[kBlockSize],\n                                  const
      uint8_t y[kBlockSize])"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::AesEaxBoringSsl::IsValidKeySize
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AesEaxBoringSsl::IsValidKeySize(size_t key_size_in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - nonce_size_in_bytes
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: crypto::tink::subtle::AesEaxBoringSsl::IsValidNonceSize
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AesEaxBoringSsl::IsValidNonceSize(size_t nonce_size_in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:141,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::MultiplyByX
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:142,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:142,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::AesEaxBoringSsl::ComputeB
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached:
    - util::SecretData::data
    - crypto::tink::subtle::AesEaxBoringSsl::MultiplyByX
    - crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData AesEaxBoringSsl::ComputeB() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::MultiplyByX
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:148,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:148,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc: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: crypto::tink::subtle::AesEaxBoringSsl::ComputeP
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached:
    - util::SecretData::data
    - crypto::tink::subtle::AesEaxBoringSsl::MultiplyByX
    - data
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData AesEaxBoringSsl::ComputeP() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesEaxBoringSsl>
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:154,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:155,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::IsValidKeySize
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:157,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:157,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:158,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::IsValidNonceSize
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:160,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:161,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:164,1
    - Dst: InitAesKey
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:166,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:167,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:168,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:171,1
    - Dst: AesEaxBoringSsl::AesEaxBoringSsl
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ' key'
    - nonce_size_in_bytes
    argTypes:
    - util::SecretData
    - size_t
    constantsTouched: []
    func_position:
      end: 173
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 173
    functionName: crypto::tink::subtle::AesEaxBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 9
    functionsReached:
    - auto::status
    - internal::CheckFipsCompatibility<AesEaxBoringSsl>
    - crypto::tink::internal::CallWithCoreDumpProtection
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - crypto::tink::subtle::AesEaxBoringSsl::IsValidKeySize
    - InitAesKey
    - crypto::tink::subtle::AesEaxBoringSsl::IsValidNonceSize
    - AesEaxBoringSsl::AesEaxBoringSsl
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> AesEaxBoringSsl::New(\n
      \   const util::SecretData& key, size_t nonce_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Block::fill
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:181,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:182,1
    - Dst: Block::begin
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:182,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:183,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:184,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:184,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:186,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:187,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::Span<const uint8_t>
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: crypto::tink::subtle::AesEaxBoringSsl::Pad
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - Block::fill
    - absl::c_copy
    - crypto::tink::subtle::AesEaxBoringSsl::XorBlock
    - Block::begin
    - absl::Span<const uint8_t>::size
    - data
    linkageType: ''
    returnType: AesEaxBoringSsl::Block
    signature: "AesEaxBoringSsl::Block AesEaxBoringSsl::Pad(\n    absl::Span<const
      uint8_t> data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:193,1
    - Dst: util::SecretData*::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:193,1
    - Dst: util::SecretData*::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:193,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - util::SecretData*
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached:
    - AES_encrypt
    - util::SecretData*::data
    - get
    linkageType: ''
    returnType: void
    signature: void AesEaxBoringSsl::EncryptBlock(util::SecretData* block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_encrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:197,1
    - Dst: Block*::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:197,1
    - Dst: Block*::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:197,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - Block*
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached:
    - AES_encrypt
    - get
    - Block*::data
    linkageType: ''
    returnType: void
    signature: void AesEaxBoringSsl::EncryptBlock(Block* block) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:202,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:202,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:202,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:202,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blob
    - tag
    argTypes:
    - absl::string_view
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: crypto::tink::subtle::AesEaxBoringSsl::Omac
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - crypto::tink::subtle::AesEaxBoringSsl::Omac
    - absl::MakeSpan
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: AesEaxBoringSsl::Block
    signature: "AesEaxBoringSsl::Block AesEaxBoringSsl::Omac(absl::string_view blob,\n
      \                                            int tag) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Block::fill
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:210,1
    - Dst: absl::Span<const uint8_t>::empty
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:212,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:213,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:213,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:214,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:217,1
    - Dst: absl::Span<const uint8_t>::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:219,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:220,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:221,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Pad
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:224,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:224,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:225,1
    - Dst: Block::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:225,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - tag
    argTypes:
    - absl::Span<const uint8_t>
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: crypto::tink::subtle::AesEaxBoringSsl::Omac
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
    - Block::fill
    - crypto::tink::subtle::AesEaxBoringSsl::Pad
    - crypto::tink::subtle::AesEaxBoringSsl::XorBlock
    - absl::Span<const uint8_t>::empty
    - Block::data
    - absl::Span<const uint8_t>::size
    - absl::MakeSpan
    - data
    linkageType: ''
    returnType: AesEaxBoringSsl::Block
    signature: "AesEaxBoringSsl::Block AesEaxBoringSsl::Omac(absl::Span<const uint8_t>
      data,\n                                             int tag) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy_n
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:234,1
    - Dst: begin
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:234,1
    - Dst: crypto::tink::internal::AesCtr128Crypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:235,1
    - Dst: get
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' N'
    - in
    - out
    argTypes:
    - Block
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: crypto::tink::subtle::AesEaxBoringSsl::CtrCrypt
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AesCtr128Crypt
    - begin
    - std::copy_n
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesEaxBoringSsl::CtrCrypt(const Block& N, absl::string_view
      in,\n                                       absl::Span<char> out) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:242,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:243,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:247,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:248,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:250,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:251,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:252,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::CtrCrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:255,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:256,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:257,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:260,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:260,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:260,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:261,1
    - Dst: Block::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:261,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:262,1
    - Dst: Block::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:262,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:263,1
    - Dst: std::string::begin
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:263,1
    - Dst: std::copy_n
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:264,1
    - Dst: Block::begin
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 268
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 268
    functionName: crypto::tink::subtle::AesEaxBoringSsl::Encrypt
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - util::Status::ok
    - absl::string_view::size
    - crypto::tink::subtle::AesEaxBoringSsl::Omac
    - crypto::tink::subtle::AesEaxBoringSsl::CtrCrypt
    - absl::c_copy
    - ResizeStringUninitialized
    - std::copy_n
    - crypto::tink::internal::EnsureStringNonNull
    - crypto::tink::subtle::AesEaxBoringSsl::XorBlock
    - std::string::begin
    - Block::begin
    - crypto::tink::subtle::Random::GetRandomBytes
    - Block::data
    - absl::MakeSpan
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> AesEaxBoringSsl::Encrypt(\n
      \   absl::string_view plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:274,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:278,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:282,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:283,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:284,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:285,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:287,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:288,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::Omac
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:289,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:290,1
    - Dst: Block::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:290,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::XorBlock
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:291,1
    - Dst: Block::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:291,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::EqualBlocks
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:293,1
    - Dst: Block::data
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:293,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:294,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:298,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::CtrCrypt
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:299,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:299,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_eax_boringssl.cc:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 305
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 305
    functionName: crypto::tink::subtle::AesEaxBoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/subtle/aes_eax_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - util::Status::ok
    - crypto::tink::subtle::AesEaxBoringSsl::Omac
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::AesEaxBoringSsl::CtrCrypt
    - ResizeStringUninitialized
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - crypto::tink::subtle::AesEaxBoringSsl::XorBlock
    - Block::data
    - absl::MakeSpan
    - crypto::tink::subtle::AesEaxBoringSsl::EqualBlocks
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> AesEaxBoringSsl::Decrypt(\n
      \   absl::string_view ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: crypto::tink::subtle::ByteSwap
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ByteSwap(uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ByteSwap
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:55,1
    - Dst: std::memcpy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - val
    argTypes:
    - uint8_t[]
    - uint32_t
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::BigEndianStore32
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached:
    - std::memcpy
    - crypto::tink::subtle::ByteSwap
    linkageType: ''
    returnType: void
    signature: void BigEndianStore32(uint8_t dst[4], uint32_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:63,1
    - Dst: key::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:63,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:64,1
    - Dst: key::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:67,1
    - Dst: salt::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:80,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesGcmHkdfStreamSegmentEncrypter::Params
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::Validate
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached:
    - key::size
    - salt::size
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(const AesGcmHkdfStreamSegmentEncrypter::Params&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:93,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:93,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:94,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - salt
    - nonce_prefix
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: crypto::tink::subtle::CreateHeader
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached:
    - std::vector::begin
    - absl::c_copy
    - absl::string_view::size
    linkageType: ''
    returnType: std::vector<uint8_t>
    signature: "std::vector<uint8_t> CreateHeader(absl::string_view salt,\n                                  absl::string_view
      nonce_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:103,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:105,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:105,1
    - Dst: crypto::tink::subtle::BigEndianStore32
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:106,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:107,1
    - Dst: std::string::back
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - nonce_prefix
    - segment_number
    - is_last_segment
    argTypes:
    - absl::string_view
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: crypto::tink::subtle::ConstructNonce
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached:
    - std::string::back
    - absl::c_copy
    - crypto::tink::subtle::BigEndianStore32
    - crypto::tink::subtle::ResizeStringUninitialized
    - reinterpret_cast<uint8_t*>
    - absl::MakeSpan
    linkageType: ''
    returnType: std::string
    signature: "std::string ConstructNonce(absl::string_view nonce_prefix,\n                           uint32_t
      segment_number, bool is_last_segment)"
  - 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: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_plaintext_segment_size
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int AesGcmHkdfStreamSegmentEncrypter::get_plaintext_segment_size()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:122,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:123,1
    - Dst: CreateHeader
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - aead
    - ' params'
    argTypes:
    - std::unique_ptr<internal::SslOneShotAead>
    - Params
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::AesGcmHkdfStreamSegmentEncrypter
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomBytes
    - std::move
    - CreateHeader
    linkageType: ''
    returnType: void
    signature: "void AesGcmHkdfStreamSegmentEncrypter::AesGcmHkdfStreamSegmentEncrypter(\n
      \   std::unique_ptr<internal::SslOneShotAead> aead, const Params& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:130,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:131,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:135,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:136,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:137,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:140,1
    - Dst: AesGcmHkdfStreamSegmentEncrypter::AesGcmHkdfStreamSegmentEncrypter
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 7
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - std::move
    - absl::WrapUnique
    - AesGcmHkdfStreamSegmentEncrypter::AesGcmHkdfStreamSegmentEncrypter
    - util::StatusOr::ok
    - Validate
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>>
    signature: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>> AesGcmHkdfStreamSegmentEncrypter::New(Params
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:146,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:147,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:151,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_segment_number
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:154,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:154,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_segment_number
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:155,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:157,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:162,1
    - Dst: ConstructNonce
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:166,1
    - Dst: static_cast<uint32_t>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:166,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_segment_number
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:166,1
    - Dst: Encrypt
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:169,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:170,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:170,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:170,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:171,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:172,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:173,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:173,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:173,1
    - Dst: std::vector<uint8_t>*::size
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:174,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:177,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::IncSegmentNumber
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:180,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - ' plaintext'
    - is_last_segment
    - ciphertext_buffer
    argTypes:
    - std::vector<uint8_t>
    - bool
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 182
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 182
    functionName: crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::EncryptSegment
    functionSourceFile: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::resize
    - Encrypt
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_plaintext_segment_size
    - data
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_segment_number
    - absl::string_view
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - absl::MakeSpan
    - std::vector<uint8_t>*::data
    - std::numeric_limits<uint32_t>::max
    - size
    - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::IncSegmentNumber
    - std::vector<uint8_t>*::size
    - static_cast<uint32_t>
    - ConstructNonce
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<char*>
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesGcmHkdfStreamSegmentEncrypter::EncryptSegment(\n    const
      std::vector<uint8_t>& plaintext, bool is_last_segment,\n    std::vector<uint8_t>*
      ciphertext_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:54,1
    - Dst: RSA_check_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:59,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - rsa_key
    argTypes:
    - RSA*
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: crypto::tink::subtle::VerifyRsaKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - RSA_check_key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status VerifyRsaKey(const RSA* rsa_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:69,1
    - Dst: EC_KEY_check_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:73,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:74,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ecdsa_key
    argTypes:
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::VerifyEcdsaKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - EC_KEY_check_key
    linkageType: ''
    returnType: util::Status
    signature: util::Status VerifyEcdsaKey(const EC_KEY* ecdsa_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:85,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:92,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:96,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:98,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:99,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:103,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:103,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:104,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:106,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:107,1
    - Dst: EC_KEY_set_public_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:110,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:110,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:111,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' subtle_ec_key'
    - openssl_ec_key
    argTypes:
    - SubtleUtilBoringSSL::EcKey
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 116
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::EcKeyToSslEcPublicKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - crypto::tink::subtle::EnumToString
    - absl::StrCat
    - EC_KEY_set_public_key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status EcKeyToSslEcPublicKey(\n    const SubtleUtilBoringSSL::EcKey&
      subtle_ec_key, EC_KEY* openssl_ec_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:123,1
    - Dst: crypto::tink::subtle::EcKeyToSslEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:126,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:127,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:132,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:132,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:133,1
    - Dst: priv::data
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:133,1
    - Dst: priv::size
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:136,1
    - Dst: EC_KEY_set_private_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:139,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:139,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:140,1
    - Dst: crypto::tink::subtle::VerifyEcdsaKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' subtle_ec_key'
    - openssl_ec_key
    argTypes:
    - SubtleUtilBoringSSL::EcKey
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 4
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::EcKeyToSslEcPrivateKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::get
    - EC_KEY_set_private_key
    - priv::data
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::EcKeyToSslEcPublicKey
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - crypto::tink::subtle::VerifyEcdsaKey
    - priv::size
    linkageType: ''
    returnType: util::Status
    signature: "util::Status EcKeyToSslEcPrivateKey(\n    const SubtleUtilBoringSSL::EcKey&
      subtle_ec_key, EC_KEY* openssl_ec_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_mem_ptr
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:149,1
    - Dst: std::string::assign
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:152,1
    - Dst: std::string::empty
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:154,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: crypto::tink::subtle::ConvertBioToString
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - std::string::assign
    - BIO_get_mem_ptr
    - std::string::empty
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ConvertBioToString(BIO* bio)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:162,1
    - Dst: EC_GROUP_get0_order
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: crypto::tink::subtle::ScalarSizeInBytes
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - EC_GROUP_get0_order
    - BN_num_bytes
    linkageType: ''
    returnType: size_t
    signature: size_t ScalarSizeInBytes(const EC_GROUP* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group
    argTypes:
    - EC_GROUP*
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: crypto::tink::subtle::FieldElementSizeInBytes
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t FieldElementSizeInBytes(const EC_GROUP* group)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - buf_size
    - rwflag
    - u
    argTypes:
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: crypto::tink::subtle::FailingPassphraseCallback
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int FailingPassphraseCallback(char* buf, int buf_size, int rwflag,\n
      \                                    void* u)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:183,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:183,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:183,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:184,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:187,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:187,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:191,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:195,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:195,1
    - Dst: crypto::tink::internal::RsaCheckPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:196,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:197,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:203,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:207,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:212,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:212,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:213,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:213,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:214,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:215,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:217,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:218,1
    - Dst: absl::make_unique<internal::RsaPublicKey>
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:220,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:221,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:222,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pem_serialized_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 225
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 225
    functionName: crypto::tink::subtle::PemParser::ParseRsaPublicKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::BignumToString
    - absl::string_view::size
    - util::Status::ok
    - auto::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - PEM_read_bio_PUBKEY
    - EVP_PKEY_get0_RSA
    - BIO_write
    - BN_num_bytes
    - absl::make_unique<internal::RsaPublicKey>
    - crypto::tink::internal::RsaCheckPublicKey
    - RSA_get0_key
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<internal::RsaPublicKey>>
    signature: util::StatusOr<std::unique_ptr<internal::RsaPublicKey>> PemParser::ParseRsaPublicKey(absl::string_view
      pem_serialized_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:231,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:231,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:231,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:232,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:236,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:236,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:240,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:245,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:245,1
    - Dst: VerifyRsaKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:247,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:248,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:253,1
    - Dst: absl::make_unique<internal::RsaPrivateKey>
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:256,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:257,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:257,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:258,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:258,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:259,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:259,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:260,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:261,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:263,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:264,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:266,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:267,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:269,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:270,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:271,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:275,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:276,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:276,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:277,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:277,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:278,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:279,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:281,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:282,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:284,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:285,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:289,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:290,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:290,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:291,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:291,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:292,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:292,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:293,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:294,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:296,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:297,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:299,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:300,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:302,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:303,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:304,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - pem_serialized_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 307
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 307
    functionName: crypto::tink::subtle::PemParser::ParseRsaPrivateKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::BignumToString
    - absl::string_view::size
    - auto::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::internal::BignumToSecretData
    - RSA_get0_factors
    - VerifyRsaKey
    - EVP_PKEY_get0_RSA
    - BIO_write
    - absl::make_unique<internal::RsaPrivateKey>
    - BN_num_bytes
    - RSA_get0_crt_params
    - PEM_read_bio_PrivateKey
    - RSA_get0_key
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<internal::RsaPrivateKey>>
    signature: util::StatusOr<std::unique_ptr<internal::RsaPrivateKey>> PemParser::ParseRsaPrivateKey(absl::string_view
      pem_serialized_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RsaPublicKeyToRsa
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:311,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:312,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:313,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:316,1
    - Dst: PEM_write_bio_RSA_PUBKEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:318,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:318,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:318,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:319,1
    - Dst: ConvertBioToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:322,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' rsa_public_key'
    argTypes:
    - internal::RsaPublicKey
    constantsTouched: []
    func_position:
      end: 323
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 323
    functionName: crypto::tink::subtle::PemParser::WriteRsaPublicKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::internal::RsaPublicKeyToRsa
    - PEM_write_bio_RSA_PUBKEY
    - ConvertBioToString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> PemParser::WriteRsaPublicKey(\n    const
      internal::RsaPublicKey& rsa_public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::RsaPrivateKeyToRsa
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:327,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:328,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:329,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:332,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:334,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:334,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:334,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:337,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:337,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:337,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:341,1
    - Dst: ConvertBioToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:344,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' rsa_private_key'
    argTypes:
    - internal::RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: crypto::tink::subtle::PemParser::WriteRsaPrivateKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::RsaPrivateKeyToRsa
    - std::move
    - crypto::tink::internal::ExtractStatus
    - PEM_write_bio_PrivateKey
    - EVP_PKEY_set1_RSA
    - ConvertBioToString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> PemParser::WriteRsaPrivateKey(\n    const
      internal::RsaPrivateKey& rsa_private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:351,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:351,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:351,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:352,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:355,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:355,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:359,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:363,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:363,1
    - Dst: VerifyEcdsaKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:364,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:365,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:370,1
    - Dst: EC_KEY_get0_group
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:371,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:374,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:374,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:375,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:378,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:379,1
    - Dst: FieldElementSizeInBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:379,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:380,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:381,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:383,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:384,1
    - Dst: FieldElementSizeInBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:384,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:385,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:386,1
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:389,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:390,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:391,1
    - Dst: absl::make_unique<SubtleUtilBoringSSL::EcKey>
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:394,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:395,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:396,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:397,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - pem_serialized_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 400
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 400
    functionName: crypto::tink::subtle::PemParser::ParseEcPublicKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_EC_KEY
    - absl::string_view::size
    - auto::ok
    - EC_KEY_get0_group
    - EC_POINT_get_affine_coordinates
    - std::move
    - BIO_write
    - FieldElementSizeInBytes
    - crypto::tink::internal::CurveTypeFromEcGroup
    - util::StatusOr::ok
    - EC_KEY_get0_public_key
    - internal::SslUniquePtr::get
    - absl::make_unique<SubtleUtilBoringSSL::EcKey>
    - PEM_read_bio_PUBKEY
    - absl::string_view::data
    - crypto::tink::internal::BignumToString
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - VerifyEcdsaKey
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SubtleUtilBoringSSL::EcKey>>
    signature: util::StatusOr<std::unique_ptr<SubtleUtilBoringSSL::EcKey>> PemParser::ParseEcPublicKey(absl::string_view
      pem_serialized_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:405,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:405,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:405,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:406,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:409,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:409,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:413,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:418,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:418,1
    - Dst: VerifyEcdsaKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:419,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:420,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:426,1
    - Dst: EC_KEY_get0_group
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:427,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:428,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:428,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:429,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:431,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:433,1
    - Dst: ScalarSizeInBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:433,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:434,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:435,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:437,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:438,1
    - Dst: FieldElementSizeInBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:438,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:439,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:440,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:442,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:443,1
    - Dst: FieldElementSizeInBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:443,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:444,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:445,1
    - Dst: crypto::tink::internal::CurveTypeFromEcGroup
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:448,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:449,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:450,1
    - Dst: absl::make_unique<SubtleUtilBoringSSL::EcKey>
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:453,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:454,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:455,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:456,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:457,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pem_serialized_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 460
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 460
    functionName: crypto::tink::subtle::PemParser::ParseEcPrivateKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_get0_private_key
    - absl::string_view::size
    - EC_KEY_get0_group
    - EC_POINT_get_affine_coordinates
    - crypto::tink::internal::BignumToSecretData
    - std::move
    - BIO_write
    - FieldElementSizeInBytes
    - crypto::tink::internal::CurveTypeFromEcGroup
    - util::Status::ok
    - util::StatusOr::ok
    - EC_KEY_get0_public_key
    - ScalarSizeInBytes
    - internal::SslUniquePtr::get
    - absl::make_unique<SubtleUtilBoringSSL::EcKey>
    - PEM_read_bio_PrivateKey
    - absl::string_view::data
    - crypto::tink::internal::BignumToString
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - VerifyEcdsaKey
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SubtleUtilBoringSSL::EcKey>>
    signature: util::StatusOr<std::unique_ptr<SubtleUtilBoringSSL::EcKey>> PemParser::ParseEcPrivateKey(absl::string_view
      pem_serialized_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcKeyToSslEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:465,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:465,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:466,1
    - Dst: PEM_write_bio_EC_PUBKEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:470,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:470,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:470,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:471,1
    - Dst: ConvertBioToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:474,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ec_key'
    argTypes:
    - SubtleUtilBoringSSL::EcKey
    constantsTouched: []
    func_position:
      end: 475
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 475
    functionName: crypto::tink::subtle::PemParser::WriteEcPublicKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - PEM_write_bio_EC_PUBKEY
    - EcKeyToSslEcPublicKey
    - util::Status::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - ConvertBioToString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> PemParser::WriteEcPublicKey(\n    const
      SubtleUtilBoringSSL::EcKey& ec_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcKeyToSslEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:480,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:480,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:481,1
    - Dst: PEM_write_bio_ECPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:485,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:485,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:485,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:488,1
    - Dst: ConvertBioToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:491,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl.cc:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' ec_key'
    argTypes:
    - SubtleUtilBoringSSL::EcKey
    constantsTouched: []
    func_position:
      end: 492
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 492
    functionName: crypto::tink::subtle::PemParser::WriteEcPrivateKey
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - PEM_write_bio_ECPrivateKey
    - EcKeyToSslEcPrivateKey
    - ConvertBioToString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> PemParser::WriteEcPrivateKey(\n    const
      SubtleUtilBoringSSL::EcKey& ec_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:36,1
    - Dst: crypto::tink::HybridEncryptThenDecrypt
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:36,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/hybrid_test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HybridEncryptThenDecrypt
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenDecrypt, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:44,1
    - Dst: crypto::tink::HybridEncryptThenDecrypt
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:44,1
    - Dst: Not
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:46,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/hybrid_test_util_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/hybrid_test_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::HybridEncryptThenDecrypt
    - Not
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EncryptThenDecrypt, Failing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OutputStream*::Next
      Src: /src/tink/cc/subtle/test_util.cc:46,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/test_util.cc:47,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/test_util.cc:47,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/test_util.cc:48,1
    - Dst: std::min
      Src: /src/tink/cc/subtle/test_util.cc:49,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/test_util.cc:50,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/test_util.cc:50,1
    - Dst: OutputStream*::BackUp
      Src: /src/tink/cc/subtle/test_util.cc:55,1
    - Dst: OutputStream*::Close
      Src: /src/tink/cc/subtle/test_util.cc:57,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/test_util.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - output_stream
    - contents
    - close_stream
    argTypes:
    - OutputStream*
    - absl::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::test::WriteToStream
    functionSourceFile: /src/tink/cc/subtle/test_util.cc
    functionUses: 7
    functionsReached:
    - auto::status
    - OutputStream*::Close
    - auto::ok
    - OutputStream*::BackUp
    - auto::value
    - OutputStream*::Next
    - memcpy
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - std::min
    linkageType: ''
    returnType: util::Status
    signature: "util::Status WriteToStream(OutputStream* output_stream,\n                           absl::string_view
      contents, bool close_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/test_util.cc:62,1
    - Dst: std::string*::clear
      Src: /src/tink/cc/subtle/test_util.cc:66,1
    - Dst: InputStream*::Next
      Src: /src/tink/cc/subtle/test_util.cc:68,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/test_util.cc:69,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/test_util.cc:71,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/test_util.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/test_util.cc:73,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/test_util.cc:74,1
    - Dst: std::string*::append
      Src: /src/tink/cc/subtle/test_util.cc:76,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/test_util.cc:77,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/test_util.cc:77,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/test_util.cc:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - input_stream
    - output
    argTypes:
    - InputStream*
    - std::string*
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::test::ReadFromStream
    functionSourceFile: /src/tink/cc/subtle/test_util.cc
    functionUses: 5
    functionsReached:
    - std::string*::append
    - auto::status
    - std::string
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<const char*>
    - auto::value
    - std::string*::clear
    - crypto::tink::util::OkStatus
    - InputStream*::Next
    linkageType: ''
    returnType: util::Status
    signature: util::Status ReadFromStream(InputStream* input_stream, std::string*
      output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<EcdsaSignBoringSsl>
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:45,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:46,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:49,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:50,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:53,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:54,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:55,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:59,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:60,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:60,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:63,1
    - Dst: EcdsaSignBoringSsl::EcdsaSignBoringSsl
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ' ec_key'
    - hash_type
    - encoding
    argTypes:
    - SubtleUtilBoringSSL::EcKey
    - HashType
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: crypto::tink::subtle::EcdsaSignBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc
    functionUses: 7
    functionsReached:
    - EcdsaSignBoringSsl::EcdsaSignBoringSsl
    - util::Status::ok
    - auto::ok
    - util::StatusOr::status
    - std::move
    - absl::WrapUnique
    - crypto::tink::internal::EvpHashFromHashType
    - internal::CheckFipsCompatibility<EcdsaSignBoringSsl>
    - util::StatusOr::ok
    - crypto::tink::internal::IsHashTypeSafeForSignature
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EcdsaSignBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EcdsaSignBoringSsl>> EcdsaSignBoringSsl::New(\n
      \   const SubtleUtilBoringSSL::EcKey& ec_key, HashType hash_type,\n    EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:70,1
    - Dst: EVP_Digest
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:75,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:77,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::Sign
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:82,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:83,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::EcdsaSignBoringSsl::Sign
    functionSourceFile: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc
    functionUses: 1
    functionsReached:
    - absl::string_view
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::EcdsaSignBoringSsl::Sign
    - EVP_Digest
    - crypto::tink::internal::EnsureStringNonNull
    - reinterpret_cast<char*>
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EcdsaSignBoringSsl::Sign(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:57,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:58,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:58,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nonce_prefix
    - segment_number
    - is_last_segment
    argTypes:
    - absl::string_view
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::NonceForSegment
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    linkageType: ''
    returnType: std::string
    signature: "std::string NonceForSegment(absl::string_view nonce_prefix,\n                                   int64_t
      segment_number,\n                                   bool is_last_segment)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:71,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:71,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:72,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:72,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:74,1
    - Dst: util::SecretData::begin
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:74,1
    - Dst: util::SecretData::begin
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:74,1
    - Dst: crypto::tink::internal::BignumToSecretData
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:76,1
    - Dst: util::SecretData::begin
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:76,1
    - Dst: util::SecretData::end
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:76,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ' ikm'
    - hkdf_algo
    - salt
    - associated_data
    - key_size
    - key_value
    - hmac_key_value
    argTypes:
    - util::SecretData
    - HashType
    - absl::string_view
    - absl::string_view
    - int
    - util::SecretData*
    - util::SecretData*
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::DeriveKeys
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - util::SecretData::begin
    - auto::ok
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - std::move
    - crypto::tink::internal::BignumToSecretData
    - auto::value
    - util::SecretData::end
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DeriveKeys(const util::SecretData& ikm, HashType hkdf_algo,\n
      \                              absl::string_view salt,\n                               absl::string_view
      associated_data, int key_size,\n                               util::SecretData*
      key_value,\n                               util::SecretData* hmac_key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ikm::size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:81,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:91,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:117,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesCtrHmacStreaming::Params
    constantsTouched: []
    func_position:
      end: 121
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 121
    functionName: crypto::tink::subtle::Validate
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - ikm::size
    - crypto::tink::util::OkStatus
    - std::max
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(const AesCtrHmacStreaming::Params& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<AesCtrHmacStreaming>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:127,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:128,1
    - Dst: Validate
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:130,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:131,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:132,1
    - Dst: AesCtrHmacStreaming::AesCtrHmacStreaming
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - params
    argTypes:
    - Params
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::AesCtrHmacStreaming::New
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 11
    functionsReached:
    - auto::ok
    - AesCtrHmacStreaming::AesCtrHmacStreaming
    - std::move
    - absl::WrapUnique
    - Validate
    - internal::CheckFipsCompatibility<AesCtrHmacStreaming>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<AesCtrHmacStreaming>>
    signature: "util::StatusOr<std::unique_ptr<AesCtrHmacStreaming>> AesCtrHmacStreaming::New(\n
      \   Params params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - associated_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: crypto::tink::subtle::AesCtrHmacStreaming::NewSegmentEncrypter
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>> AesCtrHmacStreaming::NewSegmentEncrypter(\n
      \   absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - associated_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: crypto::tink::subtle::AesCtrHmacStreaming::NewSegmentDecrypter
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>> AesCtrHmacStreaming::NewSegmentDecrypter(\n
      \   absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:154,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - salt
    - nonce_prefix
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::MakeHeader
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string MakeHeader(absl::string_view salt,\n                              absl::string_view
      nonce_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:161,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:162,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:164,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:166,1
    - Dst: MakeHeader
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:167,1
    - Dst: DeriveKeys
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:171,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:173,1
    - Dst: crypto::tink::internal::GetAesCtrCipherForKeySize
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:176,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:177,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:178,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:181,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:182,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:183,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:183,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:184,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:184,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:186,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:187,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:189,1
    - Dst: AesCtrHmacStreamSegmentEncrypter::AesCtrHmacStreamSegmentEncrypter
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' params'
    - associated_data
    argTypes:
    - AesCtrHmacStreaming::Params
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 190
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 190
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 11
    functionsReached:
    - auto::status
    - AesCtrHmacStreamSegmentEncrypter::AesCtrHmacStreamSegmentEncrypter
    - auto::ok
    - util::StatusOr::status
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - std::move
    - absl::WrapUnique
    - MakeHeader
    - crypto::tink::internal::GetAesCtrCipherForKeySize
    - util::StatusOr::ok
    - Validate
    - auto::value
    - DeriveKeys
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentEncrypter>> AesCtrHmacStreamSegmentEncrypter::New(const
      AesCtrHmacStreaming::Params& params,\n                                      absl::string_view
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:195,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_plaintext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:195,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:196,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:200,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_segment_number
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:203,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:203,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_segment_number
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:204,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:204,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:206,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:211,1
    - Dst: NonceForSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:214,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:219,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:222,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:222,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:223,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:223,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:224,1
    - Dst: std::string::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:224,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:225,1
    - Dst: EVP_EncryptUpdate
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:230,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:230,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:230,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:231,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:231,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:232,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:234,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:235,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:241,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:241,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:242,1
    - Dst: ComputeMac
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:243,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:243,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:244,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:244,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:245,1
    - Dst: memcpy
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:246,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:246,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:246,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:247,1
    - Dst: std::string::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:247,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::IncSegmentNumber
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:249,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - ' plaintext'
    - is_last_segment
    - ciphertext_buffer
    argTypes:
    - std::vector<uint8_t>
    - bool
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 251
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 251
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::EncryptSegment
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::resize
    - auto::ok
    - EVP_EncryptInit_ex
    - absl::StrCat
    - data
    - auto::status
    - ComputeMac
    - reinterpret_cast<const char*>
    - NonceForSegment
    - crypto::tink::util::OkStatus
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_segment_number
    - std::numeric_limits<uint32_t>::max
    - std::vector<uint8_t>*::data
    - EVP_EncryptUpdate
    - size
    - internal::SslUniquePtr::get
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::IncSegmentNumber
    - std::string::data
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_plaintext_segment_size
    - auto::value
    - reinterpret_cast<const uint8_t*>
    - memcpy
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesCtrHmacStreamSegmentEncrypter::EncryptSegment(\n    const
      std::vector<uint8_t>& plaintext, bool is_last_segment,\n    std::vector<uint8_t>*
      ciphertext_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:258,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:259,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:261,1
    - Dst: AesCtrHmacStreamSegmentDecrypter::AesCtrHmacStreamSegmentDecrypter
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' params'
    - associated_data
    argTypes:
    - AesCtrHmacStreaming::Params
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 8
    functionsReached:
    - Validate
    - AesCtrHmacStreamSegmentDecrypter::AesCtrHmacStreamSegmentDecrypter
    - auto::ok
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>>
    signature: "util::StatusOr<std::unique_ptr<StreamSegmentDecrypter>> AesCtrHmacStreamSegmentDecrypter::New(const
      AesCtrHmacStreaming::Params& params,\n                                      absl::string_view
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:270,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:273,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_header_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:273,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:275,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_header_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:276,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:278,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:279,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:283,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:283,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:285,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:285,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:285,1
    - Dst: DeriveKeys
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:289,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:291,1
    - Dst: crypto::tink::internal::GetAesCtrCipherForKeySize
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:294,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:295,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:296,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:302,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:302,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:303,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:303,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:304,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:304,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - std::vector<uint8_t>
    constantsTouched: []
    func_position:
      end: 308
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 308
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::Init
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - std::move
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_header_size
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - crypto::tink::internal::GetAesCtrCipherForKeySize
    - auto::value
    - absl::StrCat
    - DeriveKeys
    - crypto::tink::util::OkStatus
    - data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesCtrHmacStreamSegmentDecrypter::Init(\n    const std::vector<uint8_t>&
      header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:314,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:317,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:317,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:318,1
    - Dst: size
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:321,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:322,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:326,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:329,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:330,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:332,1
    - Dst: std::vector<uint8_t>*::resize
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:337,1
    - Dst: NonceForSegment
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:340,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:344,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:344,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:346,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:346,1
    - Dst: VerifyMac
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:347,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:347,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:348,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:352,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:353,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:356,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:356,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:357,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:357,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:358,1
    - Dst: std::string::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:358,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:359,1
    - Dst: EVP_DecryptUpdate
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:364,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:364,1
    - Dst: std::vector<uint8_t>*::data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:364,1
    - Dst: data
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:365,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:366,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:369,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc:373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - ' ciphertext'
    - segment_number
    - is_last_segment
    - plaintext_buffer
    argTypes:
    - std::vector<uint8_t>
    - int64_t
    - bool
    - std::vector<uint8_t>*
    constantsTouched: []
    func_position:
      end: 374
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 374
    functionName: crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::DecryptSegment
    functionSourceFile: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
    functionUses: 0
    functionsReached:
    - std::vector<uint8_t>*::data
    - std::numeric_limits<uint32_t>::max
    - std::string::data
    - std::vector<uint8_t>*::resize
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - EVP_DecryptInit_ex
    - reinterpret_cast<const char*>
    - NonceForSegment
    - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_ciphertext_segment_size
    - absl::StrCat
    - reinterpret_cast<const uint8_t*>
    - EVP_DecryptUpdate
    - crypto::tink::util::OkStatus
    - data
    - VerifyMac
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AesCtrHmacStreamSegmentDecrypter::DecryptSegment(\n    const
      std::vector<uint8_t>& ciphertext, int64_t segment_number,\n    bool is_last_segment,
      std::vector<uint8_t>* plaintext_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:52,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:52,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:53,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:54,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:55,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:56,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:56,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:57,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:57,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:58,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - hash
    - tag_size
    - key_hex
    - tag_hex
    - data_hex
    argTypes:
    - HashType
    - uint32_t
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: crypto::tink::subtle::HmacBoringSslTest::HmacVerifyHex
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::VerifyMac
    - auto::ok
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: bool
    signature: "bool HmacVerifyHex(HashType hash, uint32_t tag_size,\n                     const
      std::string &key_hex, const std::string &tag_hex,\n                     const
      std::string &data_hex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:64,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:64,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:65,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:69,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:70,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:73,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:74,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:74,1
    - Dst: auto::ComputeMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:78,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:78,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:80,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:81,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:81,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:82,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:83,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:83,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:84,1
    - Dst: auto::ComputeMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:88,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:89,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:89,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:89,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:91,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:92,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:92,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:94,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:94,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::VerifyMac
    - crypto::tink::subtle::HmacBoringSsl::New
    - auto::ok
    - EXPECT_EQ
    - std::move
    - auto::ComputeMac
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::BytesToHexString
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacBoringSslTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:100,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:101,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:105,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:106,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:108,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:108,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:109,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:109,1
    - Dst: auto::ComputeMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:111,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:112,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:113,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:118,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:118,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:119,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::VerifyMac
    - crypto::tink::subtle::HmacBoringSsl::New
    - auto::ok
    - std::move
    - auto::ComputeMac
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::BytesToHexString
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacBoringSslTest, testModification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:125,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:125,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:126,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:130,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:131,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:132,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:133,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:133,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:133,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:134,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:134,1
    - Dst: auto::ComputeMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:136,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:138,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:138,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:141,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:141,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:142,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::VerifyMac
    - crypto::tink::subtle::HmacBoringSsl::New
    - auto::ok
    - std::move
    - auto::ComputeMac
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::BytesToHexString
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacBoringSslTest, testTruncation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:148,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:148,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:149,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:159,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:161,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::subtle::HmacBoringSsl::New
    - auto::ok
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacBoringSslTest, testInvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:167,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:167,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:168,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:172,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:173,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:175,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:178,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:178,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:180,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:180,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:182,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:182,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:184,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:186,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:186,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/hmac_boringssl_test.cc:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HmacBoringSsl::New
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacBoringSslTest, TestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 277
    functionName: crypto::tink::subtle::GetEcKeyTestVectors
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<EcKeyTestVector>
    signature: std::vector<EcKeyTestVector> GetEcKeyTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 387
    functionName: crypto::tink::subtle::GetRsaKeyTestVectors
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<RsaKeyTestVector>
    signature: std::vector<RsaKeyTestVector> GetRsaKeyTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: crypto::tink::subtle::PemParserRsaTest::PemParserRsaTest
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - RSA_new
    linkageType: ''
    returnType: void
    signature: void PemParserRsaTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:395,1
    - Dst: NotNull
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:398,1
    - Dst: NotNull
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:399,1
    - Dst: BN_set_word
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:399,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:402,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:402,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:402,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:402,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:403,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:410,1
    - Dst: PEM_write_bio_RSA_PUBKEY
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:410,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:410,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:410,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:412,1
    - Dst: PEM_write_bio_RSAPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:412,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:412,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:412,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:417,1
    - Dst: resize
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:419,1
    - Dst: BIO_number_written
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:419,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:419,1
    - Dst: resize
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:420,1
    - Dst: BIO_number_written
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:420,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:421,1
    - Dst: BIO_read
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:421,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:421,1
    - Dst: BIO_number_written
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:422,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:422,1
    - Dst: BIO_number_written
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:423,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:423,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:424,1
    - Dst: BIO_read
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:424,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:424,1
    - Dst: BIO_number_written
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:425,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:425,1
    - Dst: BIO_number_written
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:426,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 427
    functionName: crypto::tink::subtle::PemParserRsaTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - crypto::tink::internal::GetSslErrors
    - internal::SslUniquePtr::get
    - RSA_generate_key_ex
    - BN_set_word
    - ASSERT_THAT
    - BIO_read
    - NotNull
    - BIO_number_written
    - PEM_write_bio_RSA_PUBKEY
    - PEM_write_bio_RSAPrivateKey
    - get
    - resize
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:432,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:432,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:433,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bn_str
    - bn
    argTypes:
    - absl::string_view
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: crypto::tink::subtle::PemParserRsaTest::ExpectBnEqual
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - BN_num_bytes
    linkageType: ''
    returnType: void
    signature: void ExpectBnEqual(absl::string_view bn_str, const BIGNUM *bn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ContainerType*::empty
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:448,1
    - Dst: ContainerType*::begin
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:451,1
    - Dst: ContainerType*::end
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:451,1
    - Dst: ContainerType*::assign
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:454,1
    - Dst: std::vector::begin
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:454,1
    - Dst: std::vector::end
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - container
    argTypes:
    - ContainerType*
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: crypto::tink::subtle::Corrupt
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ContainerType*::empty
    - ContainerType*::assign
    - ContainerType*::begin
    - ContainerType*::end
    - std::vector::end
    - std::vector::begin
    linkageType: ''
    returnType: void
    signature: void Corrupt(ContainerType *container)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:459,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:460,1
    - Dst: data
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:460,1
    - Dst: size
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:460,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:461,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:461,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:465,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:465,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:466,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - size
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - ASSERT_THAT
    - ExpectBnEqual
    - RSA_get0_key
    - crypto::tink::subtle::PemParser::ParseRsaPublicKey
    - data
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(PemParserRsaTest, ReadRsaPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:472,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:473,1
    - Dst: data
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:473,1
    - Dst: size
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:473,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:474,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:474,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:474,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:477,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:479,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:479,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:480,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:481,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:483,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:483,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:486,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:486,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:488,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:488,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:489,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:489,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:492,1
    - Dst: get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:492,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:494,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:494,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:495,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:495,1
    - Dst: ExpectBnEqual
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:496,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 497
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::util::SecretDataAsStringView
    - size
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - std::move
    - RSA_get0_factors
    - ASSERT_THAT
    - RSA_get0_crt_params
    - ExpectBnEqual
    - RSA_get0_key
    - crypto::tink::subtle::PemParser::ParseRsaPrivateKey
    - data
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(PemParserRsaTest, ReadRsaPrivatekey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:502,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:504,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:505,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:507,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:508,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:509,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:510,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:511,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:512,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:513,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:514,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:515,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:516,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:517,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:518,1
    - Dst: crypto::tink::subtle::PemParser::WriteRsaPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:520,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:521,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:521,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:522,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 501
    functionDepth: 5
    functionLinenumber: 501
    functionLinenumberEnd: 523
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::PemParser::WriteRsaPrivateKey
    - EXPECT_EQ
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GetParam
    - absl::StripAsciiWhitespace
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserRsaTest, WriteRsaPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:526,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:528,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:529,1
    - Dst: crypto::tink::subtle::PemParser::WriteRsaPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:531,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:532,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:533,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 534
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::PemParser::WriteRsaPublicKey
    - EXPECT_EQ
    - IsOk
    - EXPECT_THAT
    - GetParam
    - absl::StripAsciiWhitespace
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserRsaTest, WriteRsaPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:541,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:542,1
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:543,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:544,1
    - Dst: data
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:544,1
    - Dst: size
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:544,1
    - Dst: Not
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:546,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 4
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::subtle::Corrupt
    - size
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::PemParser::ParseRsaPrivateKey
    - data
    linkageType: ''
    returnType: void
    signature: void TEST_F(PemParserRsaTest, ReadRsaPublicKeyInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:550,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:551,1
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:552,1
    - Dst: absl::string_view
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:553,1
    - Dst: data
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:553,1
    - Dst: size
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:553,1
    - Dst: Not
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:555,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 4
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::subtle::Corrupt
    - size
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::PemParser::ParseRsaPrivateKey
    - data
    linkageType: ''
    returnType: void
    signature: void TEST_F(PemParserRsaTest, ReadRsaPrivateKeyInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:561,1
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:562,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:563,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:565,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:565,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:565,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:567,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:567,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:568,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:570,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:571,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 560
    functionDepth: 4
    functionLinenumber: 560
    functionLinenumberEnd: 572
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - absl::BytesToHexString
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    - EXPECT_THAT
    - auto::get
    - GetParam
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserEcTest, ReadEcPublicKeySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:575,1
    - Dst: crypto::tink::subtle::PemParser::ParseEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:577,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:578,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:580,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:580,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:580,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:582,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:583,1
    - Dst: absl::BytesToHexString
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:585,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:585,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:586,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:586,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:587,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:587,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:588,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:588,1
    - Dst: absl::AsciiStrToLower
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:588,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 590
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - crypto::tink::subtle::PemParser::ParseEcPrivateKey
    - absl::BytesToHexString
    - Eq
    - EXPECT_THAT
    - GetParam
    - absl::StripAsciiWhitespace
    - absl::AsciiStrToLower
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserEcTest, ReadEcPrivateKeySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:593,1
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:595,1
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:598,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:598,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:600,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:600,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::Corrupt
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    - EXPECT_THAT
    - StatusIs
    - GetParam
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserEcTest, ReadEcPublicKeyInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:604,1
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:606,1
    - Dst: crypto::tink::subtle::PemParser::ParseEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:609,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:609,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:611,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:611,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 4
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Corrupt
    - util::StatusOr::status
    - crypto::tink::subtle::PemParser::ParseEcPrivateKey
    - EXPECT_THAT
    - StatusIs
    - GetParam
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserEcTest, ReadEcPrivateKeyInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:614,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:618,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:619,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:620,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:621,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:625,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:626,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:626,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:627,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:627,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 629
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - crypto::tink::subtle::PemParser::WriteEcPublicKey
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - GetParam
    - absl::StripAsciiWhitespace
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserEcTest, WriteEcPublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:632,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:636,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:637,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:638,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:639,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:643,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:644,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:645,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:645,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 647
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - GetParam
    - crypto::tink::subtle::PemParser::WriteEcPrivateKey
    - absl::StripAsciiWhitespace
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(ParametrizedPemParserEcTest, WriteEcPrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:655,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:656,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:656,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:658,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:659,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:659,1
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:661,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:662,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:662,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:662,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:663,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:664,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 666
      start: 653
    functionDepth: 5
    functionLinenumber: 653
    functionLinenumberEnd: 666
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::subtle::PemParser::WriteEcPublicKey
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    - ASSERT_THAT
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, NewKeyWriteAndReadPublicKeySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:670,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:671,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:671,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:674,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:675,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:675,1
    - Dst: crypto::tink::subtle::PemParser::ParseEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:677,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:678,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:678,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:678,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:680,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:682,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 668
    functionDepth: 5
    functionLinenumber: 668
    functionLinenumberEnd: 684
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::internal::GetSslErrors
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::subtle::PemParser::ParseEcPrivateKey
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::subtle::PemParser::WriteEcPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, NewKeyWriteAndReadPrivateKeySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:694,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:694,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:696,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:696,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 686
    functionDepth: 4
    functionLinenumber: 686
    functionLinenumberEnd: 697
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    - EXPECT_THAT
    - StatusIs
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, ReadEcPublicKeyP224_Unimplemented)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:701,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:703,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:703,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 704
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - util::StatusOr::status
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, ReadInvalidEcPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:708,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:710,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:710,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 711
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::PemParser::ParseEcPrivateKey
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, ReadInvalidEcPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:727,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:728,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:739,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:739,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:740,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:742,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:742,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 744
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    - EXPECT_THAT
    - StatusIs
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, ReadEcPublicKeyFailsBecauseSecp256k1Unsupported)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:759,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:760,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:767,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:768,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:768,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:771,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:771,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 773
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::subtle::PemParser::ParseEcPrivateKey
    - crypto::tink::internal::IsBoringSsl
    - EXPECT_THAT
    - StatusIs
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, ReadEcPrivateKeyFailsBecauseSecp256k1Unsupported)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:789,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:789,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:791,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:791,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 775
    functionDepth: 4
    functionLinenumber: 775
    functionLinenumberEnd: 792
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::subtle::PemParser::ParseEcPrivateKey
    - EXPECT_THAT
    - StatusIs
    - absl::StripAsciiWhitespace
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, ParseEncryptedEcPrivateKey_Invalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:796,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:797,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:797,1
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:799,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:801,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:801,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 803
      start: 794
    functionDepth: 5
    functionLinenumber: 794
    functionLinenumberEnd: 803
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Corrupt
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::subtle::PemParser::WriteEcPublicKey
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, WriteEcPublicKeyWithBadXFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:807,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:808,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:808,1
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:810,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:811,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPublicKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:811,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 805
    functionDepth: 5
    functionLinenumber: 805
    functionLinenumberEnd: 813
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Corrupt
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - crypto::tink::subtle::PemParser::WriteEcPublicKey
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, WriteEcPublicKeyWithBadYFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:817,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:818,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:818,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:820,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:820,1
    - Dst: crypto::tink::subtle::Corrupt
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:821,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:822,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:823,1
    - Dst: crypto::tink::subtle::PemParser::WriteEcPrivateKey
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:823,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/pem_parser_boringssl_test.cc:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 825
      start: 815
    functionDepth: 5
    functionLinenumber: 815
    functionLinenumberEnd: 825
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::subtle::Corrupt
    - std::string
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::PemParser::WriteEcPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST(PemParserEcTest, WriteEcPrivateKeyWithBadPrivFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<RsaSsaPkcs1SignBoringSsl>
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:52,1
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:57,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:58,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:63,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:64,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:65,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:70,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:71,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:72,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:74,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:74,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:75,1
    - Dst: crypto::tink::internal::RsaPrivateKeyToRsa
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:82,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:83,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:84,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:87,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:88,1
    - Dst: RsaSsaPkcs1SignBoringSsl::RsaSsaPkcs1SignBoringSsl
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' private_key'
    - ' params'
    argTypes:
    - internal::RsaPrivateKey
    - internal::RsaSsaPkcs1Params
    constantsTouched: []
    func_position:
      end: 89
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 89
    functionName: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc
    functionUses: 7
    functionsReached:
    - util::StatusOr::get
    - util::Status::ok
    - util::StatusOr::status
    - auto::ok
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::RsaPrivateKeyToRsa
    - std::move
    - internal::CheckFipsCompatibility<RsaSsaPkcs1SignBoringSsl>
    - RsaSsaPkcs1SignBoringSsl::RsaSsaPkcs1SignBoringSsl
    - absl::WrapUnique
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - crypto::tink::internal::IsHashTypeSafeForSignature
    - BN_num_bits
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> RsaSsaPkcs1SignBoringSsl::New(\n
      \   const internal::RsaPrivateKey& private_key,\n    const internal::RsaSsaPkcs1Params&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:93,1
    - Dst: crypto::tink::internal::ComputeHash
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:94,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:96,1
    - Dst: ResizeStringUninitialized
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:100,1
    - Dst: RSA_size
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:100,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:100,1
    - Dst: RSA_sign
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:103,1
    - Dst: EVP_MD_type
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:103,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:104,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:104,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:105,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:106,1
    - Dst: get
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:108,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:112,1
    - Dst: std::string::resize
      Src: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::Sign
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc
    functionUses: 0
    functionsReached:
    - EVP_MD_type
    - std::string::resize
    - util::StatusOr::status
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - ResizeStringUninitialized
    - RSA_size
    - crypto::tink::internal::ComputeHash
    - crypto::tink::internal::EnsureStringNonNull
    - util::StatusOr::ok
    - util::StatusOr::size
    - reinterpret_cast<const uint8_t*>
    - reinterpret_cast<uint8_t*>
    - RSA_sign
    - get
    - util::StatusOr::data
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> RsaSsaPkcs1SignBoringSsl::Sign(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/common_enums.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: crypto::tink::subtle::EnumToString
    functionSourceFile: /src/tink/cc/subtle/common_enums.cc
    functionUses: 16
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string EnumToString(EllipticCurveType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/common_enums.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - format
    argTypes:
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: crypto::tink::subtle::EnumToString
    functionSourceFile: /src/tink/cc/subtle/common_enums.cc
    functionUses: 16
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string EnumToString(EcPointFormat format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/common_enums.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: crypto::tink::subtle::EnumToString
    functionSourceFile: /src/tink/cc/subtle/common_enums.cc
    functionUses: 16
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: std::string EnumToString(HashType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - size
    - ct_offset
    argTypes:
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: crypto::tink::subtle::DummyRandomAccessStream::DummyRandomAccessStream
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyRandomAccessStream(int64_t size, int ct_offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::Buffer*::set_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:72,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:73,1
    - Dst: std::memset
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:74,1
    - Dst: crypto::tink::util::Buffer*::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:74,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - crypto::tink::util::Buffer*
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: crypto::tink::subtle::DummyRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - crypto::tink::util::Buffer*::get_mem_block
    - std::memset
    - crypto::tink::util::Buffer*::set_size
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status PRead(\n      int64_t position, int count,\n
      \     crypto::tink::util::Buffer* dest_buffer) override"
  - 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: crypto::tink::subtle::DummyRandomAccessStream::size
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int64_t>
    signature: crypto::tink::util::StatusOr<int64_t> size() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:91,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:93,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:95,1
    - Dst: StreamingAead*::NewEncryptingStream
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:103,1
    - Dst: crypto::tink::subtle::WriteToStream
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:103,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:103,1
    - Dst: auto::str
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - saead
    - pt
    - aad
    - ct_offset
    argTypes:
    - StreamingAead*
    - absl::string_view
    - absl::string_view
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: crypto::tink::subtle::GetCiphertext
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::rdbuf
    - absl::make_unique<std::stringstream>
    - std::string
    - IsOk
    - std::move
    - auto::value
    - auto::str
    - EXPECT_THAT
    - crypto::tink::subtle::WriteToStream
    - StreamingAead*::NewEncryptingStream
    linkageType: ''
    returnType: std::string
    signature: "std::string GetCiphertext(StreamingAead* saead, absl::string_view
      pt,\n                          absl::string_view aad, int ct_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:114,1
    - Dst: crypto::tink::subtle::GetCiphertext
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - saead
    - pt
    - aad
    - ct_offset
    argTypes:
    - StreamingAead*
    - absl::string_view
    - absl::string_view
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::GetCiphertextSource
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::GetCiphertext
    linkageType: ''
    returnType: std::unique_ptr<RandomAccessStream>
    signature: "std::unique_ptr<RandomAccessStream> GetCiphertextSource(StreamingAead*
      saead,\n                                                        absl::string_view
      pt,\n                                                        absl::string_view
      aad,\n                                                        int ct_offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:126,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:128,1
    - Dst: absl::make_unique<DummyRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:128,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:131,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyRandomAccessStream>
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, NegativeCiphertextOffset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:146,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:147,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:148,1
    - Dst: absl::make_unique<DummyRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:148,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:151,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyRandomAccessStream>
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: "void TEST(DecryptingRandomAccessStreamTest,\n     SizeOfFirstSegmentIsSmallerOrEqualToZero)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:160,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:171,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:172,1
    - Dst: absl::make_unique<DummyRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:174,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:175,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:175,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:178,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:179,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:179,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:179,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::size
    - absl::make_unique<DummyRandomAccessStream>
    - std::string
    - EXPECT_EQ
    - IsOk
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - auto::value
    - HasSubstr
    - EXPECT_THAT
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, TooManySegments)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:185,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:189,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:189,1
    - Dst: crypto::tink::subtle::GetCiphertextSource
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:195,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:197,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:199,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:200,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:201,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:202,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:203,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:203,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:205,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:207,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:207,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 4
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::size
    - EXPECT_EQ
    - IsOk
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - StatusIs
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - crypto::tink::subtle::GetCiphertextSource
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - auto::get
    - HasSubstr
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, BasicDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:218,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:222,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:222,1
    - Dst: crypto::tink::subtle::GetCiphertextSource
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:228,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:230,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:232,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:233,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:234,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:235,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:235,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:238,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:238,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:241,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:241,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:241,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:243,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:243,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:245,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:245,1
    - Dst: auto::code
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:248,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:249,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:251,1
    - Dst: std::min
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:251,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:251,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:253,1
    - Dst: std::memcmp
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:254,1
    - Dst: std::string::data
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:254,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:255,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:255,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 262
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - auto::ok
    - std::move
    - crypto::tink::util::Buffer::New
    - absl::StrCat
    - std::memcmp
    - std::min
    - auto::get_mem_block
    - IsOk
    - crypto::tink::subtle::GetCiphertextSource
    - EXPECT_THAT
    - SCOPED_TRACE
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::max
    - StatusIs
    - absl::make_unique<DummyStreamSegmentDecrypter>
    - std::string::data
    - auto::PRead
    - auto::value
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, SelectiveDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:266,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:270,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:270,1
    - Dst: crypto::tink::subtle::GetCiphertext
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:275,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:277,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:280,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:280,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:281,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:281,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:282,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:282,1
    - Dst: auto::get_ciphertext_segment_size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:283,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:285,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:285,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:285,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:288,1
    - Dst: auto::substr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:289,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:292,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:294,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:295,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:296,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:297,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:297,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:298,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:298,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:300,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:301,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 308
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::size
    - std::move
    - crypto::tink::util::Buffer::New
    - absl::StrCat
    - IsOk
    - crypto::tink::subtle::GetCiphertext
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - StatusIs
    - static_cast<int>
    - auto::substr
    - absl::make_unique<DummyStreamSegmentDecrypter>
    - auto::get_ciphertext_segment_size
    - auto::PRead
    - auto::value
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, TruncatedCiphertextDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:312,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:315,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:315,1
    - Dst: crypto::tink::subtle::GetCiphertextSource
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:322,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:324,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:326,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:327,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:328,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:329,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:329,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:331,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:331,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:334,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:335,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:335,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:338,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:339,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:339,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:342,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:342,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:343,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:343,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:346,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:346,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:347,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 351
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - StatusIs
    - crypto::tink::util::Buffer::New
    - auto::PRead
    - crypto::tink::subtle::GetCiphertextSource
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - auto::get
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, OutOfRangeDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:358,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:358,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:360,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:361,1
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:362,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:364,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:365,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:366,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:366,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:367,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:367,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:371,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:371,1
    - Dst: auto::PRead
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:372,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:372,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:373,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 375
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - crypto::tink::util::Buffer::New
    - StatusIs
    - auto::PRead
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - auto::get
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, WrongCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:379,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:381,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:381,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:382,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:382,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:383,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, NullSegmentDecrypter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyStreamSegmentDecrypter>
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:391,1
    - Dst: crypto::tink::subtle::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:394,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:394,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:395,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:395,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:396,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::DecryptingRandomAccessStream::New
    - std::move
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<DummyStreamSegmentDecrypter>
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, NullCiphertextSource)
  - 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: ~StreamSegmentDecrypter()
    functionSourceFile: /src/tink/cc/subtle/stream_segment_decrypter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamSegmentDecrypter()
  - 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: ~RsaSsaPssSignBoringSsl() override
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RsaSsaPssSignBoringSsl() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - private_key
    - sig_hash
    - mgf1_hash
    - salt_length
    argTypes:
    - crypto::tink::internal::SslUniquePtr<RSA>
    - EVP_MD*
    - EVP_MD*
    - int32_t
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::subtle::RsaSsaPssSignBoringSsl::RsaSsaPssSignBoringSsl
    functionSourceFile: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPssSignBoringSsl(crypto::tink::internal::SslUniquePtr<RSA>
      private_key,\n                         const EVP_MD* sig_hash, const EVP_MD*
      mgf1_hash,\n                         int32_t salt_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - test_name
    - hex_key
    - hash_type
    - tag_size
    - message
    - hex_tag
    argTypes:
    - std::string
    - std::string
    - HashType
    - uint32_t
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: crypto::tink::subtle::TestVector
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TestVector(std::string test_name, std::string hex_key, HashType
      hash_type,\n              uint32_t tag_size, std::string message, std::string
      hex_tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:78,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:83,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:88,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:93,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:98,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:103,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:108,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:113,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:118,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:123,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:128,1
    - Dst: crypto::tink::subtle::TestVector
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 145
    functionName: crypto::tink::subtle::GetTestVectors
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::subtle::TestVector
    linkageType: ''
    returnType: std::vector<TestVector>
    signature: std::vector<TestVector> GetTestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:148,1
    - Dst: TestVector::message::empty
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:149,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:150,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:153,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:155,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:156,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:157,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:157,1
    - Dst: auto::Finalize
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:158,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:161,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:162,1
    - Dst: HexEncode
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::HexDecodeOrDie
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - IsOk
    - std::move
    - ASSERT_THAT
    - TestVector::message::empty
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - auto::Finalize
    - HexEncode
    - GetParam
    - Eq
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_P(StatefulHmacBoringSslTest, OnlyEmptyMessages)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:166,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:167,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:169,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:171,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:172,1
    - Dst: auto::Update
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:172,1
    - Dst: auto::Finalize
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:176,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:177,1
    - Dst: HexEncode
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:177,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 178
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::HexDecodeOrDie
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - auto::Finalize
    - GetParam
    - Eq
    - HexEncode
    - auto::Update
    linkageType: ''
    returnType: void
    signature: void TEST_P(StatefulHmacBoringSslTest, SingleUpdate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:181,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:182,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:184,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:185,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:186,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:186,1
    - Dst: LOG
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:188,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:189,1
    - Dst: LOG
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:194,1
    - Dst: auto::Update
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:194,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:195,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:196,1
    - Dst: LOG
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:198,1
    - Dst: auto::Finalize
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:202,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:202,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:203,1
    - Dst: HexEncode
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:203,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 204
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::HexDecodeOrDie
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - IsOk
    - absl::string_view::remove_prefix
    - std::move
    - ASSERT_THAT
    - absl::string_view::substr
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - auto::Finalize
    - LOG
    - absl::string_view::empty
    - GetParam
    - Eq
    - HexEncode
    - auto::Update
    linkageType: ''
    returnType: void
    signature: void TEST_P(StatefulHmacBoringSslTest, MultipleUpdates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:207,1
    - Dst: absl::make_unique<StatefulHmacBoringSslFactory>
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:208,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:210,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:210,1
    - Dst: auto::Create
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:213,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:219,1
    - Dst: Update
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:219,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:220,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:221,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:226,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:227,1
    - Dst: HexEncode
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:227,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - auto::Create
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - absl::string_view::remove_prefix
    - absl::make_unique<StatefulHmacBoringSslFactory>
    - ASSERT_THAT
    - absl::string_view::substr
    - crypto::tink::util::SecretDataFromStringView
    - Update
    - Finalize
    - EXPECT_THAT
    - absl::string_view::empty
    - GetParam
    - Eq
    - HexEncode
    linkageType: ''
    returnType: void
    signature: void TEST_P(StatefulHmacBoringSslTest, MultipleUpdatesObjectFromFactory)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:242,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:247,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:247,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:248,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - IsOk
    - crypto::tink::util::SecretDataFromStringView
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(StatefulHmacBoringSslTest, InvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:262,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:263,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:264,1
    - Dst: crypto::tink::subtle::StatefulHmacBoringSsl::New
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:265,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:266,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:267,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:268,1
    - Dst: auto::Update
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:271,1
    - Dst: auto::Finalize
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:274,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_hex
    - msg_hex
    - tag_hex
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 278
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 278
    functionName: crypto::tink::subtle::StatefulHmacBoringSslTestVectorTest::StatefulHmacVerifyHex
    functionSourceFile: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::subtle::StatefulHmacBoringSsl::New
    - crypto::tink::test::HexDecodeOrDie
    - IsOk
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - std::string::size
    - auto::Finalize
    - auto::Update
    linkageType: ''
    returnType: void
    signature: "void StatefulHmacVerifyHex(const std::string &key_hex,\n                             const
      std::string &msg_hex,\n                             const std::string &tag_hex)"
  - 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: ~StreamingPrf()
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamingPrf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:61,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:62,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:64,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:66,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:69,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:70,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:73,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:73,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - IsOk
    - std::unique_ptr::get
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:77,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:78,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:83,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:91,1
    - Dst: ComputePrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:92,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:93,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:94,1
    - Dst: std::fill
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:99,1
    - Dst: std::begin
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:99,1
    - Dst: std::end
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:99,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:100,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:102,1
    - Dst: ComputePrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:103,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:104,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:108,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:109,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 111
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - ASSERT_EQ
    - std::string
    - IsFipsModeEnabled
    - std::end
    - IsOk
    - ComputePrf
    - std::unique_ptr::get
    - ASSERT_THAT
    - std::begin
    - crypto::tink::util::SecretDataFromStringView
    - std::fill
    - EXPECT_THAT
    - GTEST_SKIP
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, EmptySalt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:114,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:115,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:117,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:119,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:122,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:123,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:128,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:129,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:131,1
    - Dst: Ne
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - Ne
    - IsOk
    - std::unique_ptr::get
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, DifferentInputsGiveDifferentvalues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:135,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:136,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:138,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:140,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:143,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:144,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:145,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:149,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:150,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:152,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:152,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:152,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - IsOk
    - std::unique_ptr::get
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - Eq
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, SameInputTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:162,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:163,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:165,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:167,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:170,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:174,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:177,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:177,1
    - Dst: std::unique_ptr::BackUp
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:179,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:186,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:186,1
    - Dst: Ge
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:186,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:189,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 191
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - std::string
    - IsFipsModeEnabled
    - std::unique_ptr::BackUp
    - IsOk
    - Ge
    - ASSERT_THAT
    - crypto::tink::util::StatusOr<int>::value
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - static_cast<const char*>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, BackupFullStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:195,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:196,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:198,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:200,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:203,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:207,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:211,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:211,1
    - Dst: std::unique_ptr::BackUp
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:214,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:221,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:221,1
    - Dst: Ge
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:221,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:224,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:225,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 226
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - std::string
    - IsFipsModeEnabled
    - std::unique_ptr::BackUp
    - IsOk
    - Ge
    - ASSERT_THAT
    - crypto::tink::util::StatusOr<int>::value
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - static_cast<const char*>
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, BackupHalf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:230,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:231,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:233,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:235,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:240,1
    - Dst: std::unique_ptr::Position
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:240,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Eq
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::unique_ptr::Position
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, PositionOneRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:245,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:246,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:248,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:250,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:253,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:257,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:258,1
    - Dst: std::unique_ptr::Position
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:258,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:258,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Eq
    - crypto::tink::util::StatusOr<int>::value
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::unique_ptr::Position
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, PositionSingleRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:263,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:264,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:266,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:271,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:275,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:280,1
    - Dst: std::unique_ptr::Position
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:280,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:280,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:280,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Eq
    - crypto::tink::util::StatusOr<int>::value
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::unique_ptr::Position
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, PositionTwoReads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:285,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:286,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:288,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:290,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:293,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:297,1
    - Dst: std::unique_ptr::BackUp
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:298,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:299,1
    - Dst: std::unique_ptr::Position
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:299,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - IsFipsModeEnabled
    - std::unique_ptr::BackUp
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::StatusOr<int>::value
    - Eq
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::unique_ptr::Position
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, BackupSingleRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:304,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:305,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:307,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:309,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:312,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:316,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:319,1
    - Dst: std::unique_ptr::BackUp
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:321,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:323,1
    - Dst: std::unique_ptr::Position
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:323,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:323,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 324
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - IsFipsModeEnabled
    - std::unique_ptr::BackUp
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::StatusOr<int>::value
    - Eq
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::unique_ptr::Position
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, BackupSecondRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:328,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:329,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:331,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:333,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:336,1
    - Dst: std::unique_ptr::Next
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:340,1
    - Dst: std::unique_ptr::BackUp
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:342,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:342,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:344,1
    - Dst: std::unique_ptr::Position
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:344,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:344,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:344,1
    - Dst: crypto::tink::util::StatusOr<int>::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::unique_ptr::Next
    - IsFipsModeEnabled
    - std::unique_ptr::BackUp
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::StatusOr<int>::value
    - Eq
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::unique_ptr::Position
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, PartialBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:350,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:351,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:353,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:355,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:359,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:360,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:361,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:361,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:362,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:362,1
    - Dst: SizeIs
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:362,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:363,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:363,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:364,1
    - Dst: Not
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - IsOk
    - Not
    - std::unique_ptr::get
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, ExhaustInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:371,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:372,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:376,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:377,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:378,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:379,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:380,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:385,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:386,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:386,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:388,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:389,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:389,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:390,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:391,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:391,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 392
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::unique_ptr::get
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - Eq
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:397,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:397,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:398,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:399,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:402,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:403,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - hash
    - ikm
    - salt
    - info
    - length
    argTypes:
    - HashType
    - util::SecretData
    - std::string
    - std::string
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - std::move
    - std::unique_ptr::get
    - auto::value
    - ReadBytesFromStream
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> ComputeWithHkdfStreamingPrf(\n
      \   HashType hash, util::SecretData ikm, std::string salt, std::string info,\n
      \   int length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:407,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:408,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:412,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:413,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:418,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:424,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:430,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:438,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:438,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:439,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:440,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:440,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:441,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:441,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 442
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:445,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:446,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:450,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:451,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:452,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:453,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:454,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:459,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:459,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:460,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:461,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:462,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:462,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:466,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:467,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:472,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:472,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:473,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:474,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:475,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:480,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:480,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:481,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:482,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:482,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:483,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:483,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 484
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:487,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:488,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:492,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:493,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:498,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:504,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:510,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:518,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:518,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:519,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:520,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:520,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:521,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:521,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 522
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector5)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:525,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:526,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:530,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:531,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:532,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:533,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:534,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:539,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:539,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:540,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:541,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:541,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:542,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:542,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 543
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector6)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:546,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:547,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:551,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:552,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:554,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:555,1
    - Dst: crypto::tink::subtle::HexDecodeOrDie
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:556,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:561,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:561,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:562,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:563,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:563,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:564,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:564,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 565
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - std::string::size
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestVector7)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:568,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:569,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:572,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:573,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:574,1
    - Dst: crypto::tink::subtle::ComputeWithHkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:577,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:578,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:578,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:580,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:581,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:581,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:584,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:585,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:585,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:586,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 587
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - IsOk
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - std::move
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestAgainstHkdfUtil)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:590,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:591,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:595,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:596,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:597,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:599,1
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:599,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:599,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - std::move
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(HkdfStreamingPrf, TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - streaming_prf_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<StreamingPrf>>
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: crypto::tink::StreamingPrfSetWrapper::StreamingPrfSetWrapper
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void StreamingPrfSetWrapper(\n      std::unique_ptr<PrimitiveSet<StreamingPrf>>
      streaming_prf_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: crypto::tink::StreamingPrfSetWrapper::ComputePrf
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_primary
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: "std::unique_ptr<InputStream> ComputePrf(\n      absl::string_view
      input) const override"
  - 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: ~StreamingPrfSetWrapper() override
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamingPrfSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:57,1
    - Dst: std::unique_ptr<PrimitiveSet<StreamingPrf>>::get_all
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:62,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:64,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:67,1
    - Dst: auto::size
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:70,1
    - Dst: auto*::get_status
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:73,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:74,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:76,1
    - Dst: auto*::get_status
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:79,1
    - Dst: auto*::get_output_prefix_type
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:83,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:85,1
    - Dst: auto*::get_output_prefix_type
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:89,1
    - Dst: absl::make_unique<StreamingPrfSetWrapper>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:92,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - streaming_prf_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<StreamingPrf>>
    constantsTouched: []
    func_position:
      end: 93
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 93
    functionName: crypto::tink::StreamingPrfWrapper::Wrap
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<StreamingPrfSetWrapper>
    - auto::size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - std::unique_ptr<PrimitiveSet<StreamingPrf>>::get_all
    - auto*::get_status
    - absl::StrCat
    - auto*::get_output_prefix_type
    linkageType: ''
    returnType: ::crypto::tink::util::StatusOr<std::unique_ptr<StreamingPrf>>
    signature: "::crypto::tink::util::StatusOr<std::unique_ptr<StreamingPrf>> StreamingPrfWrapper::Wrap(std::unique_ptr<PrimitiveSet<StreamingPrf>>\n
      \                             streaming_prf_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - update_status
    - finalize_result
    argTypes:
    - util::Status
    - util::StatusOr<std::string>
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: crypto::tink::subtle::FakeStatefulMacFactory::FakeStatefulMacFactory
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FakeStatefulMacFactory(util::Status update_status,\n                         util::StatusOr<std::string>
      finalize_result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<NiceMock<MockStatefulMac>>
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:73,1
    - Dst: Update
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:73,1
    - Dst: Return
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:74,1
    - Dst: Finalize
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:74,1
    - Dst: Return
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:75,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: crypto::tink::subtle::FakeStatefulMacFactory::Create
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<NiceMock<MockStatefulMac>>
    - Finalize
    - Update
    - ON_CALL
    - Return
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StatefulMac>>
    signature: util::StatusOr<std::unique_ptr<StatefulMac>> Create() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:91,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: crypto::tink::subtle::GetInputStreamForString
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - absl::make_unique<util::IstreamInputStream>
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: std::unique_ptr<InputStream> GetInputStreamForString(const std::string&
      input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreatePrfFromStatefulMacFactory
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:99,1
    - Dst: absl::make_unique<FakeStatefulMacFactory>
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - update_status
    - finalize_result
    argTypes:
    - util::Status
    - util::StatusOr<std::string>
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: crypto::tink::subtle::PrfFromStatefulMacFactoryTest::SetUpWithResult
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - CreatePrfFromStatefulMacFactory
    - absl::make_unique<FakeStatefulMacFactory>
    linkageType: ''
    returnType: void
    signature: "void SetUpWithResult(util::Status update_status,\n                       util::StatusOr<std::string>
      finalize_result)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: crypto::tink::subtle::PrfFromStatefulMacFactoryTest::prf
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Prf
    signature: Prf * prf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetUpWithResult
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:110,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:110,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:110,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:112,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:112,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:113,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:113,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - auto::status
    - std::string
    - auto::ok
    - prf
    - auto::value
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::util::OkStatus
    - SetUpWithResult
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStatefulMacFactoryTest, ComputePrf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetUpWithResult
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:117,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:118,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:121,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - prf
    - EXPECT_THAT
    - EXPECT_FALSE
    - Eq
    - SetUpWithResult
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStatefulMacFactoryTest, ComputePrfUpdateFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetUpWithResult
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:125,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:126,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:127,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:129,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - prf
    - EXPECT_THAT
    - crypto::tink::util::OkStatus
    - Eq
    - SetUpWithResult
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStatefulMacFactoryTest, ComputePrfFinalizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetUpWithResult
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:133,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:133,1
    - Dst: std::string
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:133,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:134,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:135,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto::ok
    - crypto::tink::util::OkStatus
    - prf
    - EXPECT_FALSE
    - SetUpWithResult
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStatefulMacFactoryTest, ComputePrfTooMuchOutputRequested)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<NiceMock<MockStreamingPrf>>
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:141,1
    - Dst: DefaultValue<std::unique_ptr<InputStream>>::SetFactory
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:142,1
    - Dst: GetInputStreamForString
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:143,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:144,1
    - Dst: ComputePrf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:144,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:144,1
    - Dst: AnyNumber
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:144,1
    - Dst: CreatePrfFromStreamingPrf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:145,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: crypto::tink::subtle::PrfFromStreamingPrfTest::SetUp
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - DefaultValue<std::unique_ptr<InputStream>>::SetFactory
    - EXPECT_CALL
    - AnyNumber
    - ComputePrf
    - std::move
    - GetInputStreamForString
    - CreatePrfFromStreamingPrf
    - Eq
    - absl::make_unique<NiceMock<MockStreamingPrf>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc: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: crypto::tink::subtle::PrfFromStreamingPrfTest::prf
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: Prf
    signature: Prf * prf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:156,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - IsOk
    - ASSERT_THAT
    - prf
    - auto::value
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStreamingPrfTest, ComputePrfBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:162,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:162,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:162,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:165,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:165,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - IsOk
    - ASSERT_THAT
    - prf
    - auto::value
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStreamingPrfTest, ComputeTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:171,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:171,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:171,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:174,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:174,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:174,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:177,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:177,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - IsOk
    - ASSERT_THAT
    - prf
    - auto::value
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStreamingPrfTest, ComputeSubstring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:183,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:183,1
    - Dst: StrEq
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:183,1
    - Dst: prf
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:185,1
    - Dst: Not
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/prf_set_util_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: crypto::tink::subtle::TEST_F
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util_test.cc
    functionUses: 0
    functionsReached:
    - StrEq
    - IsOk
    - Not
    - ASSERT_THAT
    - prf
    - auto::value
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfFromStreamingPrfTest, ComputeTooMuch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - hash
    - secret
    - salt
    argTypes:
    - EVP_MD*
    - util::SecretData
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: crypto::tink::subtle::HkdfStreamingPrf::HkdfStreamingPrf
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HkdfStreamingPrf(const EVP_MD* hash, util::SecretData secret,\n
      \                  absl::string_view salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HkdfInputStream::Init
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - digest
    - secret
    - salt
    - input
    argTypes:
    - EVP_MD*
    - util::SecretData
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: crypto::tink::subtle::HkdfInputStream::HkdfInputStream
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfInputStream::Init
    linkageType: ''
    returnType: void
    signature: "void HkdfInputStream(const EVP_MD *digest, const util::SecretData
      &secret,\n                  absl::string_view salt, absl::string_view input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:58,1
    - Dst: size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:61,1
    - Dst: crypto::tink::subtle::HkdfInputStream::returnDataFromPosition
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:66,1
    - Dst: crypto::tink::subtle::HkdfInputStream::UpdateTi
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:69,1
    - Dst: ok
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:70,1
    - Dst: crypto::tink::subtle::HkdfInputStream::returnDataFromPosition
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: crypto::tink::subtle::HkdfInputStream::Next
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfInputStream::returnDataFromPosition
    - size
    - crypto::tink::internal::ExtractStatus
    - ok
    - crypto::tink::subtle::HkdfInputStream::UpdateTi
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(const void **data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::min
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:77,1
    - Dst: std::max
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::HkdfInputStream::BackUp
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 0
    functionsReached:
    - std::max
    - std::min
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: crypto::tink::subtle::HkdfInputStream::Position
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:92,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:96,1
    - Dst: resize
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:99,1
    - Dst: HMAC
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:107,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:107,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:107,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:108,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:108,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:108,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:111,1
    - Dst: util::SecretData::resize
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:115,1
    - Dst: HMAC_Init_ex
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:117,1
    - Dst: get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:117,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:117,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:119,1
    - Dst: crypto::tink::subtle::HkdfInputStream::UpdateTi
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - digest
    - secret
    - salt
    argTypes:
    - EVP_MD*
    - util::SecretData
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 122
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::HkdfInputStream::Init
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 1
    functionsReached:
    - HMAC_Init_ex
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - HMAC
    - util::SecretData::data
    - util::SecretData::size
    - util::SecretData::resize
    - crypto::tink::subtle::HkdfInputStream::UpdateTi
    - resize
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Init(const EVP_MD *digest, const util::SecretData &secret,\n
      \                   absl::string_view salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:126,1
    - Dst: size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: crypto::tink::subtle::HkdfInputStream::returnDataFromPosition
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 1
    functionsReached:
    - data
    - size
    linkageType: ''
    returnType: int
    signature: int returnDataFromPosition(const void **data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_Init_ex
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:137,1
    - Dst: get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:138,1
    - Dst: HMAC_Update
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:140,1
    - Dst: get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:140,1
    - Dst: data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:140,1
    - Dst: size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:141,1
    - Dst: HMAC_Update
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:144,1
    - Dst: get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:144,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:145,1
    - Dst: size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:147,1
    - Dst: HMAC_Update
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:151,1
    - Dst: get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:151,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:152,1
    - Dst: HMAC_Final
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:155,1
    - Dst: get
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:155,1
    - Dst: data
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:156,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 161
    functionName: crypto::tink::subtle::HkdfInputStream::UpdateTi
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 2
    functionsReached:
    - HMAC_Init_ex
    - HMAC_Update
    - reinterpret_cast<const uint8_t *>
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - data
    - get
    - HMAC_Final
    linkageType: ''
    returnType: util::Status
    signature: util::Status UpdateTi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HkdfInputStream>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: crypto::tink::subtle::HkdfStreamingPrf::ComputePrf
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<HkdfInputStream>
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: "std::unique_ptr<InputStream> HkdfStreamingPrf::ComputePrf(\n    absl::string_view
      input) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<HkdfStreamingPrf>
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:191,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:192,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:195,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:197,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:200,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:201,1
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:204,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:205,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:206,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:210,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:210,1
    - Dst: HkdfStreamingPrf::HkdfStreamingPrf
      Src: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - hash
    - secret
    - salt
    argTypes:
    - HashType
    - util::SecretData
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: crypto::tink::subtle::HkdfStreamingPrf::New
    functionSourceFile: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
    functionUses: 20
    functionsReached:
    - HkdfStreamingPrf::HkdfStreamingPrf
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - internal::CheckFipsCompatibility<HkdfStreamingPrf>
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - absl::StrCat
    - util::SecretData::size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<StreamingPrf>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<StreamingPrf>> HkdfStreamingPrf::New(HashType
      hash, util::SecretData secret,\n                      absl::string_view salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - streaming_prf
    argTypes:
    - std::unique_ptr<StreamingPrf>
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: crypto::tink::subtle::PrfFromStreamingPrf::PrfFromStreamingPrf
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PrfFromStreamingPrf(std::unique_ptr<StreamingPrf> streaming_prf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ComputePrf
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:45,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:46,1
    - Dst: auto::get
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:46,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:47,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:48,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: crypto::tink::subtle::PrfFromStreamingPrf::Compute
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - ComputePrf
    - auto::value
    - auto::get
    - ReadBytesFromStream
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view input,\n                                      size_t
      output_length) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stateful_mac_factory
    argTypes:
    - std::unique_ptr<StatefulMacFactory>
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: crypto::tink::subtle::PrfFromStatefulMacFactory::PrfFromStatefulMacFactory
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PrfFromStatefulMacFactory(\n      std::unique_ptr<StatefulMacFactory>
      stateful_mac_factory)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Create
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:65,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:66,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:69,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:69,1
    - Dst: auto::Update
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:71,1
    - Dst: auto::Finalize
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:75,1
    - Dst: auto::status
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:78,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:78,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:82,1
    - Dst: std::string::size
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:82,1
    - Dst: std::string::substr
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - input
    - output_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 86
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 86
    functionName: crypto::tink::subtle::PrfFromStatefulMacFactory::Compute
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util.cc
    functionUses: 0
    functionsReached:
    - Create
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::string::substr
    - std::move
    - auto::value
    - absl::StrCat
    - std::string::size
    - auto::Finalize
    - auto::Update
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Compute(absl::string_view input,\n                                      size_t
      output_length) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrfFromStreamingPrf>
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - streaming_prf
    argTypes:
    - std::unique_ptr<StreamingPrf>
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: crypto::tink::subtle::CreatePrfFromStreamingPrf
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util.cc
    functionUses: 2
    functionsReached:
    - std::move
    - absl::make_unique<PrfFromStreamingPrf>
    linkageType: ''
    returnType: std::unique_ptr<Prf>
    signature: "std::unique_ptr<Prf> CreatePrfFromStreamingPrf(\n    std::unique_ptr<StreamingPrf>
      streaming_prf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrfFromStatefulMacFactory>
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/prf_set_util.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stateful_mac_factory
    argTypes:
    - std::unique_ptr<StatefulMacFactory>
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: crypto::tink::subtle::CreatePrfFromStatefulMacFactory
    functionSourceFile: /src/tink/cc/subtle/prf/prf_set_util.cc
    functionUses: 2
    functionsReached:
    - absl::make_unique<PrfFromStatefulMacFactory>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<Prf>
    signature: "std::unique_ptr<Prf> CreatePrfFromStatefulMacFactory(\n    std::unique_ptr<StatefulMacFactory>
      stateful_mac_factory)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: crypto::tink::DummyStreamingPrf::DummyStreamingPrf
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyStreamingPrf(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<crypto::tink::util::IstreamInputStream>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:56,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:57,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:58,1
    - Dst: length
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: crypto::tink::DummyStreamingPrf::ComputePrf
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - absl::StrCat
    - absl::make_unique<crypto::tink::util::IstreamInputStream>
    - length
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: "std::unique_ptr<InputStream> ComputePrf(\n      absl::string_view
      input) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:67,1
    - Dst: StreamingPrfWrapper::Wrap
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:68,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:69,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - StreamingPrfWrapper::Wrap
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:73,1
    - Dst: StreamingPrfWrapper
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:73,1
    - Dst: absl::make_unique<PrimitiveSet<StreamingPrf>>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:74,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:76,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - StreamingPrfWrapper
    - HasSubstr
    - absl::make_unique<PrimitiveSet<StreamingPrf>>
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<StreamingPrf>>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:81,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:83,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:84,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:85,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:87,1
    - Dst: absl::make_unique<DummyStreamingPrf>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:90,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:90,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:90,1
    - Dst: StreamingPrfWrapper
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:92,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:94,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:99,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:99,1
    - Dst: Eq
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ReadBytesFromStream
    - StreamingPrfWrapper
    - auto::AddPrimitive
    - IsOk
    - std::move
    - absl::make_unique<DummyStreamingPrf>
    - auto::set_primary
    - KeysetInfo::KeyInfo::set_key_id
    - ASSERT_THAT
    - auto::value
    - absl::make_unique<PrimitiveSet<StreamingPrf>>
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapSingle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<StreamingPrf>>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:103,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:105,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:106,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:107,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:109,1
    - Dst: absl::make_unique<DummyStreamingPrf>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:112,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:114,1
    - Dst: StreamingPrfWrapper
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:114,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:114,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:115,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - StreamingPrfWrapper
    - auto::AddPrimitive
    - IsOk
    - std::move
    - absl::make_unique<DummyStreamingPrf>
    - auto::set_primary
    - KeysetInfo::KeyInfo::set_key_id
    - ASSERT_THAT
    - StatusIs
    - auto::value
    - HasSubstr
    - absl::make_unique<PrimitiveSet<StreamingPrf>>
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapNonRaw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<StreamingPrf>>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:121,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:123,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:124,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:125,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:127,1
    - Dst: absl::make_unique<DummyStreamingPrf>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:130,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:130,1
    - Dst: auto::value
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:130,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:132,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:133,1
    - Dst: absl::make_unique<DummyStreamingPrf>
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:139,1
    - Dst: StreamingPrfWrapper
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:139,1
    - Dst: StatusIs
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:140,1
    - Dst: HasSubstr
      Src: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - StreamingPrfWrapper
    - auto::AddPrimitive
    - IsOk
    - std::move
    - absl::make_unique<DummyStreamingPrf>
    - auto::set_primary
    - KeysetInfo::KeyInfo::set_key_id
    - ASSERT_THAT
    - StatusIs
    - auto::value
    - HasSubstr
    - absl::make_unique<PrimitiveSet<StreamingPrf>>
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapMultiple)
  - 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: crypto::tink::subtle::StatefulMac::StatefulMac
    functionSourceFile: /src/tink/cc/subtle/mac/stateful_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatefulMac()
  - 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: ~StatefulMac()
    functionSourceFile: /src/tink/cc/subtle/mac/stateful_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatefulMac()
  - 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: ~StatefulMacFactory()
    functionSourceFile: /src/tink/cc/subtle/mac/stateful_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StatefulMacFactory()
  - 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: crypto::tink::EciesAeadHkdfHybridEncryptTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: crypto::tink::EciesAeadHkdfHybridEncryptTest::TearDown
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::EciesAeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:57,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:58,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:59,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:59,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:60,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:61,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:61,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:66,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:67,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:68,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:71,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:71,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:72,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:73,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:78,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:79,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:80,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:81,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:83,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:84,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:84,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:85,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:86,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:92,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:92,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:94,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:95,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:96,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:97,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:98,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:99,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:100,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:101,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:104,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:105,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:106,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::set_version
    - crypto::tink::internal::NewEcKey
    - std::string
    - auto::ok
    - crypto::tink::EciesAeadHkdfHybridEncrypt::New
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - EciesAeadHkdfPublicKey::set_y
    - EciesAeadHkdfPublicKey::mutable_params
    - auto::set_type_url
    - crypto::tink::util::Enums::ProtoToSubtle
    - EXPECT_FALSE
    - auto::mutable_kem_params
    - auto::mutable_dem_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridEncryptTest, testInvalidKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:112,1
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:127,1
    - Dst: crypto::tink::EciesAeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:129,1
    - Dst: auto::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:129,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:130,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:130,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:130,1
    - Dst: auto::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:131,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:133,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:133,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:138,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:138,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::EciesAeadHkdfHybridEncrypt::New
    - auto::ok
    - std::unique_ptr::Encrypt
    - std::move
    - auto::SerializeAsString
    - auto::value
    - crypto::tink::test::GetEciesAesGcmHkdfTestKey
    - ASSERT_TRUE
    - auto::public_key
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridEncryptTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::EciesAeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ecies_public_key'
    argTypes:
    - google::crypto::tink::EciesAeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: crypto::tink::EciesAeadHkdfPublicKeyManager::HybridEncryptFactory::Create
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesAeadHkdfHybridEncrypt::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<HybridEncrypt>> Create(\n
      \       const google::crypto::tink::EciesAeadHkdfPublicKey& ecies_public_key)\n
      \       const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HybridEncryptFactory>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::EciesAeadHkdfPublicKeyManager::EciesAeadHkdfPublicKeyManager
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<HybridEncryptFactory>
    linkageType: ''
    returnType: void
    signature: void EciesAeadHkdfPublicKeyManager()
  - 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: crypto::tink::EciesAeadHkdfPublicKeyManager::get_version
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::EciesAeadHkdfPublicKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:46,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:47,1
    - Dst: kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:49,1
    - Dst: kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:50,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:51,1
    - Dst: has_dem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:55,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:56,1
    - Dst: dem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:58,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:59,1
    - Dst: ec_point_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:63,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:64,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - EciesAeadHkdfParams
    constantsTouched: []
    func_position:
      end: 68
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 68
    functionName: crypto::tink::EciesAeadHkdfPublicKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc
    functionUses: 0
    functionsReached:
    - has_kem_params
    - has_dem_params
    - Status
    - kem_params
    - ec_point_format
    - dem_params
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status EciesAeadHkdfPublicKeyManager::ValidateParams(\n    const EciesAeadHkdfParams&
      params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:72,1
    - Dst: version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:72,1
    - Dst: crypto::tink::EciesAeadHkdfPublicKeyManager::get_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:72,1
    - Dst: Status::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:73,1
    - Dst: has_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:74,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:75,1
    - Dst: crypto::tink::EciesAeadHkdfPublicKeyManager::ValidateParams
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:77,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EciesAeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: crypto::tink::EciesAeadHkdfPublicKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesAeadHkdfPublicKeyManager::ValidateParams
    - Status::ok
    - has_params
    - crypto::tink::EciesAeadHkdfPublicKeyManager::get_version
    - ValidateVersion
    - params
    - version
    - Status
    linkageType: ''
    returnType: Status
    signature: "Status EciesAeadHkdfPublicKeyManager::ValidateKey(\n    const EciesAeadHkdfPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: crypto::tink::GetNewEciesPrivateKey
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::GetEciesAesGcmHkdfTestKey
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: EciesAeadHkdfPrivateKey GetNewEciesPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HybridDecryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:64,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:65,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:66,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:67,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:68,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:69,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:70,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::HybridDecryptFactory::GetPrimitive
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridDecryptFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetNewEciesPrivateKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:80,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:81,1
    - Dst: crypto::tink::GetNewEciesPrivateKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:85,1
    - Dst: AddRawKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:86,1
    - Dst: crypto::tink::GetNewEciesPrivateKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:90,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:91,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:97,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:97,1
    - Dst: absl::make_unique<EciesAeadHkdfPublicKeyManager>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:101,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:102,1
    - Dst: auto::public_key
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:104,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:105,1
    - Dst: auto::public_key
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:105,1
    - Dst: crypto::tink::HybridDecryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:109,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:111,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:111,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:112,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:118,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:118,1
    - Dst: Keyset::key
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:118,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:119,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:121,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:121,1
    - Dst: Keyset::key
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:121,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:122,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:126,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:126,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:127,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:127,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:131,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:132,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:132,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:133,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:133,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:137,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:138,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:139,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:140,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:141,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:142,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 144
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::GetNewEciesPrivateKey
    - AddRawKey
    - auto::ok
    - std::move
    - crypto::tink::HybridConfig::Register
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::GetPrimitive
    - auto::status
    - std::string
    - std::unique_ptr::Encrypt
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::KeyInfoFromKey
    - crypto::tink::HybridDecryptFactory::GetPrimitive
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - AddTinkKey
    - auto::Decrypt
    - auto::public_key
    - Keyset::key
    - absl::make_unique<EciesAeadHkdfPublicKeyManager>
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridDecryptFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: crypto::tink::EciesParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: crypto::tink::EciesParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::EciesParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesParameters
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: crypto::tink::EciesParameters::EciesParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EciesParameters(const EciesParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesParameters
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: '& operator=(const EciesParameters& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters
    signature: EciesParameters & operator=(const EciesParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesParameters
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: crypto::tink::EciesParameters::EciesParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EciesParameters(EciesParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesParameters
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: '& operator=(EciesParameters&& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters
    signature: EciesParameters & operator=(EciesParameters&& other)
  - 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: crypto::tink::EciesParameters::GetCurveType
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CurveType
    signature: CurveType GetCurveType() 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: crypto::tink::EciesParameters::GetHashType
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetHashType() const
  - 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: crypto::tink::EciesParameters::GetNistCurvePointFormat
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<PointFormat>
    signature: absl::optional<PointFormat> GetNistCurvePointFormat() 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: crypto::tink::EciesParameters::GetDemId
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DemId
    signature: DemId GetDemId() 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: crypto::tink::EciesParameters::GetSalt
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<absl::string_view>
    signature: absl::optional<absl::string_view> GetSalt() 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: crypto::tink::EciesParameters::GetVariant
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::EciesParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - curve_type
    - hash_type
    - point_format
    - dem_id
    - salt
    - variant
    argTypes:
    - CurveType
    - HashType
    - absl::optional<PointFormat>
    - DemId
    - absl::optional<absl::string_view>
    - Variant
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: crypto::tink::EciesParameters::EciesParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EciesParameters(CurveType curve_type, HashType hash_type,\n                           absl::optional<PointFormat>
      point_format,\n                           DemId dem_id, absl::optional<absl::string_view>
      salt,\n                           Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:45,1
    - Dst: has_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:46,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:51,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:52,1
    - Dst: y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:54,1
    - Dst: y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:59,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EciesAeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc
    functionUses: 2
    functionsReached:
    - has_params
    - x
    - crypto::tink::internal::ExtractStatus
    - y
    - params
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(const EciesAeadHkdfPublicKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:72,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:73,1
    - Dst: crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:75,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:76,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:77,1
    - Dst: x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:78,1
    - Dst: y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:78,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:79,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:79,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:81,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:82,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:83,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:83,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:87,1
    - Dst: EciesAeadHkdfHybridEncrypt::EciesAeadHkdfHybridEncrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' recipient_key'
    argTypes:
    - EciesAeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: crypto::tink::EciesAeadHkdfHybridEncrypt::New
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::EciesAeadHkdfDemHelper::New
    - auto::status
    - util::Status::ok
    - x
    - crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
    - auto::ok
    - y
    - std::move
    - params
    - EciesAeadHkdfHybridEncrypt::EciesAeadHkdfHybridEncrypt
    - absl::WrapUnique
    - Validate
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridEncrypt>> EciesAeadHkdfHybridEncrypt::New(\n
      \   const EciesAeadHkdfPublicKey& recipient_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenerateKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:93,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:94,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:95,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:96,1
    - Dst: dem_key_size_in_bytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:98,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:99,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:101,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:102,1
    - Dst: GetAeadOrDaead
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:106,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:108,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:112,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:112,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:116,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:116,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - plaintext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: crypto::tink::EciesAeadHkdfHybridEncrypt::Encrypt
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - dem_key_size_in_bytes
    - auto::ok
    - GenerateKey
    - std::move
    - params
    - GetAeadOrDaead
    - auto::value
    - auto::get_kem_bytes
    - absl::StrCat
    - crypto::tink::util::Enums::ProtoToSubtle
    - auto::get_symmetric_key
    - auto::Encrypt
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EciesAeadHkdfHybridEncrypt::Encrypt(\n
      \   absl::string_view plaintext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EciesParameters::Variant>
    signature: "util::StatusOr<EciesParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - EciesParameters::Variant
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    EciesParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EciesParameters::CurveType
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: crypto::tink::IsNistCurve
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNistCurve(EciesParameters::CurveType curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: crypto::tink::FromProtoCurveType
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EciesParameters::CurveType>
    signature: "util::StatusOr<EciesParameters::CurveType> FromProtoCurveType(\n    EllipticCurveType
      curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EciesParameters::CurveType
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: crypto::tink::ToProtoCurveType
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EllipticCurveType>
    signature: "util::StatusOr<EllipticCurveType> ToProtoCurveType(\n    EciesParameters::CurveType
      curve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: crypto::tink::FromProtoHashType
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EciesParameters::HashType>
    signature: util::StatusOr<EciesParameters::HashType> FromProtoHashType(HashType
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash
    argTypes:
    - EciesParameters::HashType
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HashType>
    signature: util::StatusOr<HashType> ToProtoHashType(EciesParameters::HashType
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: crypto::tink::FromProtoPointFormat
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EciesParameters::PointFormat>
    signature: "util::StatusOr<EciesParameters::PointFormat> FromProtoPointFormat(\n
      \   EcPointFormat format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - EciesParameters::PointFormat
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: crypto::tink::ToProtoPointFormat
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EcPointFormat>
    signature: "util::StatusOr<EcPointFormat> ToProtoPointFormat(\n    EciesParameters::PointFormat
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:241,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:242,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:245,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:246,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:249,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:250,1
    - Dst: has_hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:253,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:254,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:257,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:258,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:261,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:262,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:265,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:266,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:269,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:270,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:273,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:274,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:275,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - AesCtrHmacAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 280
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 280
    functionName: crypto::tink::ValidateAesCtrHmacAeadKeyFormat
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - hmac_key_format
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - aes_ctr_key_format
    - has_aes_ctr_key_format
    - has_hmac_key_format
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status ValidateAesCtrHmacAeadKeyFormat(\n    const AesCtrHmacAeadKeyFormat&
      format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesAeadDemParams::has_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:284,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:285,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:288,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:291,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:292,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:293,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:296,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:299,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:302,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:305,1
    - Dst: AesSivKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:308,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:309,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:310,1
    - Dst: AesSivKeyFormat::key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:313,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:316,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:319,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:322,1
    - Dst: XChaCha20Poly1305KeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:325,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:326,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:327,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:332,1
    - Dst: AesCtrHmacAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:335,1
    - Dst: EciesAeadDemParams::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:336,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:337,1
    - Dst: crypto::tink::ValidateAesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:341,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:342,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:345,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:348,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:351,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 1
    argNames:
    - proto_dem_params
    argTypes:
    - EciesAeadDemParams
    constantsTouched: []
    func_position:
      end: 356
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 356
    functionName: crypto::tink::FromProtoDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::ParseFromString
    - util::Status::ok
    - AesSivKeyFormat::key_size
    - crypto::tink::internal::ExtractStatus
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - XChaCha20Poly1305KeyFormat::ParseFromString
    - crypto::tink::ValidateAesCtrHmacAeadKeyFormat
    - AesSivKeyFormat::ParseFromString
    - AesGcmKeyFormat::key_size
    - EciesAeadDemParams::aead_dem
    - EciesAeadDemParams::has_aead_dem
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<EciesParameters::DemId>
    signature: "util::StatusOr<EciesParameters::DemId> FromProtoDemParams(\n    EciesAeadDemParams
      proto_dem_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:362,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:363,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:364,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - type_url
    - ' serialized_key_format'
    argTypes:
    - absl::string_view
    - std::string
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: crypto::tink::CreateEciesAeadDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - KeyTemplate::mutable_value
    - KeyTemplate::set_output_prefix_type
    - KeyTemplate::set_type_url
    - EciesAeadDemParams::mutable_aead_dem
    linkageType: ''
    returnType: EciesAeadDemParams
    signature: "EciesAeadDemParams CreateEciesAeadDemParams(\n    absl::string_view
      type_url, const std::string& serialized_key_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:375,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:376,1
    - Dst: crypto::tink::CreateEciesAeadDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:377,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:379,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:383,1
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:384,1
    - Dst: crypto::tink::CreateEciesAeadDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:385,1
    - Dst: AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:387,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:391,1
    - Dst: crypto::tink::CreateEciesAeadDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:392,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:394,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:402,1
    - Dst: AesCtrKeyFormat*::set_key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:403,1
    - Dst: AesCtrKeyFormat*::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:404,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:405,1
    - Dst: HmacKeyFormat*::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:406,1
    - Dst: HmacKeyFormat*::set_key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:407,1
    - Dst: HmacKeyFormat*::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:408,1
    - Dst: HmacParams*::set_tag_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:409,1
    - Dst: HmacParams*::set_hash
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:410,1
    - Dst: crypto::tink::CreateEciesAeadDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:411,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:413,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - dem_id
    argTypes:
    - EciesParameters::DemId
    constantsTouched: []
    func_position:
      end: 417
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 417
    functionName: crypto::tink::ToProtoDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat*::set_version
    - AesGcmKeyFormat::SerializeAsString
    - XChaCha20Poly1305KeyFormat::SerializeAsString
    - HmacParams*::set_hash
    - AesCtrKeyFormat*::mutable_params
    - HmacParams*::set_tag_size
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::set_version
    - crypto::tink::CreateEciesAeadDemParams
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - HmacKeyFormat*::set_key_size
    - AesCtrHmacAeadKeyFormat::SerializeAsString
    - HmacKeyFormat*::mutable_params
    - XChaCha20Poly1305KeyFormat::set_version
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - crypto::tink::internal::ExtractStatus
    - AesSivKeyFormat::set_key_size
    - AesSivKeyFormat::set_version
    - AesCtrKeyFormat*::set_key_size
    - AesSivKeyFormat::SerializeAsString
    linkageType: ''
    returnType: util::StatusOr<EciesAeadDemParams>
    signature: "util::StatusOr<EciesAeadDemParams> ToProtoDemParams(\n    EciesParameters::DemId
      dem_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesAeadHkdfParams::has_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:421,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:422,1
    - Dst: EciesAeadHkdfParams::has_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:425,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:426,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:431,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:432,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:433,1
    - Dst: crypto::tink::FromProtoCurveType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:437,1
    - Dst: EciesAeadHkdfParams::kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:437,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:438,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:439,1
    - Dst: crypto::tink::FromProtoHashType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:443,1
    - Dst: EciesAeadHkdfParams::kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:443,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:444,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:445,1
    - Dst: crypto::tink::FromProtoDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:449,1
    - Dst: EciesAeadHkdfParams::dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:449,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:450,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:451,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:454,1
    - Dst: crypto::tink::IsNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:460,1
    - Dst: crypto::tink::FromProtoPointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:462,1
    - Dst: EciesAeadHkdfParams::ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:462,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:463,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:464,1
    - Dst: EciesParameters::Builder::SetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:466,1
    - Dst: EciesAeadHkdfParams::kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:469,1
    - Dst: EciesParameters::Builder::SetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:470,1
    - Dst: EciesAeadHkdfParams::kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:470,1
    - Dst: EciesParameters::Builder::Build
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - output_prefix_type
    - params
    argTypes:
    - OutputPrefixType
    - EciesAeadHkdfParams
    constantsTouched: []
    func_position:
      end: 474
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 474
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfParams::ec_point_format
    - EciesParameters::Builder::SetNistCurvePointFormat
    - crypto::tink::FromProtoDemParams
    - EciesParameters::Builder::Build
    - crypto::tink::FromProtoHashType
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::FromProtoPointFormat
    - EciesAeadHkdfParams::dem_params
    - crypto::tink::FromProtoCurveType
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - EciesAeadHkdfParams::kem_params
    - crypto::tink::ToVariant
    - crypto::tink::IsNistCurve
    - EciesAeadHkdfParams::has_kem_params
    - EciesParameters::Builder::SetSalt
    - EciesAeadHkdfParams::has_dem_params
    linkageType: ''
    returnType: util::StatusOr<EciesParameters>
    signature: "util::StatusOr<EciesParameters> ToParameters(\n    OutputPrefixType
      output_prefix_type, EciesAeadHkdfParams params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToProtoCurveType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:479,1
    - Dst: GetCurveType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:479,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:480,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:481,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:485,1
    - Dst: GetHashType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:485,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:486,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:487,1
    - Dst: crypto::tink::ToProtoDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:491,1
    - Dst: GetDemId
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:491,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:492,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:493,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:497,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:498,1
    - Dst: EciesHkdfKemParams*::set_curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:499,1
    - Dst: EciesHkdfKemParams*::set_hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:500,1
    - Dst: GetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:501,1
    - Dst: EciesHkdfKemParams*::set_hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:502,1
    - Dst: GetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:502,1
    - Dst: GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:504,1
    - Dst: crypto::tink::ToProtoPointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:506,1
    - Dst: GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:506,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:507,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:508,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:510,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - EciesParameters
    constantsTouched: []
    func_position:
      end: 517
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 517
    functionName: crypto::tink::FromParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesHkdfKemParams*::set_hkdf_hash_type
    - crypto::tink::ToProtoCurveType
    - util::StatusOr::status
    - GetCurveType
    - EciesHkdfKemParams*::set_curve_type
    - crypto::tink::ToProtoHashType
    - EciesAeadHkdfParams::mutable_kem_params
    - GetNistCurvePointFormat
    - crypto::tink::ToProtoPointFormat
    - EciesAeadHkdfParams::set_ec_point_format
    - util::StatusOr::ok
    - EciesAeadHkdfParams::mutable_dem_params
    - GetHashType
    - GetSalt
    - GetDemId
    - crypto::tink::ToProtoDemParams
    - EciesHkdfKemParams*::set_hkdf_salt
    linkageType: ''
    returnType: util::StatusOr<EciesAeadHkdfParams>
    signature: "util::StatusOr<EciesAeadHkdfParams> FromParameters(\n    const EciesParameters&
      parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:522,1
    - Dst: GetCurveType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:522,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:523,1
    - Dst: x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:523,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:523,1
    - Dst: y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:523,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:524,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:525,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:527,1
    - Dst: x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:528,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' parameters'
    - ' proto_key'
    - id_requirement
    argTypes:
    - EciesParameters
    - EciesAeadHkdfPublicKey
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: crypto::tink::ToPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - BigInteger
    - crypto::tink::GetPartialKeyAccess
    - x
    - GetCurveType
    - y
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - crypto::tink::IsNistCurve
    linkageType: ''
    returnType: util::StatusOr<EciesPublicKey>
    signature: "util::StatusOr<EciesPublicKey> ToPublicKey(\n    const EciesParameters&
      parameters, const EciesAeadHkdfPublicKey& proto_key,\n    absl::optional<int>
      id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - curve
    argTypes:
    - EciesParameters::CurveType
    constantsTouched: []
    func_position:
      end: 545
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: crypto::tink::GetEncodingLength
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> GetEncodingLength(EciesParameters::CurveType curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:550,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:551,1
    - Dst: GetNistCurvePoint
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:552,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:552,1
    - Dst: GetNistCurvePoint
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:553,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:553,1
    - Dst: crypto::tink::GetEncodingLength
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:555,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:555,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:556,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:557,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:559,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:560,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:561,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:562,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:564,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:565,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:566,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:567,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:569,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:570,1
    - Dst: GetX25519CurvePointBytes
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:572,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:572,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:574,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:577,1
    - Dst: GetX25519CurvePointBytes
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:578,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:578,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' params'
    - ' public_key'
    argTypes:
    - EciesAeadHkdfParams
    - EciesPublicKey
    constantsTouched: []
    func_position:
      end: 582
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 582
    functionName: crypto::tink::FromPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EciesAeadHkdfPublicKey::set_version
    - GetNistCurvePoint
    - GetParameters
    - util::StatusOr::status
    - EciesAeadHkdfPublicKey::mutable_params
    - crypto::tink::internal::GetValueOfFixedLength
    - EcPoint::GetX
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::set_y
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - crypto::tink::GetEncodingLength
    - GetX25519CurvePointBytes
    - EcPoint::GetY
    linkageType: ''
    returnType: util::StatusOr<EciesAeadHkdfPublicKey>
    signature: "util::StatusOr<EciesAeadHkdfPublicKey> FromPublicKey(\n    const EciesAeadHkdfParams&
      params, const EciesPublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:586,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:587,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:592,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:593,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:594,1
    - Dst: EciesAeadHkdfKeyFormat::has_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:597,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:598,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:603,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:603,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 605
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 605
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfKeyFormat::has_params
    - crypto::tink::internal::ExtractStatus
    - EciesAeadHkdfKeyFormat::ParseFromString
    - crypto::tink::ToParameters
    - GetKeyTemplate
    - EciesAeadHkdfKeyFormat::params
    linkageType: ''
    returnType: util::StatusOr<EciesParameters>
    signature: "util::StatusOr<EciesParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:610,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:611,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:616,1
    - Dst: EciesAeadHkdfPublicKey::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:617,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:618,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:618,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:619,1
    - Dst: EciesAeadHkdfPublicKey::version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:622,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:623,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:629,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:629,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:629,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:630,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:631,1
    - Dst: crypto::tink::ToPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:634,1
    - Dst: IdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 635
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 635
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - TypeUrl
    - util::StatusOr::status
    - GetSecret
    - EciesAeadHkdfPublicKey::params
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToPublicKey
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::ToParameters
    - EciesAeadHkdfPublicKey::version
    - util::StatusOr::ok
    - GetOutputPrefixType
    - SerializedKeyProto
    - EciesAeadHkdfPublicKey::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<EciesPublicKey>
    signature: "util::StatusOr<EciesPublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:640,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:641,1
    - Dst: TypeUrl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:644,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:645,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:649,1
    - Dst: EciesAeadHkdfPrivateKey::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:650,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:650,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:651,1
    - Dst: EciesAeadHkdfPrivateKey::version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:654,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:655,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:661,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:661,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:662,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:663,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:666,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:667,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:667,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:668,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:669,1
    - Dst: crypto::tink::ToPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:672,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:673,1
    - Dst: IdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:673,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:674,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:675,1
    - Dst: crypto::tink::IsNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:678,1
    - Dst: util::StatusOr::GetCurveType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:678,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:679,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:680,1
    - Dst: EciesAeadHkdfPrivateKey::key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:680,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:681,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:684,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:685,1
    - Dst: EciesAeadHkdfPrivateKey::key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:685,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 687
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 687
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ToParameters
    - util::StatusOr::GetCurveType
    - IdRequirement
    - crypto::tink::ToPublicKey
    - util::StatusOr::ok
    - GetOutputPrefixType
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - EciesAeadHkdfPrivateKey::public_key
    - GetSecret
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - EciesAeadHkdfPrivateKey::key_value
    - EciesAeadHkdfPrivateKey::version
    - crypto::tink::IsNistCurve
    - EciesAeadHkdfPrivateKey::ParseFromString
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::EciesPrivateKey::CreateForNistCurve
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - RestrictedBigInteger
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<EciesPrivateKey>
    signature: "util::StatusOr<EciesPrivateKey> ParsePrivateKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:692,1
    - Dst: GetVariant
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:692,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:693,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:694,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:697,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:698,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:699,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:702,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:704,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:706,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - EciesParameters
    constantsTouched: []
    func_position:
      end: 707
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 707
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - EciesAeadHkdfKeyFormat::mutable_params
    - GetVariant
    - util::StatusOr::ok
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const EciesParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:712,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:712,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:713,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:714,1
    - Dst: crypto::tink::FromPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:718,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:719,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:720,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:724,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:724,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:725,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:726,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:729,1
    - Dst: util::StatusOr::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:730,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:730,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:731,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - EciesPublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 734
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 734
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::SerializeAsString
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::ok
    - GetIdRequirement
    - crypto::tink::FromPublicKey
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const EciesPublicKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:738,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:739,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:744,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:744,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:745,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:746,1
    - Dst: crypto::tink::FromPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:750,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:750,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:751,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:752,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:756,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:757,1
    - Dst: crypto::tink::IsNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:758,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:758,1
    - Dst: crypto::tink::GetEncodingLength
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:760,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:760,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:761,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:762,1
    - Dst: GetNistPrivateKeyValue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:765,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:765,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:766,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:767,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:771,1
    - Dst: absl::optional::GetSecret
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:772,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:772,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:773,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:774,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:776,1
    - Dst: GetX25519PrivateKeyBytes
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:779,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:779,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:780,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:781,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:785,1
    - Dst: absl::optional::GetSecret
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:786,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:786,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:790,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:790,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:791,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:792,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:796,1
    - Dst: EciesAeadHkdfPrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:796,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:797,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:799,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - EciesPrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 800
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 800
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::InsecureSecretKeyAccess::Get
    - GetPublicKey
    - crypto::tink::internal::GetValueOfFixedLength
    - util::StatusOr::ok
    - EciesAeadHkdfPrivateKey::set_version
    - GetIdRequirement
    - EciesAeadHkdfPrivateKey::SerializeAsString
    - EciesAeadHkdfPrivateKey::set_key_value
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - GetNistPrivateKeyValue
    - crypto::tink::IsNistCurve
    - absl::optional::has_value
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - crypto::tink::internal::ExtractStatus
    - GetX25519PrivateKeyBytes
    - absl::optional::GetSecret
    - crypto::tink::GetEncodingLength
    - crypto::tink::FromPublicKey
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const EciesPrivateKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesProtoParametersParserImpl::EciesProtoParametersParserImpl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: crypto::tink::EciesProtoParametersParser
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesProtoParametersParserImpl::EciesProtoParametersParserImpl
    linkageType: ''
    returnType: EciesProtoParametersParserImpl
    signature: EciesProtoParametersParserImpl * EciesProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesProtoParametersSerializerImpl::EciesProtoParametersSerializerImpl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: crypto::tink::EciesProtoParametersSerializer
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesProtoParametersSerializerImpl::EciesProtoParametersSerializerImpl
    linkageType: ''
    returnType: EciesProtoParametersSerializerImpl
    signature: EciesProtoParametersSerializerImpl * EciesProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesProtoPublicKeyParserImpl::EciesProtoPublicKeyParserImpl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    functionName: crypto::tink::EciesProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesProtoPublicKeyParserImpl::EciesProtoPublicKeyParserImpl
    linkageType: ''
    returnType: EciesProtoPublicKeyParserImpl
    signature: EciesProtoPublicKeyParserImpl * EciesProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesProtoPublicKeySerializerImpl::EciesProtoPublicKeySerializerImpl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 824
    functionName: crypto::tink::EciesProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesProtoPublicKeySerializerImpl::EciesProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: EciesProtoPublicKeySerializerImpl
    signature: EciesProtoPublicKeySerializerImpl * EciesProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesProtoPrivateKeyParserImpl::EciesProtoPrivateKeyParserImpl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: crypto::tink::EciesProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesProtoPrivateKeyParserImpl::EciesProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: EciesProtoPrivateKeyParserImpl
    signature: EciesProtoPrivateKeyParserImpl * EciesProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesProtoPrivateKeySerializerImpl::EciesProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 836
    functionName: crypto::tink::EciesProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EciesProtoPrivateKeySerializerImpl::EciesProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: EciesProtoPrivateKeySerializerImpl
    signature: EciesProtoPrivateKeySerializerImpl * EciesProtoPrivateKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:842,1
    - Dst: crypto::tink::EciesProtoParametersParser
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:843,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:844,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:848,1
    - Dst: crypto::tink::EciesProtoParametersSerializer
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:849,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:850,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:854,1
    - Dst: crypto::tink::EciesProtoPublicKeyParser
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:855,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:856,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:860,1
    - Dst: crypto::tink::EciesProtoPublicKeySerializer
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:861,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:862,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:866,1
    - Dst: crypto::tink::EciesProtoPrivateKeyParser
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:867,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:868,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:872,1
    - Dst: crypto::tink::EciesProtoPrivateKeySerializer
      Src: /src/tink/cc/hybrid/ecies_proto_serialization.cc:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 874
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 874
    functionName: crypto::tink::RegisterEciesProtoSerialization
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesProtoPublicKeyParser
    - util::Status::ok
    - crypto::tink::EciesProtoParametersSerializer
    - crypto::tink::EciesProtoPublicKeySerializer
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::EciesProtoPrivateKeyParser
    - crypto::tink::EciesProtoPrivateKeySerializer
    - crypto::tink::EciesProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterEciesProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:44,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:44,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:45,1
    - Dst: key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:46,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:51,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:52,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:55,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:60,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EciesAeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc
    functionUses: 2
    functionsReached:
    - public_key
    - crypto::tink::internal::ExtractStatus
    - key_value
    - has_public_key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(const EciesAeadHkdfPrivateKey& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:71,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:72,1
    - Dst: crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:74,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:75,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:76,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:77,1
    - Dst: key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:78,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:80,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:81,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:82,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:82,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:84,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:86,1
    - Dst: EciesAeadHkdfHybridDecrypt::EciesAeadHkdfHybridDecrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' recipient_key'
    argTypes:
    - EciesAeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: crypto::tink::EciesAeadHkdfHybridDecrypt::New
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
    - auto::status
    - crypto::tink::EciesAeadHkdfDemHelper::New
    - public_key
    - util::Status::ok
    - auto::ok
    - key_value
    - std::move
    - absl::WrapUnique
    - crypto::tink::util::SecretDataFromStringView
    - Validate
    - EciesAeadHkdfHybridDecrypt::EciesAeadHkdfHybridDecrypt
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridDecrypt>> EciesAeadHkdfHybridDecrypt::New(\n
      \   const EciesAeadHkdfPrivateKey& recipient_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:92,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:93,1
    - Dst: kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:94,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:95,1
    - Dst: ec_point_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:95,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:96,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:99,1
    - Dst: GenerateKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:104,1
    - Dst: absl::string_view
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:105,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:106,1
    - Dst: kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:107,1
    - Dst: kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:108,1
    - Dst: dem_key_size_in_bytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:109,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:110,1
    - Dst: ec_point_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:111,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:111,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:112,1
    - Dst: GetAeadOrDaead
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:115,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:116,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:117,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:117,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:121,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:121,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:122,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - ciphertext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 125
    functionName: crypto::tink::EciesAeadHkdfHybridDecrypt::Decrypt
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - auto::status
    - absl::string_view::size
    - auto::ok
    - dem_key_size_in_bytes
    - crypto::tink::internal::ExtractStatus
    - GenerateKey
    - std::move
    - GetAeadOrDaead
    - auto::Decrypt
    - kem_params
    - auto::value
    - ec_point_format
    - absl::string_view::substr
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EciesAeadHkdfHybridDecrypt::Decrypt(\n
      \   absl::string_view ciphertext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/hybrid/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/hybrid/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddHybridKeyGenV0
      Src: /src/tink/cc/hybrid/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigHybridV0
    functionSourceFile: /src/tink/cc/hybrid/key_gen_config_v0.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - crypto::tink::internal::AddHybridKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigHybridV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:87,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:95,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:98,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:101,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:102,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:104,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:107,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:111,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:112,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:112,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:113,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:113,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:114,1
    - Dst: util::StatusOr::GetPublicKeyBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:114,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:114,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::HpkePublicKey::Create
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - EXPECT_THAT
    - util::StatusOr::GetPublicKeyBytes
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePublicKeyTest, CreateNistCurvePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:126,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:128,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:130,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:135,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:136,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:136,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:137,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:137,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:138,1
    - Dst: util::StatusOr::GetPublicKeyBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:138,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 140
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - util::StatusOr::GetIdRequirement
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetPublicKeyBytes
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, CreateX25519PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:143,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:151,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:154,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:157,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:158,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:160,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:162,1
    - Dst: util::StatusOr::substr
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:163,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:163,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:165,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::HpkePublicKey::Create
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - util::StatusOr::size
    - util::StatusOr::substr
    - EXPECT_THAT
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePublicKeyTest, CreateNistCurvePublicKeyWithInvalidLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:177,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:179,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:181,1
    - Dst: std::string::substr
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:182,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:182,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:184,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - util::StatusOr::status
    - IsOk
    - std::string::substr
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, CreateX25519PublicKeyWithInvalidLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:191,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:200,1
    - Dst: testing::Lt
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:200,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:200,1
    - Dst: std::string::substr
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:203,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:205,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:205,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:214,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:216,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:219,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:219,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 220
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - testing::Lt
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - util::StatusOr::status
    - IsOk
    - std::string::substr
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - std::string::size
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, CreateNistCurvePublicKeyWithInvalidPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:230,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:239,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:243,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:244,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:245,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:247,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:249,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:249,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:251,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, CreatePublicKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:257,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:265,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:268,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:271,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:272,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:274,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:277,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:279,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:282,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:284,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:286,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:287,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 290
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::HpkePublicKey::Create
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePublicKeyTest, NistCurvePublicKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:300,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:302,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:304,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:307,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:309,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:312,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:314,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 318
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, X25519PublicKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:322,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:328,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:331,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:337,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:339,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:341,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:344,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:346,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:352,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:353,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 355
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:359,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:365,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:367,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:368,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:370,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:372,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:373,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:375,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:378,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:378,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:380,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:381,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:382,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 384
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, DifferentPublicKeyBytesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:394,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:394,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:396,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:398,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:401,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:403,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:405,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:406,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:408,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:409,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:410,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_public_key_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 412
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:93,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:101,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:104,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:107,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:108,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:110,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:113,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:115,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:118,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:118,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:119,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:121,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:125,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:125,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:126,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:127,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:128,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:128,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:129,1
    - Dst: util::StatusOr::GetPrivateKeyBytes
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:129,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::EcPointEncode
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - IsOk
    - util::StatusOr::GetPrivateKeyBytes
    - EXPECT_THAT
    - GetParam
    - crypto::tink::internal::NewEcKey
    - crypto::tink::HpkePublicKey::Create
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::HpkePrivateKey::Create
    - Eq
    - util::StatusOr::GetOutputPrefix
    - util::StatusOr::get
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePrivateKeyTest, CreateNistCurvePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:141,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:145,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:148,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:148,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:149,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:150,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:151,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:151,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:152,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:153,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:155,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:158,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:160,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:164,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:164,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:165,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:165,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:166,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:166,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:167,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:167,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:168,1
    - Dst: util::StatusOr::GetPrivateKeyBytes
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:168,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewX25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - std::string
    - IsOk
    - util::StatusOr::GetPrivateKeyBytes
    - reinterpret_cast<const char*>
    - EXPECT_THAT
    - crypto::tink::HpkePublicKey::Create
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::HpkePrivateKey::Create
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::StatusOr::GetIdRequirement
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyTest, CreateX25519PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:173,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:181,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:184,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:187,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:188,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:190,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:193,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:195,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:198,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:201,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:201,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:202,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:204,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:204,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:205,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 208
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::HpkePublicKey::Create
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - EXPECT_THAT
    - crypto::tink::HpkePrivateKey::Create
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePrivateKeyTest, CreateMismatchedNistCurveKeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:218,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:220,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:221,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:224,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:226,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:227,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:229,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:229,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:230,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 233
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::HpkePrivateKey::Create
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyTest, CreateMismatchedX25519KeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:236,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:244,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:247,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:250,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:251,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:252,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:253,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:256,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:258,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:261,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:262,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:263,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:263,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:266,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:266,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:267,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 270
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::HpkePublicKey::Create
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::HpkePrivateKey::Create
    - StatusIs
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePrivateKeyTest, CreateNistPrivateKeyWithInvalidKeyLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:280,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:284,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:287,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:287,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:288,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:290,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:290,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:291,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:292,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:293,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:293,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:294,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:296,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:299,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:301,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:301,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:302,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 305
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::HpkePrivateKey::Create
    - StatusIs
    - absl::HexStringToBytes
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyTest, CreateX25519PrivateKeyWithInvalidKeyLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:308,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:316,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:319,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:322,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:323,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:325,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:328,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:328,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:329,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:332,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:333,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:334,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:334,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:336,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:338,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:340,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:342,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:344,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:345,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:346,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 348
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::HpkePublicKey::Create
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::internal::EcPointEncode
    - crypto::tink::HpkePrivateKey::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkePrivateKeyTest, NistCurvePrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:352,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:358,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:358,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:362,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:365,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:365,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:366,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:367,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:368,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:368,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:369,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:370,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:372,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:374,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:375,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:375,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:377,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:378,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:379,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:381,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:382,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:383,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:385,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:386,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:387,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 389
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - crypto::tink::HpkePrivateKey::Create
    - EXPECT_FALSE
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyTest, X25519PrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:399,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:403,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:406,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:406,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:407,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:408,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:409,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:409,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:410,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:411,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:414,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:415,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:416,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:419,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:420,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:421,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:421,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:423,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:424,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:425,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:425,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:427,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:428,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:429,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:429,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:431,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:432,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:433,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 435
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - crypto::tink::HpkePrivateKey::Create
    - EXPECT_FALSE
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:439,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:445,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:445,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:448,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:449,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:449,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:452,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:452,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:453,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:454,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:455,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:455,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:456,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:457,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:460,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:461,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:462,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:462,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:464,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:465,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:466,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:466,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:468,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:469,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:470,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_private_key_test.cc:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 472
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::HpkePublicKey::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - crypto::tink::HpkePrivateKey::Create
    - EXPECT_FALSE
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyTest, DifferentKeyTypesNotEqual)
  - 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: crypto::tink::HybridEncryptSetWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: crypto::tink::HybridEncryptSetWrapperTest::TearDown
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridEncryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:75,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:76,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:77,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:78,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:79,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:79,1
    - Dst: PrimitiveSet<HybridEncrypt>::PrimitiveSet<HybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:84,1
    - Dst: HybridEncryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:86,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:87,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:88,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:89,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:91,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:99,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:100,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:101,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:102,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:105,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:106,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:107,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:108,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:111,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:112,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:113,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:114,1
    - Dst: PrimitiveSet<HybridEncrypt>::PrimitiveSet<HybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:120,1
    - Dst: DummyHybridEncrypt::DummyHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:122,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:123,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:124,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:125,1
    - Dst: std::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:126,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:127,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:129,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:129,1
    - Dst: std::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:130,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:131,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:131,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:132,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:133,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:135,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:135,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:135,1
    - Dst: HybridEncryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:138,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:140,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:141,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:141,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:146,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:146,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:147,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - HybridEncryptWrapper
    - EXPECT_FALSE
    - auto::status
    - std::string
    - std::unique_ptr::Encrypt
    - IsOk
    - KeysetInfo::KeyInfo*::set_status
    - std::make_unique<DummyHybridEncrypt>
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::unique_ptr::AddPrimitive
    - PrimitiveSet<HybridEncrypt>::PrimitiveSet<HybridEncrypt>
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    - KeysetInfo::KeyInfo*::set_key_id
    - auto::value
    - DummyHybridEncrypt::DummyHybridEncrypt
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridEncryptSetWrapperTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:157,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:158,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 1
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo PopulateKeyInfo(uint32_t key_id,\n                                    OutputPrefixType
      out_prefix_type,\n                                    KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:166,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:167,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:169,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:170,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:172,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:184,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:188,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:190,1
    - Dst: auto::get
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:191,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:195,1
    - Dst: New
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:195,1
    - Dst: Return
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:197,1
    - Dst: ByMove
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:197,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:200,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:200,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:204,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:205,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:206,1
    - Dst: IsNull
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: crypto::tink::HybridEncryptSetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<NiceMock<MockMonitoringClient>>
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc: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: ~HybridEncryptSetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~HybridEncryptSetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:219,1
    - Dst: absl::make_unique<PrimitiveSet<HybridEncrypt>>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:224,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:225,1
    - Dst: absl::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:226,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:229,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:230,1
    - Dst: absl::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:231,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:233,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:236,1
    - Dst: absl::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:237,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:240,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:240,1
    - Dst: HybridEncryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:246,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:247,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:247,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:247,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:253,1
    - Dst: Log
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:254,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:254,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 258
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - absl::make_unique<PrimitiveSet<HybridEncrypt>>
    - ASSERT_THAT
    - auto::set_primary
    - crypto::tink::Encrypt
    - IsOkAndHolds
    - Log
    - NotNull
    - EXPECT_THAT
    - absl::make_unique<DummyHybridEncrypt>
    - HybridEncryptWrapper
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridEncryptSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringEncryptSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:263,1
    - Dst: absl::make_unique<PrimitiveSet<HybridEncrypt>>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:268,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:268,1
    - Dst: crypto::tink::CreateAlwaysFailingHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:269,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:273,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:273,1
    - Dst: crypto::tink::CreateAlwaysFailingHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:274,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:277,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:280,1
    - Dst: crypto::tink::CreateAlwaysFailingHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:281,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:282,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:282,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:283,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:283,1
    - Dst: HybridEncryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:288,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:295,1
    - Dst: LogFailure
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:295,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:298,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:298,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 300
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingHybridEncrypt
    - LogFailure
    - util::StatusOr::status
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - absl::make_unique<PrimitiveSet<HybridEncrypt>>
    - ASSERT_THAT
    - auto::set_primary
    - crypto::tink::Encrypt
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - StatusIs
    - HybridEncryptWrapper
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridEncryptSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringEncryptFailures)"
  - 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: ~EciesAeadHkdfDemHelper()
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EciesAeadHkdfDemHelper()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dem_key_size_in_bytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' key_template'
    - key_params
    argTypes:
    - google::crypto::tink::KeyTemplate
    - DemKeyParams
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: crypto::tink::EciesAeadHkdfDemHelper::EciesAeadHkdfDemHelper
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EciesAeadHkdfDemHelper(const google::crypto::tink::KeyTemplate&
      key_template,\n                         DemKeyParams key_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:52,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:52,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:53,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:55,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:56,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:61,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:62,1
    - Dst: EciesAeadHkdfPublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:62,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPublicKey
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:68,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:69,1
    - Dst: auto::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:70,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:70,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:71,1
    - Dst: auto::set_curve_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:72,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:73,1
    - Dst: auto::set_hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:74,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:75,1
    - Dst: auto::GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:76,1
    - Dst: auto::CreateKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: crypto::tink::CreatePublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - auto::GetPublicKey
    - auto::set_hkdf_salt
    - EciesAeadHkdfKeyFormat::mutable_params
    - AeadKeyTemplates::Aes128Gcm
    - EciesAeadHkdfPrivateKeyManager
    - auto::set_curve_type
    - auto::set_hkdf_hash_type
    - auto::CreateKey
    - auto::mutable_aead_dem
    linkageType: ''
    returnType: EciesAeadHkdfPublicKey
    signature: EciesAeadHkdfPublicKey CreatePublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:82,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:82,1
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - crypto::tink::CreatePublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:88,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:90,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - EciesAeadHkdfParams::set_ec_point_format
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateKeyNoPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:95,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:97,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:97,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateKeyNoDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:102,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:104,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateKeyNoKemCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:109,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:111,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:111,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateKeyNoKemHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:116,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:116,1
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - crypto::tink::CreatePublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPublicKeyManagerTest, ValidateGeneratedKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/hybrid_private_key.h: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: crypto::tink::HybridPrivateKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/hybrid/hybrid_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/hybrid_private_key.h: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: crypto::tink::HybridPrivateKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/hybrid/hybrid_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/hybrid_private_key.h: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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: HybridParameters
    signature: HybridParameters & GetParameters() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:51,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:52,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:54,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - EciesAeadHkdfKeyFormat
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    - EciesAeadHkdfPublicKeyManager
    - has_params
    - params
    linkageType: ''
    returnType: Status
    signature: "Status EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat(\n    const
      EciesAeadHkdfKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:60,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:62,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:62,1
    - Dst: curve_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:62,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:63,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:64,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:69,1
    - Dst: crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:69,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:70,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:71,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:71,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:72,1
    - Dst: auto::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:73,1
    - Dst: crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:73,1
    - Dst: auto::set_x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:74,1
    - Dst: auto::set_y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:75,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:76,1
    - Dst: params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' ecies_key_format'
    argTypes:
    - EciesAeadHkdfKeyFormat
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - curve_type
    - auto::set_x
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - std::string
    - util::StatusOr::status
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKey::set_key_value
    - params
    - util::StatusOr::ok
    - EciesAeadHkdfPrivateKey::set_version
    - auto::mutable_params
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
    - auto::set_y
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<EciesAeadHkdfPrivateKey>
    signature: "StatusOr<EciesAeadHkdfPrivateKey> EciesAeadHkdfPrivateKeyManager::CreateKey(\n
      \   const EciesAeadHkdfKeyFormat& ecies_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - EciesAeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: StatusOr<EciesAeadHkdfPublicKey>
    signature: "StatusOr<EciesAeadHkdfPublicKey> EciesAeadHkdfPrivateKeyManager::GetPublicKey(\n
      \   const EciesAeadHkdfPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:88,1
    - Dst: version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:88,1
    - Dst: crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:88,1
    - Dst: Status::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:89,1
    - Dst: has_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:90,1
    - Dst: Status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:91,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:93,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EciesAeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - has_public_key
    - public_key
    - ValidateVersion
    - version
    - Status
    - EciesAeadHkdfPublicKeyManager
    - crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: "Status EciesAeadHkdfPrivateKeyManager::ValidateKey(\n    const EciesAeadHkdfPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:97,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:107,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:110,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:112,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:112,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:115,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:120,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:121,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:122,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:123,1
    - Dst: util::StatusOr::GetNistCurvePoint
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:123,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:123,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:125,1
    - Dst: util::StatusOr::GetX25519CurvePointBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:125,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:125,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - util::StatusOr::GetX25519CurvePointBytes
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetNistCurvePoint
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesPublicKeyTest, CreateNistCurvePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:137,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:139,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:142,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:147,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:147,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:148,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:148,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:149,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:149,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:150,1
    - Dst: util::StatusOr::GetNistCurvePoint
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:150,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:152,1
    - Dst: util::StatusOr::GetX25519CurvePointBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:152,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:152,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetX25519CurvePointBytes
    - util::StatusOr::GetIdRequirement
    - IsEmpty
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetNistCurvePoint
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, CreateX25519PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:158,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:164,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:166,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:169,1
    - Dst: std::string::substr
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:170,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:170,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:172,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:172,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - std::string::substr
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, CreateX25519PublicKeyWithInvalidLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:180,1
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:189,1
    - Dst: testing::Lt
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:189,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:189,1
    - Dst: std::string::substr
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:192,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:194,1
    - Dst: SizeIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:195,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:195,1
    - Dst: std::string::substr
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:197,1
    - Dst: std::string::substr
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:198,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:209,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:212,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:215,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:215,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 216
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - testing::Lt
    - SizeIs
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - std::string::substr
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - EXPECT_THAT
    - std::string::size
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, CreateNistCurvePublicKeyWithInvalidPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:227,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:236,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:240,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:240,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:242,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:246,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:246,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:248,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 251
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: "void TEST(EciesPublicKeyTest,\n     CreateX2559CurvePublicKeyWithInvalidIdRequirementFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:263,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:273,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:277,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:279,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:281,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:281,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:283,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:287,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:287,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:289,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 292
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST(EciesPublicKeyTest,\n     CreateNistCurvePublicKeyWithInvalidIdRequirementFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:295,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:305,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:308,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:310,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:310,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:313,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:316,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:319,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:322,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:324,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:325,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:326,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 328
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesPublicKeyTest, NistCurvePublicKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:338,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:340,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:343,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:345,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:346,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:346,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:349,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:351,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:352,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:354,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:355,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:356,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 358
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, X25519PublicKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:362,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:368,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:368,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:377,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:377,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:379,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:382,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:384,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:385,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:385,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:388,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:390,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:391,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:391,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:393,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:394,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 397
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, DifferentParametersNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:401,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:408,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:408,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:411,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:412,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:412,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:414,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:415,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:415,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:417,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:417,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:418,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:418,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:421,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:423,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:424,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:424,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:427,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:429,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:430,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:430,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:432,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:433,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:434,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 436
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, DifferentPublicPointsNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:440,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:446,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:446,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:448,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:449,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:452,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:454,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:455,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:455,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:458,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:460,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:461,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:463,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:464,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:465,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 467
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, DifferentPublicKeyBytesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:471,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:477,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:477,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:479,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:482,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:484,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:485,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:485,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:488,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:490,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:491,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:491,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:493,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:494,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:495,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_public_key_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 497
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::EciesAeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ecies_private_key'
    argTypes:
    - google::crypto::tink::EciesAeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::HybridDecryptFactory::Create
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesAeadHkdfHybridDecrypt::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<HybridDecrypt>> Create(\n
      \       const google::crypto::tink::EciesAeadHkdfPrivateKey& ecies_private_key)\n
      \       const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HybridDecryptFactory>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::EciesAeadHkdfPrivateKeyManager
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<HybridDecryptFactory>
    linkageType: ''
    returnType: void
    signature: void EciesAeadHkdfPrivateKeyManager()
  - 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: crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: crypto::tink::EciesAeadHkdfPrivateKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePublicKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: crypto::tink::HpkePublicKey::HpkePublicKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkePublicKey(const HpkePublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(const HpkePublicKey& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkePublicKey
    signature: HpkePublicKey & operator=(const HpkePublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePublicKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: crypto::tink::HpkePublicKey::HpkePublicKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkePublicKey(HpkePublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePublicKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(HpkePublicKey&& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkePublicKey
    signature: HpkePublicKey & operator=(HpkePublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: crypto::tink::HpkePublicKey::GetPublicKeyBytes
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetPublicKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::HpkePublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters
    signature: HpkeParameters & GetParameters() const override
  - 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: crypto::tink::HpkePublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - output_prefix
    argTypes:
    - HpkeParameters
    - absl::string_view
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: crypto::tink::HpkePublicKey::HpkePublicKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HpkePublicKey(const HpkeParameters& parameters,\n                         absl::string_view
      public_key_bytes,\n                         absl::optional<int> id_requirement,\n
      \                        absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters::Variant>
    signature: "util::StatusOr<HpkeParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - HpkeParameters::Variant
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 5
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    HpkeParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - kem
    argTypes:
    - HpkeKem
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: crypto::tink::ToKemId
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters::KemId>
    signature: util::StatusOr<HpkeParameters::KemId> ToKemId(HpkeKem kem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - kem_id
    argTypes:
    - HpkeParameters::KemId
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: crypto::tink::FromKemId
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeKem>
    signature: util::StatusOr<HpkeKem> FromKemId(HpkeParameters::KemId kem_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - HpkeKdf
    constantsTouched: []
    func_position:
      end: 153
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 153
    functionName: crypto::tink::ToKdfId
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters::KdfId>
    signature: util::StatusOr<HpkeParameters::KdfId> ToKdfId(HpkeKdf kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - kdf_id
    argTypes:
    - HpkeParameters::KdfId
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: crypto::tink::FromKdfId
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeKdf>
    signature: util::StatusOr<HpkeKdf> FromKdfId(HpkeParameters::KdfId kdf_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - aead
    argTypes:
    - HpkeAead
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: crypto::tink::ToAeadId
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters::AeadId>
    signature: util::StatusOr<HpkeParameters::AeadId> ToAeadId(HpkeAead aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - aead_id
    argTypes:
    - HpkeParameters::AeadId
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: crypto::tink::FromAeadId
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HpkeAead>
    signature: util::StatusOr<HpkeAead> FromAeadId(HpkeParameters::AeadId aead_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:200,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:201,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:202,1
    - Dst: crypto::tink::ToKemId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:205,1
    - Dst: HpkeParams::kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:205,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:206,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:207,1
    - Dst: crypto::tink::ToKdfId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:210,1
    - Dst: HpkeParams::kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:210,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:211,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:212,1
    - Dst: crypto::tink::ToAeadId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:215,1
    - Dst: HpkeParams::aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:215,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:217,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - output_prefix_type
    - params
    argTypes:
    - OutputPrefixType
    - HpkeParams
    constantsTouched: []
    func_position:
      end: 226
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 226
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::ToKdfId
    - util::StatusOr::status
    - HpkeParams::kem
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::ToKemId
    - HpkeParams::kdf
    - util::StatusOr::ok
    - crypto::tink::ToVariant
    - HpkeParams::aead
    - crypto::tink::ToAeadId
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters>
    signature: "util::StatusOr<HpkeParameters> ToParameters(OutputPrefixType output_prefix_type,\n
      \                                           HpkeParams params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::FromKemId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:229,1
    - Dst: HpkeParameters::GetKemId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:229,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:230,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:231,1
    - Dst: crypto::tink::FromKdfId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:234,1
    - Dst: HpkeParameters::GetKdfId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:234,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:235,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:236,1
    - Dst: crypto::tink::FromAeadId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:239,1
    - Dst: HpkeParameters::GetAeadId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:239,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:241,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:245,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:246,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - HpkeParameters
    constantsTouched: []
    func_position:
      end: 250
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 250
    functionName: crypto::tink::FromParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::FromAeadId
    - HpkeParams::set_kem
    - util::StatusOr::status
    - HpkeParameters::GetKemId
    - util::StatusOr::ok
    - HpkeParameters::GetAeadId
    - crypto::tink::FromKemId
    - crypto::tink::FromKdfId
    - HpkeParameters::GetKdfId
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    linkageType: ''
    returnType: util::StatusOr<HpkeParams>
    signature: util::StatusOr<HpkeParams> FromParameters(HpkeParameters parameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:254,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:255,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:260,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:261,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:262,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:265,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:266,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:270,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:270,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 272
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 272
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - crypto::tink::internal::ExtractStatus
    - HpkeKeyFormat::ParseFromString
    - crypto::tink::ToParameters
    - HpkeKeyFormat::params
    - GetKeyTemplate
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters>
    signature: "util::StatusOr<HpkeParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:277,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:278,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:283,1
    - Dst: google::crypto::tink::HpkePublicKey::ParseFromString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:284,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:285,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:285,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:286,1
    - Dst: google::crypto::tink::HpkePublicKey::version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:289,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:290,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:295,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:295,1
    - Dst: google::crypto::tink::HpkePublicKey::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:295,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:296,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:297,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:300,1
    - Dst: google::crypto::tink::HpkePublicKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:300,1
    - Dst: IdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:301,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 303
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 303
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - google::crypto::tink::HpkePublicKey::ParseFromString
    - util::StatusOr::status
    - GetSecret
    - google::crypto::tink::HpkePublicKey::params
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::ToParameters
    - google::crypto::tink::HpkePublicKey::version
    - util::StatusOr::ok
    - GetOutputPrefixType
    - google::crypto::tink::HpkePublicKey::public_key
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<HpkePublicKey>
    signature: "util::StatusOr<HpkePublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:308,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:309,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:312,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:313,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:317,1
    - Dst: google::crypto::tink::HpkePrivateKey::ParseFromString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:318,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:318,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:319,1
    - Dst: google::crypto::tink::HpkePrivateKey::version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:322,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:323,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:328,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:328,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:329,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:330,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:333,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:334,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:334,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:335,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:336,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:339,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:340,1
    - Dst: IdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:341,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:341,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:342,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:343,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:346,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:347,1
    - Dst: google::crypto::tink::HpkePrivateKey::private_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:347,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 349
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 349
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ToParameters
    - google::crypto::tink::HpkePrivateKey::public_key
    - IdRequirement
    - util::StatusOr::ok
    - GetOutputPrefixType
    - google::crypto::tink::HpkePrivateKey::ParseFromString
    - google::crypto::tink::HpkePrivateKey::private_key
    - crypto::tink::HpkePublicKey::Create
    - GetSecret
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - crypto::tink::HpkePrivateKey::Create
    - google::crypto::tink::HpkePrivateKey::version
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<HpkePrivateKey>
    signature: "util::StatusOr<HpkePrivateKey> ParsePrivateKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:354,1
    - Dst: GetVariant
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:354,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:355,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:356,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:359,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:360,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:361,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:364,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:366,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - HpkeParameters
    constantsTouched: []
    func_position:
      end: 369
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 369
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - HpkeKeyFormat::SerializeAsString
    - GetVariant
    - util::StatusOr::ok
    - HpkeKeyFormat::mutable_params
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const HpkeParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:373,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:373,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:374,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:375,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:379,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:380,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:382,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:383,1
    - Dst: GetPublicKeyBytes
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:383,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:383,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:386,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:386,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:387,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:388,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:391,1
    - Dst: google::crypto::tink::HpkePublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:392,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:392,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:393,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - HpkePublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::HpkePublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - GetParameters
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - std::string
    - google::crypto::tink::HpkePublicKey::set_version
    - crypto::tink::ToOutputPrefixType
    - RestrictedData
    - google::crypto::tink::HpkePublicKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::ok
    - GetIdRequirement
    - google::crypto::tink::HpkePublicKey::set_public_key
    - GetPublicKeyBytes
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const HpkePublicKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrivateKeyBytes
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:401,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:401,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:402,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:403,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:405,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:406,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:411,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:411,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:412,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:413,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:417,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:418,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:420,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:421,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:421,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:421,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:424,1
    - Dst: google::crypto::tink::HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:425,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_private_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:427,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:428,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:428,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:431,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:431,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:432,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:433,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:437,1
    - Dst: google::crypto::tink::HpkePrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:437,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:438,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - HpkePrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 441
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 441
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - google::crypto::tink::HpkePrivateKey::set_version
    - GetPublicKey
    - util::StatusOr::GetSecret
    - google::crypto::tink::HpkePrivateKey::set_private_key
    - std::string
    - google::crypto::tink::HpkePrivateKey::SerializeAsString
    - util::StatusOr::ok
    - GetIdRequirement
    - google::crypto::tink::HpkePrivateKey::mutable_public_key
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::HpkePublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::HpkePublicKey::set_version
    - GetPrivateKeyBytes
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const HpkePrivateKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeProtoParametersParserImpl::HpkeProtoParametersParserImpl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: crypto::tink::HpkeProtoParametersParser
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeProtoParametersParserImpl::HpkeProtoParametersParserImpl
    linkageType: ''
    returnType: HpkeProtoParametersParserImpl
    signature: HpkeProtoParametersParserImpl * HpkeProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeProtoParametersSerializerImpl::HpkeProtoParametersSerializerImpl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: crypto::tink::HpkeProtoParametersSerializer
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeProtoParametersSerializerImpl::HpkeProtoParametersSerializerImpl
    linkageType: ''
    returnType: HpkeProtoParametersSerializerImpl
    signature: HpkeProtoParametersSerializerImpl * HpkeProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeProtoPublicKeyParserImpl::HpkeProtoPublicKeyParserImpl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: crypto::tink::HpkeProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeProtoPublicKeyParserImpl::HpkeProtoPublicKeyParserImpl
    linkageType: ''
    returnType: HpkeProtoPublicKeyParserImpl
    signature: HpkeProtoPublicKeyParserImpl * HpkeProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeProtoPublicKeySerializerImpl::HpkeProtoPublicKeySerializerImpl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: crypto::tink::HpkeProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeProtoPublicKeySerializerImpl::HpkeProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: HpkeProtoPublicKeySerializerImpl
    signature: HpkeProtoPublicKeySerializerImpl * HpkeProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeProtoPrivateKeyParserImpl::HpkeProtoPrivateKeyParserImpl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: crypto::tink::HpkeProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeProtoPrivateKeyParserImpl::HpkeProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: HpkeProtoPrivateKeyParserImpl
    signature: HpkeProtoPrivateKeyParserImpl * HpkeProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeProtoPrivateKeySerializerImpl::HpkeProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: crypto::tink::HpkeProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HpkeProtoPrivateKeySerializerImpl::HpkeProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: HpkeProtoPrivateKeySerializerImpl
    signature: HpkeProtoPrivateKeySerializerImpl * HpkeProtoPrivateKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:483,1
    - Dst: crypto::tink::HpkeProtoParametersParser
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:484,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:485,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:489,1
    - Dst: crypto::tink::HpkeProtoParametersSerializer
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:490,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:491,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:495,1
    - Dst: crypto::tink::HpkeProtoPublicKeyParser
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:496,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:497,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:501,1
    - Dst: crypto::tink::HpkeProtoPublicKeySerializer
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:502,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:503,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:507,1
    - Dst: crypto::tink::HpkeProtoPrivateKeyParser
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:508,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:509,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:513,1
    - Dst: crypto::tink::HpkeProtoPrivateKeySerializer
      Src: /src/tink/cc/hybrid/hpke_proto_serialization.cc:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 515
    functionName: crypto::tink::RegisterHpkeProtoSerialization
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeProtoPrivateKeySerializer
    - util::Status::ok
    - crypto::tink::HpkeProtoPublicKeyParser
    - crypto::tink::HpkeProtoPublicKeySerializer
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::HpkeProtoParametersParser
    - crypto::tink::HpkeProtoParametersSerializer
    - crypto::tink::HpkeProtoPrivateKeyParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterHpkeProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingHybridEncrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:39,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:40,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingHybridEncrypt
    - EXPECT_THAT
    - std::unique_ptr::Encrypt
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailHybridEncrypt, EncryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingHybridEncrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:49,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:50,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:51,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingHybridEncrypt
    - std::unique_ptr::Encrypt
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailHybridEncrypt, EncryptFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingHybridDecrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:58,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:59,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - std::unique_ptr::Decrypt
    - EXPECT_THAT
    - crypto::tink::CreateAlwaysFailingHybridDecrypt
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailHybridDecrypt, DecryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingHybridDecrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:68,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:69,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:70,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/failing_hybrid_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingHybridDecrypt
    - std::unique_ptr::Decrypt
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailHybridDecrypt, DecryptFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:52,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:53,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:53,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:55,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:55,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:56,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:56,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:58,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' dem'
    - message
    - associated_data
    argTypes:
    - AeadOrDaead
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: crypto::tink::EncryptThenDecrypt
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::Decrypt
    - StatusOr::value
    - crypto::tink::internal::ExtractStatus
    - StatusOr::status
    - crypto::tink::Encrypt
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status EncryptThenDecrypt(\n    const AeadOrDaead&
      dem, absl::string_view message,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:66,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:68,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:68,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:69,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:70,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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesAeadHkdfDemHelper::New
    - google::crypto::tink::KeyTemplate::set_type_url
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfDemHelperTest, InvalidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:75,1
    - Dst: AesGcmKeyManager::AesGcmKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:76,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:77,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:80,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:81,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:81,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:85,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:85,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:87,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:88,1
    - Dst: auto::GetAeadOrDaead
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:93,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:94,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesAeadHkdfDemHelper::New
    - crypto::tink::EncryptThenDecrypt
    - std::unique_ptr::get_key_type
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - google::crypto::tink::KeyTemplate::set_value
    - AesGcmKeyManager::AesGcmKeyManager
    - IsOk
    - std::move
    - crypto::tink::test::HexDecodeOrDie
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - StatusOr::value
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - auto::GetAeadOrDaead
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfDemHelperTest, DemHelperWithSomeAeadKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:100,1
    - Dst: AesSivKeyManager::AesSivKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:101,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:102,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:105,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:106,1
    - Dst: google::crypto::tink::AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:106,1
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:110,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:110,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:112,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:112,1
    - Dst: auto::GetAeadOrDaead
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:117,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:119,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:120,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesSivKeyFormat::set_key_size
    - crypto::tink::EciesAeadHkdfDemHelper::New
    - crypto::tink::EncryptThenDecrypt
    - AesSivKeyManager::AesSivKeyManager
    - std::unique_ptr::get_key_type
    - google::crypto::tink::AesSivKeyFormat::SerializeAsString
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - std::move
    - crypto::tink::test::HexDecodeOrDie
    - StatusOr::value
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - auto::GetAeadOrDaead
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfDemHelperTest, DemHelperWithSomeDeterministicAeadKeyType)
  - 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: crypto::tink::EciesAeadHkdfHybridDecryptTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto::tink::EciesAeadHkdfHybridDecryptTest::TearDown
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: crypto::tink::EciesAeadHkdfHybridDecryptTest::GetCommonHybridKeyParamsList
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CommonHybridKeyParams>
    signature: std::vector<CommonHybridKeyParams> GetCommonHybridKeyParamsList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAesSivHkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:98,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:100,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - private_key_hex_string
    - ' key_params'
    argTypes:
    - absl::string_view
    - CommonHybridKeyParams
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: crypto::tink::EciesAeadHkdfHybridDecryptTest::GetEciesPrivateKeyFromHexString
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::GetEciesAesSivHkdfTestKey
    - crypto::tink::test::HexDecodeOrDie
    - auto::set_key_value
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: "EciesAeadHkdfPrivateKey GetEciesPrivateKeyFromHexString(\n      absl::string_view
      private_key_hex_string,\n      CommonHybridKeyParams& key_params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:106,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:106,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:109,1
    - Dst: crypto::tink::EciesAeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:110,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:110,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:115,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:117,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:121,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:121,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:126,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:128,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:129,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:129,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:130,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:130,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:136,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:139,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:140,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:141,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:141,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:145,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:145,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:146,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:147,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:148,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:149,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:150,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:150,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:154,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:155,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:155,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:160,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:160,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:161,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ' ecies_key'
    argTypes:
    - EciesAeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 164
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 164
    functionName: crypto::tink::EciesAeadHkdfHybridDecryptTest::TestValidKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - public_key
    - std::string
    - auto::ok
    - crypto::tink::EciesAeadHkdfHybridEncrypt::New
    - std::unique_ptr::Encrypt
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::move
    - std::unique_ptr::Decrypt
    - auto::value
    - ASSERT_TRUE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TestValidKey(const EciesAeadHkdfPrivateKey& ecies_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::EciesAeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:171,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:172,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:172,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:173,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:174,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:174,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:179,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:180,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:183,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:184,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:185,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:186,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:186,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:191,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:192,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:193,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:194,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:195,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:197,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:198,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:198,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:199,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:200,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:200,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:206,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:206,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:208,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:209,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:210,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:211,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:212,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:213,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:214,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:215,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:216,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:218,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:219,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:219,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:220,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:221,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 223
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::internal::NewEcKey
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKey::set_key_value
    - crypto::tink::EciesAeadHkdfHybridDecrypt::New
    - EciesAeadHkdfPrivateKey::set_version
    - auto::set_type_url
    - crypto::tink::util::Enums::ProtoToSubtle
    - EXPECT_FALSE
    - auto::mutable_kem_params
    - auto::mutable_dem_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridDecryptTest, testInvalidKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:227,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:228,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:228,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:229,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:234,1
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:237,1
    - Dst: TestValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - EXPECT_EQ
    - AesGcmKeyManager
    - crypto::tink::GetCommonHybridKeyParamsList
    - TestValidKey
    - absl::make_unique<AesGcmKeyManager>
    - ASSERT_TRUE
    - crypto::tink::test::GetEciesAesGcmHkdfTestKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridDecryptTest, testAesGcmHybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:248,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:249,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:249,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:250,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:255,1
    - Dst: crypto::tink::test::GetEciesAesCtrHmacHkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:260,1
    - Dst: TestValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 270
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::test::GetEciesAesCtrHmacHkdfTestKey
    - AesCtrHmacAeadKeyManager
    - crypto::tink::GetCommonHybridKeyParamsList
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - TestValidKey
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridDecryptTest, testAesCtrAeadHybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:273,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:274,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:277,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:278,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:278,1
    - Dst: absl::make_unique<XChaCha20Poly1305KeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:279,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:283,1
    - Dst: crypto::tink::test::GetEciesXChaCha20Poly1305HkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:284,1
    - Dst: TestValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 288
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::GetCommonHybridKeyParamsList
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::test::GetEciesXChaCha20Poly1305HkdfTestKey
    - TestValidKey
    - GTEST_SKIP
    - ASSERT_TRUE
    - absl::make_unique<XChaCha20Poly1305KeyManager>
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridDecryptTest, testXChaCha20Poly1305HybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:292,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:293,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:293,1
    - Dst: absl::make_unique<AesSivKeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:294,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:298,1
    - Dst: crypto::tink::test::GetEciesAesSivHkdfTestKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:299,1
    - Dst: TestValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::GetCommonHybridKeyParamsList
    - AesSivKeyManager
    - TestValidKey
    - absl::make_unique<AesSivKeyManager>
    - ASSERT_TRUE
    - crypto::tink::test::GetEciesAesSivHkdfTestKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesAeadHkdfHybridDecryptTest, testAesSivHybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:315,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:316,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:316,1
    - Dst: absl::make_unique<AesSivKeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:317,1
    - Dst: GetEciesPrivateKeyFromHexString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:327,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:331,1
    - Dst: GetEciesPrivateKeyFromHexString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:342,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:346,1
    - Dst: GetEciesPrivateKeyFromHexString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:357,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:361,1
    - Dst: crypto::tink::EciesAeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:500,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:501,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:501,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:503,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 505
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - GetEciesPrivateKeyFromHexString
    - crypto::tink::test::HexDecodeOrDie
    - std::unique_ptr::Decrypt
    - AesSivKeyManager
    - EXPECT_THAT
    - IsOkAndHolds
    - absl::make_unique<AesSivKeyManager>
    - ASSERT_TRUE
    - crypto::tink::EciesAeadHkdfHybridDecrypt::New
    - Eq
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesAeadHkdfHybridDecryptTest,\n       testAesSivHybridDecryptionWithTestVectors)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:37,1
    - Dst: absl::make_unique<HybridEncryptWrapper>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:39,1
    - Dst: crypto::tink::HybridEncryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:42,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: crypto::tink::HybridEncryptFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc
    functionUses: 1
    functionsReached:
    - absl::make_unique<HybridEncryptWrapper>
    - util::Status::ok
    - crypto::tink::HybridEncryptFactory::GetPrimitive
    - ConfigGlobalRegistry
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: util::StatusOr<std::unique_ptr<HybridEncrypt>> HybridEncryptFactory::GetPrimitive(const
      KeysetHandle& keyset_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:51,1
    - Dst: absl::make_unique<HybridEncryptWrapper>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:53,1
    - Dst: crypto::tink::HybridEncryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<HybridEncrypt>*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::HybridEncryptFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::HybridEncryptFactory::GetPrimitive
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - util::Status::ok
    - absl::make_unique<HybridEncryptWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridEncrypt>> HybridEncryptFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle,\n    const KeyManager<HybridEncrypt>*
      custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:49,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hybrid_decrypt_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<HybridDecrypt>>
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: crypto::tink::HybridDecryptSetWrapper::HybridDecryptSetWrapper
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HybridDecryptSetWrapper(\n      std::unique_ptr<PrimitiveSet<HybridDecrypt>>
      hybrid_decrypt_set,\n      std::unique_ptr<MonitoringClient> monitoring_decryption_client
      = nullptr)"
  - 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: ~HybridDecryptSetWrapper() override
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HybridDecryptSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:68,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:70,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:72,1
    - Dst: get_primitives
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:73,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:74,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:76,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:77,1
    - Dst: get_primitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:78,1
    - Dst: crypto::tink::HybridDecryptSetWrapper::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:80,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:81,1
    - Dst: Log
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:83,1
    - Dst: get_key_id
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:84,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:86,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:86,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:94,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:95,1
    - Dst: get_primitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:96,1
    - Dst: crypto::tink::HybridDecryptSetWrapper::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:97,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:99,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:99,1
    - Dst: LogFailure
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - ciphertext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 107
    functionName: crypto::tink::HybridDecryptSetWrapper::Decrypt
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_primitive
    - get_raw_primitives
    - absl::string_view::size
    - auto::ok
    - LogFailure
    - crypto::tink::internal::ExtractStatus
    - get_primitives
    - std::move
    - crypto::tink::HybridDecryptSetWrapper::Decrypt
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - auto::value
    - Log
    - get_key_id
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HybridDecryptSetWrapper::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:111,1
    - Dst: PrimitiveSet<HybridDecrypt>*::get_primary
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:114,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:115,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hybrid_decrypt_set
    argTypes:
    - PrimitiveSet<HybridDecrypt>*
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<HybridDecrypt>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<HybridDecrypt>* hybrid_decrypt_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:126,1
    - Dst: std::unique_ptr<PrimitiveSet<HybridDecrypt>>::get
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:126,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:127,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:130,1
    - Dst: absl::make_unique<HybridDecryptSetWrapper>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:135,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:135,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:139,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:140,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:141,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:145,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:146,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:147,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:148,1
    - Dst: absl::make_unique<HybridDecryptSetWrapper>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:151,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:152,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<HybridDecrypt>>
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: crypto::tink::HybridDecryptWrapper::Wrap
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringClientFactory*::New
    - MonitoringContext
    - std::unique_ptr<PrimitiveSet<HybridDecrypt>>::get
    - absl::make_unique<HybridDecryptSetWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridDecrypt>> HybridDecryptWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<HybridDecrypt>> primitive_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:46,1
    - Dst: PrimitiveSet<HybridEncrypt>*::get_primary
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:50,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - hybrid_encrypt_set
    argTypes:
    - PrimitiveSet<HybridEncrypt>*
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - PrimitiveSet<HybridEncrypt>*::get_primary
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<HybridEncrypt>* hybrid_encrypt_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hybrid_encrypt_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<HybridEncrypt>>
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: crypto::tink::HybridEncryptSetWrapper::HybridEncryptSetWrapper
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HybridEncryptSetWrapper(\n      std::unique_ptr<PrimitiveSet<HybridEncrypt>>
      hybrid_encrypt_set,\n      std::unique_ptr<MonitoringClient> monitoring_encryption_client
      = nullptr)"
  - 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: ~HybridEncryptSetWrapper() override
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HybridEncryptSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:83,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:84,1
    - Dst: get_primary
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:86,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:89,1
    - Dst: LogFailure
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:93,1
    - Dst: Log
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:96,1
    - Dst: get_primary
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:97,1
    - Dst: auto::get_identifier
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:99,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - plaintext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 101
    functionName: crypto::tink::HybridEncryptSetWrapper::Encrypt
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - get_primary
    - LogFailure
    - auto::ok
    - absl::string_view::size
    - auto::get_primitive
    - auto::get_identifier
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - Log
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HybridEncryptSetWrapper::Encrypt(\n    absl::string_view
      plaintext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:107,1
    - Dst: std::unique_ptr<PrimitiveSet<HybridEncrypt>>::get
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:107,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:108,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:111,1
    - Dst: absl::make_unique<HybridEncryptSetWrapper>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:116,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:120,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:121,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:122,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:126,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:127,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:128,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:129,1
    - Dst: absl::make_unique<HybridEncryptSetWrapper>
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:133,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<HybridEncrypt>>
    constantsTouched: []
    func_position:
      end: 134
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 134
    functionName: crypto::tink::HybridEncryptWrapper::Wrap
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<HybridEncrypt>>::get
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - absl::make_unique<HybridEncryptSetWrapper>
    - std::move
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridEncrypt>> HybridEncryptWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<HybridEncrypt>> primitive_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/hybrid/config_v0_test.cc:58,1
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/config_v0_test.cc:58,1
    - Dst: crypto::tink::KeyGenConfigHybridV0
      Src: /src/tink/cc/hybrid/config_v0_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/config_v0_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/config_v0_test.cc:59,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/hybrid/config_v0_test.cc:61,1
    - Dst: crypto::tink::KeyGenConfigHybridV0
      Src: /src/tink/cc/hybrid/config_v0_test.cc:61,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/config_v0_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/config_v0_test.cc:62,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/hybrid/config_v0_test.cc:65,1
    - Dst: crypto::tink::ConfigHybridV0
      Src: /src/tink/cc/hybrid/config_v0_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/config_v0_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/config_v0_test.cc:66,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/hybrid/config_v0_test.cc:68,1
    - Dst: crypto::tink::ConfigHybridV0
      Src: /src/tink/cc/hybrid/config_v0_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/config_v0_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/config_v0_test.cc:69,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/config_v0_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/config_v0_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/config_v0_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/config_v0_test.cc:74,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/config_v0_test.cc:74,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/config_v0_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::KeyGenConfigHybridV0
    - crypto::tink::Decrypt
    - IsOk
    - crypto::tink::GetPublicKeysetHandle
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - GetParam
    - crypto::tink::ConfigHybridV0
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:66,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:69,1
    - Dst: GetX
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:69,1
    - Dst: GetY
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:70,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:71,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:72,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:76,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:77,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:79,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:79,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:81,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:82,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:83,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:85,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - curve_type
    - ' point'
    argTypes:
    - EciesParameters::CurveType
    - EcPoint
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: crypto::tink::ValidateNistCurvePublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::StatusOr::status
    - GetY
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - crypto::tink::subtle::EnumToString
    - EC_POINT_is_on_curve
    - GetX
    - absl::StrCat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateNistCurvePublicKey(EciesParameters::CurveType
      curve_type,\n                                        const EcPoint& point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:92,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:95,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:98,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:98,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:99,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:102,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:105,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:105,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:110,1
    - Dst: GetVariant
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - EciesParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const EciesParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:116,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:116,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:117,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:122,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:123,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - EciesParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: crypto::tink::ValidateIdRequirement
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.cc
    functionUses: 0
    functionsReached:
    - absl::optional<int>::has_value
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::ExtractStatus
    - HasIdRequirement
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateIdRequirement(const EciesParameters& parameters,\n
      \                                  absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateIdRequirement
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:137,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:138,1
    - Dst: ValidateNistCurvePublicKey
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:143,1
    - Dst: GetCurveType
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:143,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:144,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:149,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:150,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:151,1
    - Dst: crypto::tink::EciesPublicKey::EciesPublicKey
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' parameters'
    - ' point'
    - id_requirement
    - token
    argTypes:
    - EciesParameters
    - EcPoint
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: crypto::tink::EciesPublicKey::CreateForNistCurve
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::EciesPublicKey::EciesPublicKey
    - util::Status::ok
    - ValidateNistCurvePublicKey
    - GetCurveType
    - util::StatusOr::status
    - ValidateIdRequirement
    - util::StatusOr::ok
    - ComputeOutputPrefix
    linkageType: ''
    returnType: util::StatusOr<EciesPublicKey>
    signature: "util::StatusOr<EciesPublicKey> EciesPublicKey::CreateForNistCurve(\n
      \   const EciesParameters& parameters, const EcPoint& point,\n    absl::optional<int>
      id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateIdRequirement
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:161,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:162,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:167,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:167,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:168,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:170,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:172,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:172,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:176,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:177,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:178,1
    - Dst: crypto::tink::EciesPublicKey::EciesPublicKey
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - token
    argTypes:
    - EciesParameters
    - absl::string_view
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: crypto::tink::EciesPublicKey::CreateForCurveX25519
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::EciesPublicKey::EciesPublicKey
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - ValidateIdRequirement
    - absl::string_view::length
    - util::StatusOr::ok
    - absl::StrFormat
    - ComputeOutputPrefix
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::StatusOr<EciesPublicKey>
    signature: "util::StatusOr<EciesPublicKey> EciesPublicKey::CreateForCurveX25519(\n
      \   const EciesParameters& parameters, absl::string_view public_key_bytes,\n
      \   absl::optional<int> id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EciesPublicKey*>
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:186,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:190,1
    - Dst: EciesPublicKey*::GetParameters
      Src: /src/tink/cc/hybrid/ecies_public_key.cc:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: EciesPublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EciesPublicKey*>
    - EciesPublicKey*::GetParameters
    - GetParameters
    linkageType: ''
    returnType: bool
    signature: bool EciesPublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:62,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - kem_id
    argTypes:
    - HpkeParameters::KemId
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: crypto::tink::CurveTypeFromKemId
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<subtle::EllipticCurveType>
    signature: "util::StatusOr<subtle::EllipticCurveType> CurveTypeFromKemId(\n    HpkeParameters::KemId
      kem_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:86,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:92,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:94,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - kem_id
    - length
    argTypes:
    - HpkeParameters::KemId
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 100
    functionName: crypto::tink::ValidatePrivateKeyLength
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    - absl::StrFormat
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidatePrivateKeyLength(HpkeParameters::KemId kem_id,\n
      \                                     int length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - kem_id
    argTypes:
    - HpkeParameters::KemId
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: crypto::tink::IsNistKem
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNistKem(HpkeParameters::KemId kem_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:113,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:114,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:115,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:118,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:118,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:118,1
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:121,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:123,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:124,1
    - Dst: EC_KEY_set_public_key
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:127,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:127,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:128,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:130,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:130,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:134,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:136,1
    - Dst: EC_KEY_set_private_key
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:138,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:138,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:138,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:139,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:141,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:141,1
    - Dst: EC_KEY_check_key
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:145,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:145,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:146,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:148,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:148,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - curve
    - public_key_bytes
    - ' private_key_bytes'
    argTypes:
    - subtle::EllipticCurveType
    - absl::string_view
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 152
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 152
    functionName: crypto::tink::ValidateNistEcKeyPair
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - util::StatusOr::get
    - crypto::tink::util::SecretDataAsStringView
    - EC_KEY_set_private_key
    - util::StatusOr::status
    - EC_KEY_check_key
    - crypto::tink::internal::GetSslErrors
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - crypto::tink::internal::EcPointDecode
    - absl::StrCat
    - EC_KEY_set_public_key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateNistEcKeyPair(subtle::EllipticCurveType curve,\n
      \                                  absl::string_view public_key_bytes,\n                                   const
      util::SecretData& private_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::X25519KeyFromPrivateKey
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:157,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:158,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:159,1
    - Dst: absl::string_view
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:161,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:162,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:163,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:165,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - public_key_bytes
    - ' private_key_bytes'
    argTypes:
    - absl::string_view
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: crypto::tink::ValidateX25519KeyPair
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::status
    - crypto::tink::internal::X25519KeyFromPrivateKey
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateX25519KeyPair(absl::string_view public_key_bytes,\n
      \                                  const util::SecretData& private_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:175,1
    - Dst: GetPublicKeyBytes
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:176,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:177,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:178,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:178,1
    - Dst: crypto::tink::IsNistKem
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:180,1
    - Dst: crypto::tink::CurveTypeFromKemId
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:182,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:183,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:184,1
    - Dst: crypto::tink::ValidateNistEcKeyPair
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:186,1
    - Dst: crypto::tink::ValidateX25519KeyPair
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    - token
    argTypes:
    - HpkePublicKey
    - RestrictedData
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: crypto::tink::ValidateKeyPair
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::IsNistKem
    - crypto::tink::ValidateNistEcKeyPair
    - crypto::tink::ValidateX25519KeyPair
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::CurveTypeFromKemId
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - GetPublicKeyBytes
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyPair(const HpkePublicKey& public_key,\n                             const
      RestrictedData& private_key_bytes,\n                             PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePrivateKeyLength
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:196,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:197,1
    - Dst: size
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:197,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:198,1
    - Dst: ValidateKeyPair
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:202,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:203,1
    - Dst: crypto::tink::HpkePrivateKey::HpkePrivateKey
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    - token
    argTypes:
    - HpkePublicKey
    - RestrictedData
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: crypto::tink::HpkePrivateKey::Create
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 11
    functionsReached:
    - util::Status::ok
    - GetParameters
    - size
    - crypto::tink::HpkePrivateKey::HpkePrivateKey
    - ValidatePrivateKeyLength
    - ValidateKeyPair
    linkageType: ''
    returnType: util::StatusOr<HpkePrivateKey>
    signature: "util::StatusOr<HpkePrivateKey> HpkePrivateKey::Create(\n    const
      HpkePublicKey& public_key, const RestrictedData& private_key_bytes,\n    PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const HpkePrivateKey*>
      Src: /src/tink/cc/hybrid/hpke_private_key.cc:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: HpkePrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const HpkePrivateKey*>
    linkageType: ''
    returnType: bool
    signature: bool HpkePrivateKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: crypto::tink::AlwaysFailHybridEncrypt::AlwaysFailHybridEncrypt
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailHybridEncrypt(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:44,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: crypto::tink::AlwaysFailHybridEncrypt::Encrypt
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Encrypt(\n      absl::string_view plaintext,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: crypto::tink::AlwaysFailHybridDecrypt::AlwaysFailHybridDecrypt
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailHybridDecrypt(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:64,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: crypto::tink::AlwaysFailHybridDecrypt::Decrypt
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Decrypt(\n      absl::string_view plaintext,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailHybridEncrypt>
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::CreateAlwaysFailingHybridEncrypt
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid.cc
    functionUses: 3
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailHybridEncrypt>
    linkageType: ''
    returnType: std::unique_ptr<HybridEncrypt>
    signature: "std::unique_ptr<HybridEncrypt> CreateAlwaysFailingHybridEncrypt(\n
      \   std::string message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailHybridDecrypt>
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/failing_hybrid.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: crypto::tink::CreateAlwaysFailingHybridDecrypt
    functionSourceFile: /src/tink/cc/hybrid/failing_hybrid.cc
    functionUses: 2
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailHybridDecrypt>
    linkageType: ''
    returnType: std::unique_ptr<HybridDecrypt>
    signature: "std::unique_ptr<HybridDecrypt> CreateAlwaysFailingHybridDecrypt(\n
      \   std::string message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:52,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:53,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:55,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:57,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:58,1
    - Dst: auto::mutable_aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:59,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:60,1
    - Dst: auto::set_curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:61,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:62,1
    - Dst: auto::set_hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:63,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:63,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:64,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - curve_type
    - hkdf_hash_type
    - ec_point_format
    - ' dem_key_template'
    - prefix_type
    - hkdf_salt
    argTypes:
    - EllipticCurveType
    - HashType
    - EcPointFormat
    - KeyTemplate
    - OutputPrefixType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: crypto::tink::NewEciesAeadHkdfKeyTemplate
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - std::string
    - auto::set_hkdf_salt
    - KeyTemplate*::mutable_value
    - EciesAeadHkdfKeyFormat::mutable_params
    - auto::set_curve_type
    - KeyTemplate*::set_type_url
    - auto::set_hkdf_hash_type
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - EciesAeadHkdfKeyFormat::SerializeToString
    - auto::mutable_aead_dem
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewEciesAeadHkdfKeyTemplate(\n    EllipticCurveType
      curve_type,\n    HashType hkdf_hash_type,\n    EcPointFormat ec_point_format,\n
      \   const KeyTemplate& dem_key_template,\n    OutputPrefixType prefix_type,\n
      \   absl::string_view hkdf_salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:70,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:71,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:73,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:75,1
    - Dst: HpkeParams*::set_kem
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:76,1
    - Dst: HpkeParams*::set_kdf
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:77,1
    - Dst: HpkeParams*::set_aead
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:78,1
    - Dst: HpkeKeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:79,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - kem
    - kdf
    - aead
    - prefix_type
    argTypes:
    - HpkeKem
    - HpkeKdf
    - HpkeAead
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: crypto::tink::NewHpkeKeyTemplate
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - HpkeParams*::set_aead
    - KeyTemplate*::mutable_value
    - HpkeKeyFormat::mutable_params
    - KeyTemplate*::set_type_url
    - HpkeParams*::set_kem
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - HpkeKeyFormat::SerializeToString
    - HpkeParams*::set_kdf
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewHpkeKeyTemplate(HpkeKem kem, HpkeKdf kdf, HpkeAead
      aead,\n                                OutputPrefixType prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:88,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: '& HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:99,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: '& HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:111,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: '&

      HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:124,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: '&

      HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128CtrHmacSha256
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:136,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: '&

      HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128CtrHmacSha256()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128CtrHmacSha256
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128CtrHmacSha256()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:147,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: '&

      HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:158,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: '&

      HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128CtrHmacSha256
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:168,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: '& HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:178,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: '& HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:189,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: '&

      HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - AeadKeyTemplates::Aes128CtrHmacSha256
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:200,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: '&

      HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEciesAeadHkdfKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:211,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: '&

      HybridKeyTemplates::EciesX25519HkdfHmacSha256DeterministicAesSiv()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEciesAeadHkdfKeyTemplate
    - DeterministicAeadKeyTemplates::Aes256Siv
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::EciesX25519HkdfHmacSha256DeterministicAesSiv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHpkeKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHpkeKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHpkeKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes128GcmRaw()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHpkeKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::HpkeX25519HkdfSha256Aes128GcmRaw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHpkeKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHpkeKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHpkeKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes256GcmRaw()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHpkeKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & HybridKeyTemplates::HpkeX25519HkdfSha256Aes256GcmRaw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHpkeKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: '&

      HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHpkeKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHpkeKeyTemplate
      Src: /src/tink/cc/hybrid/hybrid_key_templates.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: '&

      HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305Raw()'
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHpkeKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305Raw()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.h:52,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.h:53,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - recipient_key_params
    - kem
    - dem_helper
    argTypes:
    - google::crypto::tink::EciesAeadHkdfParams
    - std::unique_ptr<const subtle::EciesHkdfRecipientKemBoringSsl>
    - std::unique_ptr<const EciesAeadHkdfDemHelper>
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: crypto::tink::EciesAeadHkdfHybridDecrypt::EciesAeadHkdfHybridDecrypt
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EciesAeadHkdfHybridDecrypt(\n      google::crypto::tink::EciesAeadHkdfParams
      recipient_key_params,\n      std::unique_ptr<const subtle::EciesHkdfRecipientKemBoringSsl>
      kem,\n      std::unique_ptr<const EciesAeadHkdfDemHelper> dem_helper)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::HpkePrivateKey::HpkePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkePrivateKey(const HpkePrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const HpkePrivateKey& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkePrivateKey
    signature: HpkePrivateKey & operator=(const HpkePrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::HpkePrivateKey::HpkePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkePrivateKey(HpkePrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(HpkePrivateKey&& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkePrivateKey
    signature: HpkePrivateKey & operator=(HpkePrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: '& GetPrivateKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetPrivateKeyBytes(PartialKeyAccessToken token) 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkePublicKey
    signature: HpkePublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    argTypes:
    - HpkePublicKey
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: crypto::tink::HpkePrivateKey::HpkePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_private_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HpkePrivateKey(const HpkePublicKey& public_key,\n                          const
      RestrictedData& private_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:63,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:64,1
    - Dst: std::make_unique<AeadOrDaead>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:66,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:66,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - aead_or
    argTypes:
    - crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: crypto::tink::Wrap
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc
    functionUses: 5
    functionsReached:
    - crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>::status
    - std::move
    - crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>::value
    - std::make_unique<AeadOrDaead>
    - crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadOrDaead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadOrDaead>> Wrap(\n
      \   crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::Aead>> aead_or)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>::ok"
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:73,1
    - Dst: "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>::status"
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:74,1
    - Dst: std::make_unique<AeadOrDaead>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:76,1
    - Dst: "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>::value"
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - daead_or
    argTypes:
    - "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>"
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: crypto::tink::Wrap
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc
    functionUses: 5
    functionsReached:
    - "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>::value"
    - "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>::ok"
    - std::move
    - std::make_unique<AeadOrDaead>
    - "crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>::status"
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadOrDaead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadOrDaead>> Wrap(\n
      \   crypto::tink::util::StatusOr<\n        std::unique_ptr<crypto::tink::DeterministicAead>>\n
      \       daead_or)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type_url
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:83,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:86,1
    - Dst: value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:86,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:87,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:90,1
    - Dst: AesCtrHmacAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:94,1
    - Dst: value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:95,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:101,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:102,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:103,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:104,1
    - Dst: XChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:108,1
    - Dst: value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:109,1
    - Dst: AesSivKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:117,1
    - Dst: value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:118,1
    - Dst: AesSivKeyFormat::key_size
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:121,1
    - Dst: ToStatusF
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 125
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 125
    functionName: crypto::tink::EciesAeadHkdfDemHelper::GetKeyParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::ParseFromString
    - AesSivKeyFormat::key_size
    - crypto::tink::internal::ExtractStatus
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - AesSivKeyFormat::ParseFromString
    - ToStatusF
    - AesGcmKeyFormat::key_size
    - type_url
    - value
    - AesCtrHmacAeadKeyFormat::hmac_key_format
    - XChaCha20Poly1305KeyFormat
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<EciesAeadHkdfDemHelper::DemKeyParams>
    signature: util::StatusOr<EciesAeadHkdfDemHelper::DemKeyParams> EciesAeadHkdfDemHelper::GetKeyParams(const
      KeyTemplate& key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::EciesAeadHkdfDemHelper::GetKeyParams
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:130,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:131,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:132,1
    - Dst: absl::WrapUnique<const EciesAeadHkdfDemHelper>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:133,1
    - Dst: EciesAeadHkdfDemHelper::EciesAeadHkdfDemHelper
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' dem_key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: crypto::tink::EciesAeadHkdfDemHelper::New
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc
    functionUses: 5
    functionsReached:
    - auto::status
    - auto::ok
    - absl::WrapUnique<const EciesAeadHkdfDemHelper>
    - auto::value
    - crypto::tink::EciesAeadHkdfDemHelper::GetKeyParams
    - EciesAeadHkdfDemHelper::EciesAeadHkdfDemHelper
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const EciesAeadHkdfDemHelper>>
    signature: util::StatusOr<std::unique_ptr<const EciesAeadHkdfDemHelper>> EciesAeadHkdfDemHelper::New(const
      KeyTemplate& dem_key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:141,1
    - Dst: Wrap
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:146,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:146,1
    - Dst: AesCtrHmacAeadKey::mutable_aes_ctr_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:149,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:150,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:152,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:153,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:153,1
    - Dst: AesCtrHmacAeadKey::mutable_hmac_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:155,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:156,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:158,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:159,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:160,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:160,1
    - Dst: Wrap
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:162,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:162,1
    - Dst: Wrap
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:165,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:165,1
    - Dst: Wrap
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:167,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ' symmetric_key_value'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: crypto::tink::EciesAeadHkdfDemHelper::GetAeadOrDaead
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - AesCtrHmacAeadKey::mutable_hmac_key
    - AesCtrHmacAeadKey::mutable_aes_ctr_key
    - std::string
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - size
    - AesCtrHmacAeadKeyManager
    - crypto::tink::internal::ExtractStatus
    - auto::set_key_value
    - Wrap
    - auto::mutable_params
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - crypto::tink::subtle::AesSivBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<AeadOrDaead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<AeadOrDaead>> EciesAeadHkdfDemHelper::GetAeadOrDaead(\n
      \   const util::SecretData& symmetric_key_value) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:94,1
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:94,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:95,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:108,1
    - Dst: util::StatusOr::GetCurveType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:108,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:109,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:109,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:110,1
    - Dst: util::StatusOr::GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:111,1
    - Dst: util::StatusOr::GetDemId
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:112,1
    - Dst: util::StatusOr::GetSalt
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:112,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:113,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:113,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:114,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:114,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetDemId
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::GetNistCurvePointFormat
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - util::StatusOr::GetCurveType
    - util::StatusOr::GetSalt
    - GetParam
    - Eq
    - absl::HexStringToBytes
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesParametersTest, Build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:119,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:128,1
    - Dst: util::StatusOr::GetCurveType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:128,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:130,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:130,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:132,1
    - Dst: util::StatusOr::GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:132,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:133,1
    - Dst: util::StatusOr::GetDemId
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:135,1
    - Dst: util::StatusOr::GetSalt
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:135,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:136,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:136,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:137,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:137,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 138
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetDemId
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::GetNistCurvePointFormat
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetHashType
    - IsTrue
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetCurveType
    - util::StatusOr::GetSalt
    - Eq
    - absl::HexStringToBytes
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithX25519Curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:142,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:153,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 155
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithInvalidCurveTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:159,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:167,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:167,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithoutCurveTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:173,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:184,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithInvalidHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:190,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:198,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:198,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithoutHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:204,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:215,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:215,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithInvalidPointFormatFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:221,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:229,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:229,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithNistCurveWithoutPointFormatFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:235,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:244,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:244,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithX25519WithPointFormatFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:250,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:260,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:260,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithInvalidDemIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:266,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:274,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:274,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithoutDemIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:290,1
    - Dst: util::StatusOr::GetSalt
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:290,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    - util::StatusOr::GetSalt
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithEmptySaltSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:304,1
    - Dst: util::StatusOr::GetSalt
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:304,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    - util::StatusOr::GetSalt
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithoutSaltSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:309,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:314,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:319,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:319,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:325,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:333,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:333,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, BuildWithoutVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:339,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:351,1
    - Dst: EciesParameters::GetCurveType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:351,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:351,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:352,1
    - Dst: EciesParameters::GetHashType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:352,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:352,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:353,1
    - Dst: EciesParameters::GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:353,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:354,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:355,1
    - Dst: EciesParameters::GetDemId
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:355,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:356,1
    - Dst: EciesParameters::GetSalt
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:356,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:356,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:356,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:357,1
    - Dst: EciesParameters::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:357,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:357,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:358,1
    - Dst: EciesParameters::HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:358,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 359
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EciesParameters::GetHashType
    - EciesParameters::GetDemId
    - IsOk
    - EciesParameters::GetNistCurvePointFormat
    - EciesParameters::GetVariant
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EciesParameters::GetSalt
    - EXPECT_THAT
    - EciesParameters::GetCurveType
    - IsTrue
    - EciesParameters::HasIdRequirement
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519ParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:363,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:368,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:371,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:375,1
    - Dst: EciesParameters::GetCurveType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:375,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:375,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:376,1
    - Dst: EciesParameters::GetHashType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:376,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:376,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:377,1
    - Dst: EciesParameters::GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:377,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:378,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:379,1
    - Dst: EciesParameters::GetDemId
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:379,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:379,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:380,1
    - Dst: EciesParameters::GetSalt
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:380,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:380,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:380,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:381,1
    - Dst: EciesParameters::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:381,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:381,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:382,1
    - Dst: EciesParameters::HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:382,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EciesParameters::GetHashType
    - EciesParameters::GetDemId
    - IsOk
    - EciesParameters::GetNistCurvePointFormat
    - EciesParameters::GetVariant
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EciesParameters::GetSalt
    - EXPECT_THAT
    - EciesParameters::GetCurveType
    - IsTrue
    - EciesParameters::HasIdRequirement
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519ParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:391,1
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:391,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:392,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:403,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:414,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:414,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:417,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:418,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 420
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesParametersTest, ParametersEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:424,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:429,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:432,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:432,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:435,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:440,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:443,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:443,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:445,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, CurveTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:451,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:456,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:459,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:462,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:467,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:470,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:470,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:472,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 474
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, HashTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:478,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:483,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:486,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:489,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:494,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:497,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:497,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:499,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 501
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, PointFormatNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:505,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:510,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:513,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:513,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:516,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:521,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:524,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:524,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:526,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 528
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, DemIdNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:532,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:540,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:543,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:548,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:551,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:551,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:553,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, SaltNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:559,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:566,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:566,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:569,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:574,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:577,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:577,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:579,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 581
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, EmptySaltAndNoSaltEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:585,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:590,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:593,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:593,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:596,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:601,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:604,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:604,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:606,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 608
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:625,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:628,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:633,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:636,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:636,1
    - Dst: util::StatusOr::CreateDemParameters
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:639,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:640,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:640,1
    - Dst: reinterpret_cast<const AesGcmParameters*>
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:643,1
    - Dst: get
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:643,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:644,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:644,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:645,1
    - Dst: AesGcmParameters*::KeySizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:645,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:646,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:647,1
    - Dst: AesGcmParameters*::IvSizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:647,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:647,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:648,1
    - Dst: AesGcmParameters*::TagSizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:648,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:648,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:649,1
    - Dst: AesGcmParameters*::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:649,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 651
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - AesGcmParameters*::KeySizeInBytes
    - ASSERT_THAT
    - reinterpret_cast<const AesGcmParameters*>
    - util::StatusOr::CreateDemParameters
    - EXPECT_THAT
    - NotNull
    - AesGcmParameters*::IvSizeInBytes
    - AesGcmParameters*::TagSizeInBytes
    - AesGcmParameters*::GetVariant
    - GetParam
    - Eq
    - absl::HexStringToBytes
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmDemTest, CreateAesGcmRawDemParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:655,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:660,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:663,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:663,1
    - Dst: util::StatusOr::CreateDemParameters
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:666,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:667,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:667,1
    - Dst: reinterpret_cast<const AesSivParameters*>
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:670,1
    - Dst: get
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:670,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:671,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:671,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:672,1
    - Dst: AesSivParameters*::KeySizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:672,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:672,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:673,1
    - Dst: AesSivParameters*::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:673,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 675
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesSivParameters*::KeySizeInBytes
    - AesSivParameters*::GetVariant
    - IsOk
    - reinterpret_cast<const AesSivParameters*>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - util::StatusOr::CreateDemParameters
    - EXPECT_THAT
    - NotNull
    - Eq
    - absl::HexStringToBytes
    - get
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, CreateAes256SivRawDemParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:679,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:684,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:687,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:687,1
    - Dst: util::StatusOr::CreateDemParameters
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:690,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:691,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:691,1
    - Dst: reinterpret_cast<const XChaCha20Poly1305Parameters*>
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:694,1
    - Dst: get
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:695,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:696,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:696,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:697,1
    - Dst: XChaCha20Poly1305Parameters*::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:697,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 699
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 699
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - XChaCha20Poly1305Parameters*::GetVariant
    - util::StatusOr::CreateDemParameters
    - EXPECT_THAT
    - get
    - NotNull
    - Eq
    - absl::HexStringToBytes
    - reinterpret_cast<const XChaCha20Poly1305Parameters*>
    linkageType: ''
    returnType: void
    signature: void TEST(EciesParametersTest, CreateXChaCha20Poly1305RawDemParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:720,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:723,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:728,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:731,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:731,1
    - Dst: util::StatusOr::CreateDemParameters
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:734,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:735,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:735,1
    - Dst: reinterpret_cast<const AesCtrHmacAeadParameters*>
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:738,1
    - Dst: get
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:739,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:740,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:740,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:741,1
    - Dst: AesCtrHmacAeadParameters*::GetAesKeySizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:741,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:742,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:743,1
    - Dst: AesCtrHmacAeadParameters*::GetHmacKeySizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:743,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:743,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:744,1
    - Dst: AesCtrHmacAeadParameters*::GetIvSizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:744,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:744,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:745,1
    - Dst: AesCtrHmacAeadParameters*::GetTagSizeInBytes
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:745,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:746,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:747,1
    - Dst: AesCtrHmacAeadParameters*::GetHashType
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:747,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:748,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:749,1
    - Dst: AesCtrHmacAeadParameters*::GetVariant
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:749,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_parameters_test.cc:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 751
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadParameters*::GetVariant
    - AesCtrHmacAeadParameters*::GetHashType
    - IsOk
    - AesCtrHmacAeadParameters*::GetTagSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - util::StatusOr::CreateDemParameters
    - reinterpret_cast<const AesCtrHmacAeadParameters*>
    - EXPECT_THAT
    - NotNull
    - AesCtrHmacAeadParameters*::GetHmacKeySizeInBytes
    - GetParam
    - AesCtrHmacAeadParameters*::GetAesKeySizeInBytes
    - Eq
    - absl::HexStringToBytes
    - get
    - AesCtrHmacAeadParameters*::GetIvSizeInBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacDemTest, CreateAesCtrHmacSha256RawDemParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EciesParameters::CurveType
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: crypto::tink::SubtleCurveType
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<subtle::EllipticCurveType>
    signature: "util::StatusOr<subtle::EllipticCurveType> SubtleCurveType(\n    EciesParameters::CurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SubtleCurveType
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:77,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:77,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:78,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:79,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:82,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:83,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:84,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:86,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:86,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:86,1
    - Dst: GetNistCurvePoint
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:89,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:90,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:91,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:95,1
    - Dst: absl::optional::GetX
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:95,1
    - Dst: absl::optional::GetY
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:96,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:97,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:98,1
    - Dst: EC_KEY_set_public_key
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:100,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:100,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:101,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:103,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:103,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:108,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:109,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:109,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:110,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:111,1
    - Dst: EC_KEY_set_private_key
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:113,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:113,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:114,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:116,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:116,1
    - Dst: EC_KEY_check_key
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:120,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:120,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:121,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:123,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:123,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_value'
    - token
    argTypes:
    - EciesPublicKey
    - RestrictedBigInteger
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 127
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 127
    functionName: crypto::tink::ValidateNistKeyPair
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.cc
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - crypto::tink::internal::GetSslErrors
    - absl::optional::GetX
    - crypto::tink::InsecureSecretKeyAccess::Get
    - absl::StrCat
    - EC_KEY_set_public_key
    - GetNistCurvePoint
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - GetParameters
    - EC_KEY_check_key
    - GetSecret
    - internal::SslUniquePtr::get
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::SubtleCurveType
    - absl::optional::has_value
    - util::StatusOr::get
    - EC_KEY_set_private_key
    - util::StatusOr::status
    - absl::optional::GetY
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateNistKeyPair(const EciesPublicKey& public_key,\n
      \                                const RestrictedBigInteger& private_key_value,\n
      \                                PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::X25519KeyFromPrivateKey
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:133,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:133,1
    - Dst: GetSecret
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:134,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:136,1
    - Dst: GetX25519CurvePointBytes
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:140,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:141,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:142,1
    - Dst: absl::string_view
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:146,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:147,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:148,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:151,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    - token
    argTypes:
    - EciesPublicKey
    - RestrictedData
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 157
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 157
    functionName: crypto::tink::ValidateX25519KeyPair
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.cc
    functionUses: 1
    functionsReached:
    - absl::string_view
    - absl::optional::has_value
    - crypto::tink::internal::X25519KeyFromPrivateKey
    - GetSecret
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - GetX25519CurvePointBytes
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateX25519KeyPair(const EciesPublicKey& public_key,\n
      \                                  const RestrictedData& private_key_bytes,\n
      \                                  PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateNistKeyPair
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:167,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:168,1
    - Dst: crypto::tink::EciesPrivateKey::EciesPrivateKey
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_value'
    - token
    argTypes:
    - EciesPublicKey
    - RestrictedBigInteger
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: crypto::tink::EciesPrivateKey::CreateForNistCurve
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.cc
    functionUses: 1
    functionsReached:
    - ValidateNistKeyPair
    - util::Status::ok
    - crypto::tink::EciesPrivateKey::EciesPrivateKey
    linkageType: ''
    returnType: util::StatusOr<EciesPrivateKey>
    signature: "util::StatusOr<EciesPrivateKey> EciesPrivateKey::CreateForNistCurve(\n
      \   const EciesPublicKey& public_key,\n    const RestrictedBigInteger& private_key_value,\n
      \   PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:180,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:181,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:183,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:185,1
    - Dst: ValidateX25519KeyPair
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:190,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:191,1
    - Dst: crypto::tink::EciesPrivateKey::EciesPrivateKey
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    - token
    argTypes:
    - EciesPublicKey
    - RestrictedData
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: crypto::tink::EciesPrivateKey::CreateForCurveX25519
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::Status::ok
    - crypto::tink::EciesPrivateKey::EciesPrivateKey
    - crypto::tink::internal::ExtractStatus
    - ValidateX25519KeyPair
    - absl::StrFormat
    linkageType: ''
    returnType: util::StatusOr<EciesPrivateKey>
    signature: "util::StatusOr<EciesPrivateKey> EciesPrivateKey::CreateForCurveX25519(\n
      \   const EciesPublicKey& public_key, const RestrictedData& private_key_bytes,\n
      \   PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EciesPrivateKey*>
      Src: /src/tink/cc/hybrid/ecies_private_key.cc:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 210
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 210
    functionName: EciesPrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EciesPrivateKey*>
    linkageType: ''
    returnType: bool
    signature: bool EciesPrivateKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc: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: crypto::tink::HpkeProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:100,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:101,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterHpkeProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:143,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:143,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:146,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:147,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:148,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:150,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:153,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:156,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:162,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:162,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:162,1
    - Dst: dynamic_cast<const HpkeParameters*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:165,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:166,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:167,1
    - Dst: HpkeParameters*::GetVariant
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:167,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:168,1
    - Dst: HpkeParameters*::GetKemId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:169,1
    - Dst: HpkeParameters*::GetKdfId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:169,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:170,1
    - Dst: HpkeParameters*::GetAeadId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:170,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterHpkeProtoSerialization
    - ASSERT_THAT
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - HpkeParameters*::GetVariant
    - HpkeParameters*::GetAeadId
    - IsOk
    - HpkeKeyFormat::SerializeAsString
    - EXPECT_THAT
    - dynamic_cast<const HpkeParameters*>
    - GetParam
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - HpkeParameters*::GetKdfId
    - HpkeKeyFormat::mutable_params
    - HpkeParameters*::GetKemId
    - Eq
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - util::StatusOr::get
    - HpkeParams::set_kem
    - NotNull
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:174,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:174,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:177,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:178,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:179,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:181,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:184,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:187,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:193,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:193,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:193,1
    - Dst: dynamic_cast<const HpkeParameters*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:196,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:197,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:198,1
    - Dst: HpkeParameters*::GetVariant
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:198,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:200,1
    - Dst: HpkeParameters*::GetKemId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:200,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:202,1
    - Dst: HpkeParameters*::GetKdfId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:204,1
    - Dst: HpkeParameters*::GetAeadId
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:204,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 206
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterHpkeProtoSerialization
    - ASSERT_THAT
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - HpkeParameters*::GetVariant
    - HpkeParameters*::GetAeadId
    - IsOk
    - HpkeKeyFormat::SerializeAsString
    - EXPECT_THAT
    - dynamic_cast<const HpkeParameters*>
    - IsTrue
    - internal::MutableSerializationRegistry::GlobalInstance
    - HpkeParameters*::GetKdfId
    - HpkeKeyFormat::mutable_params
    - HpkeParameters*::GetKemId
    - Eq
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - util::StatusOr::get
    - HpkeParams::set_kem
    - NotNull
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParseLegacyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:209,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:209,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:214,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:219,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:219,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:223,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:223,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:226,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:227,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:228,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:230,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:233,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:236,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:241,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:241,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 243
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParams::set_kem
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - HpkeKeyFormat::SerializeAsString
    - ASSERT_THAT
    - HpkeKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:246,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:246,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:249,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:250,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:251,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:253,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:256,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:259,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:264,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:264,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 266
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParams::set_kem
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - HpkeKeyFormat::SerializeAsString
    - ASSERT_THAT
    - HpkeKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParseParametersWithUnkownKem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:269,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:269,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:272,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:273,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:274,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:276,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:279,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:282,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:287,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:287,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParams::set_kem
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - HpkeKeyFormat::SerializeAsString
    - ASSERT_THAT
    - HpkeKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParseParametersWithUnkownKdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:292,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:292,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:295,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:296,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:297,1
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:299,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:302,1
    - Dst: HpkeKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:305,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:310,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:310,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParams::set_kem
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - HpkeKeyFormat::SerializeAsString
    - ASSERT_THAT
    - HpkeKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParseParametersWithUnkownAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:316,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:316,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:324,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:330,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:331,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:331,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:331,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:334,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:335,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:336,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:337,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:337,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:339,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:339,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:343,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:344,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:344,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:345,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:346,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:346,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:346,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:347,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:347,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:348,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:348,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:349,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:349,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 350
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - util::StatusOr::get
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:360,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:361,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:362,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:365,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:365,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:366,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:367,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:367,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:368,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:370,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:371,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:372,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:375,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:376,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:377,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:379,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:380,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:381,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:382,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:384,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - curve
    argTypes:
    - subtle::EllipticCurveType
    constantsTouched: []
    func_position:
      end: 385
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 385
    functionName: crypto::tink::GenerateKeyPair
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::internal::NewX25519Key
    - std::string
    - util::StatusOr::status
    - crypto::tink::internal::X25519KeyPrivKeySize
    - crypto::tink::util::SecretDataAsStringView
    - reinterpret_cast<const char*>
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - crypto::tink::internal::EcPointEncode
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::StatusOr<KeyPair>
    signature: util::StatusOr<KeyPair> GenerateKeyPair(subtle::EllipticCurveType curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:389,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:389,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:392,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:393,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:394,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:397,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:397,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:400,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:401,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:402,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:403,1
    - Dst: google::crypto::tink::HpkePublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:404,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:404,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:410,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:410,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:413,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:415,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:416,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:416,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:416,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:417,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:417,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:418,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:421,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:427,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:427,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:430,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:431,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:432,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:432,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:434,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 435
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::RegisterHpkeProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - google::crypto::tink::HpkePublicKey::SerializeAsString
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::HpkePublicKey::Create
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - Eq
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - google::crypto::tink::HpkePublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - HpkeParams::set_kem
    - google::crypto::tink::HpkePublicKey::set_version
    - crypto::tink::GenerateKeyPair
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeProtoSerializationTest, ParsePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:438,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:438,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:438,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:441,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:441,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:444,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:448,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:448,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:451,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:453,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:453,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 454
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParsePublicKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:457,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:457,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:460,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:461,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:462,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:465,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:466,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:466,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:469,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:470,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:471,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:472,1
    - Dst: google::crypto::tink::HpkePublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:473,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:473,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:476,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:480,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:480,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:483,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:485,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:485,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 486
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::HpkePublicKey::mutable_params
    - HpkeParams::set_kem
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::HpkePublicKey::set_version
    - RestrictedData
    - google::crypto::tink::HpkePublicKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::status
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::GenerateKeyPair
    - google::crypto::tink::HpkePublicKey::set_public_key
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParsePublicKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:489,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:490,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:490,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:490,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:492,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:498,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:498,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:500,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:501,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:501,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:503,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:504,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:505,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:505,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:508,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:511,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:512,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:512,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:512,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:515,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:516,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:517,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:517,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:518,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:518,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:518,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:519,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:519,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:520,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:521,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:521,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:523,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:523,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:523,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:526,1
    - Dst: google::crypto::tink::HpkePublicKey::ParseFromString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:526,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:527,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:528,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:529,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:530,1
    - Dst: google::crypto::tink::HpkePublicKey::version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:530,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:530,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:531,1
    - Dst: google::crypto::tink::HpkePublicKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:531,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:531,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:532,1
    - Dst: google::crypto::tink::HpkePublicKey::has_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:532,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:532,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:533,1
    - Dst: google::crypto::tink::HpkePublicKey::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:533,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:533,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:534,1
    - Dst: google::crypto::tink::HpkePublicKey::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:534,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:535,1
    - Dst: google::crypto::tink::HpkePublicKey::params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:535,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 536
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterHpkeProtoSerialization
    - google::crypto::tink::HpkePublicKey::params
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HpkePublicKey::public_key
    - google::crypto::tink::HpkePublicKey::ParseFromString
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::HpkePublicKey::version
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - crypto::tink::HpkePublicKey::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - google::crypto::tink::HpkePublicKey::has_params
    - internal::ProtoKeySerialization*::IdRequirement
    - crypto::tink::GenerateKeyPair
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeProtoSerializationTest, SerializePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:540,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:540,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:543,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:544,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:545,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:547,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:548,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:548,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:551,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:552,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:553,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:556,1
    - Dst: google::crypto::tink::HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:557,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_private_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:558,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:560,1
    - Dst: google::crypto::tink::HpkePrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:561,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:561,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:564,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:567,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:567,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:570,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:571,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:572,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:572,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:573,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:573,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:574,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:574,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:575,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:578,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:584,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:584,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:587,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:588,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:589,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:589,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:591,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:593,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:593,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:594,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:596,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 597
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::RegisterHpkeProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HpkePrivateKey::set_version
    - google::crypto::tink::HpkePrivateKey::set_private_key
    - google::crypto::tink::HpkePrivateKey::SerializeAsString
    - IsOk
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - google::crypto::tink::HpkePrivateKey::mutable_public_key
    - crypto::tink::HpkePublicKey::Create
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::HpkePrivateKey::Create
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - Eq
    - google::crypto::tink::HpkePublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - HpkeParams::set_kem
    - google::crypto::tink::HpkePublicKey::set_version
    - crypto::tink::GenerateKeyPair
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeProtoSerializationTest, ParsePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:600,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:600,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:600,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:603,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:603,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:606,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:610,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:610,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:613,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:614,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:615,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:615,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 616
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParsePrivateKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:619,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:619,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:619,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:622,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:623,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:624,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:627,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:628,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:628,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:631,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:632,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:633,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:636,1
    - Dst: google::crypto::tink::HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:637,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_private_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:638,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:640,1
    - Dst: google::crypto::tink::HpkePrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:641,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:641,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:644,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:648,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:648,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:651,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:652,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:653,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:653,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 654
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::RegisterHpkeProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HpkePrivateKey::set_version
    - google::crypto::tink::HpkePrivateKey::set_private_key
    - google::crypto::tink::HpkePrivateKey::SerializeAsString
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::HpkePrivateKey::mutable_public_key
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - google::crypto::tink::HpkePublicKey::mutable_params
    - HpkeParams::set_kem
    - util::StatusOr::status
    - google::crypto::tink::HpkePublicKey::set_version
    - crypto::tink::GenerateKeyPair
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParsePrivateKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:657,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:657,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:657,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:660,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:661,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:662,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:665,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:666,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:666,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:669,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:670,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:671,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:674,1
    - Dst: google::crypto::tink::HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:675,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_private_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:676,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:678,1
    - Dst: google::crypto::tink::HpkePrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:679,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:679,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:682,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:686,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:686,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:689,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:691,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:691,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 692
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::RegisterHpkeProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HpkePrivateKey::set_version
    - google::crypto::tink::HpkePrivateKey::set_private_key
    - google::crypto::tink::HpkePrivateKey::SerializeAsString
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::HpkePrivateKey::mutable_public_key
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - google::crypto::tink::HpkePublicKey::mutable_params
    - HpkeParams::set_kem
    - util::StatusOr::status
    - google::crypto::tink::HpkePublicKey::set_version
    - crypto::tink::GenerateKeyPair
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, ParsePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:695,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:696,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:696,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:696,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:698,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:704,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:704,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:706,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:707,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:707,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:709,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:710,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:711,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:711,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:713,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:715,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:715,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:716,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:717,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:717,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:720,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:722,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:723,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:723,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:724,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:724,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:724,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:727,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:728,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:729,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:729,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:730,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:730,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:730,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:731,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:731,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:732,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:733,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:733,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:734,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:735,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:735,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:735,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:739,1
    - Dst: google::crypto::tink::HpkePrivateKey::ParseFromString
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:739,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:740,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:741,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:742,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:743,1
    - Dst: google::crypto::tink::HpkePrivateKey::version
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:743,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:743,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:744,1
    - Dst: google::crypto::tink::HpkePrivateKey::private_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:744,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:744,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:745,1
    - Dst: google::crypto::tink::HpkePrivateKey::has_public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:745,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:745,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:746,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:746,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:746,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:747,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:747,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:747,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:748,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:748,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:748,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:749,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:749,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:749,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:750,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:750,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:750,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:751,1
    - Dst: google::crypto::tink::HpkePrivateKey::public_key
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:751,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 752
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterHpkeProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HpkePrivateKey::public_key
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - google::crypto::tink::HpkePrivateKey::ParseFromString
    - GetParam
    - IsTrue
    - google::crypto::tink::HpkePrivateKey::private_key
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - crypto::tink::HpkePublicKey::Create
    - google::crypto::tink::HpkePrivateKey::has_public_key
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::HpkePrivateKey::Create
    - Eq
    - google::crypto::tink::HpkePrivateKey::version
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - crypto::tink::GenerateKeyPair
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeProtoSerializationTest, SerializePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:755,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:755,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:755,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:758,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:764,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:764,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:767,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:768,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:768,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:770,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:772,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:773,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:773,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:775,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:777,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:777,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:778,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:779,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:779,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:782,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:785,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:785,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 787
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HpkePublicKey::Create
    - util::StatusOr::status
    - crypto::tink::RegisterHpkeProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::GenerateKeyPair
    - crypto::tink::HpkePrivateKey::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeProtoSerializationTest, SerializePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config.cc:36,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config.cc:37,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hybrid_config.cc:42,1
    - Dst: absl::make_unique<HybridEncryptWrapper>
      Src: /src/tink/cc/hybrid/hybrid_config.cc:43,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config.cc:44,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hybrid_config.cc:48,1
    - Dst: absl::make_unique<HybridDecryptWrapper>
      Src: /src/tink/cc/hybrid/hybrid_config.cc:49,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config.cc:50,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config.cc:57,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hybrid_config.cc:58,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/hybrid/hybrid_config.cc:62,1
    - Dst: absl::make_unique<EciesAeadHkdfPrivateKeyManager>
      Src: /src/tink/cc/hybrid/hybrid_config.cc:63,1
    - Dst: absl::make_unique<EciesAeadHkdfPublicKeyManager>
      Src: /src/tink/cc/hybrid/hybrid_config.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config.cc:65,1
    - Dst: RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/hybrid_config.cc:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: crypto::tink::HybridConfig::Register
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config.cc
    functionUses: 2
    functionsReached:
    - absl::make_unique<EciesAeadHkdfPrivateKeyManager>
    - absl::make_unique<HybridEncryptWrapper>
    - crypto::tink::DeterministicAeadConfig::Register
    - auto::ok
    - IsFipsModeEnabled
    - RegisterEciesProtoSerialization
    - absl::make_unique<EciesAeadHkdfPublicKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - absl::make_unique<HybridDecryptWrapper>
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status HybridConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EciesParameters::CurveType
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: crypto::tink::IsNistCurve
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsNistCurve(EciesParameters::CurveType curve_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - CurveType
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: "& EciesParameters::Builder::SetCurveType(\n    CurveType curve_type)"
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters::Builder
    signature: "EciesParameters::Builder & EciesParameters::Builder::SetCurveType(\n
      \   CurveType curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: "& EciesParameters::Builder::SetHashType(\n    HashType hash_type)"
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters::Builder
    signature: "EciesParameters::Builder & EciesParameters::Builder::SetHashType(\n
      \   HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - point_format
    argTypes:
    - PointFormat
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: "& EciesParameters::Builder::SetNistCurvePointFormat(\n    PointFormat
      point_format)"
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters::Builder
    signature: "EciesParameters::Builder & EciesParameters::Builder::SetNistCurvePointFormat(\n
      \   PointFormat point_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dem_id
    argTypes:
    - DemId
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: '& EciesParameters::Builder::SetDemId(DemId dem_id)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters::Builder
    signature: EciesParameters::Builder & EciesParameters::Builder::SetDemId(DemId
      dem_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:73,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - salt
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: "& EciesParameters::Builder::SetSalt(\n    absl::string_view salt)"
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::string_view::empty
    linkageType: ''
    returnType: EciesParameters::Builder
    signature: "EciesParameters::Builder & EciesParameters::Builder::SetSalt(\n    absl::string_view
      salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: "& EciesParameters::Builder::SetVariant(\n    Variant variant)"
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters::Builder
    signature: "EciesParameters::Builder & EciesParameters::Builder::SetVariant(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set<CurveType>::set<CurveType>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:87,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:89,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:90,1
    - Dst: std::set<HashType>::set<HashType>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:95,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:98,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:99,1
    - Dst: std::set<absl::optional<PointFormat>>::optional<PointFormat>>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:105,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:108,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:110,1
    - Dst: std::set<DemId>::set<DemId>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:115,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:119,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:120,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:124,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:126,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:126,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:127,1
    - Dst: has_value
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:132,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:133,1
    - Dst: IsNistCurve
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:138,1
    - Dst: has_value
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:138,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:139,1
    - Dst: EciesParameters
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 145
    functionName: EciesParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - std::set<CurveType>::set<CurveType>
    - std::set<Variant>::set<Variant>
    - IsNistCurve
    - has_value
    - crypto::tink::internal::ExtractStatus
    - std::set<HashType>::set<HashType>
    - std::set*::end
    - EciesParameters
    - std::set<absl::optional<PointFormat>>::optional<PointFormat>>
    - std::set<DemId>::set<DemId>
    linkageType: ''
    returnType: util::StatusOr<EciesParameters>
    signature: util::StatusOr<EciesParameters> EciesParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:156,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:162,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:163,1
    - Dst: std::make_unique<AesGcmParameters>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:165,1
    - Dst: crypto::tink::AesSivParameters::Create
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:170,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:172,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:173,1
    - Dst: std::make_unique<AesSivParameters>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:175,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:180,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:182,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:183,1
    - Dst: std::make_unique<XChaCha20Poly1305Parameters>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:185,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:197,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:205,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:206,1
    - Dst: std::make_unique<AesCtrHmacAeadParameters>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:208,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:212,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 216
    functionName: crypto::tink::EciesParameters::CreateDemParameters
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::make_unique<AesSivParameters>
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::AesSivParameters::Create
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - std::make_unique<XChaCha20Poly1305Parameters>
    - util::StatusOr::ok
    - absl::StrCat
    - std::make_unique<AesCtrHmacAeadParameters>
    - std::make_unique<AesGcmParameters>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Parameters>>
    signature: util::StatusOr<std::unique_ptr<Parameters>> EciesParameters::CreateDemParameters()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EciesParameters*>
      Src: /src/tink/cc/hybrid/ecies_parameters.cc:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 242
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 242
    functionName: EciesParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/hybrid/ecies_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EciesParameters*>
    linkageType: ''
    returnType: bool
    signature: bool EciesParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:71,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: crypto::tink::HpkeConfigTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hpke_config_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:77,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:81,1
    - Dst: Registry::get_key_manager<HybridDecrypt>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:81,1
    - Dst: crypto::tink::internal::HpkePrivateKeyManager::HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:85,1
    - Dst: Registry::get_key_manager<HybridEncrypt>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:85,1
    - Dst: crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:86,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:89,1
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:90,1
    - Dst: Registry::get_key_manager<HybridDecrypt>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:90,1
    - Dst: crypto::tink::internal::HpkePrivateKeyManager::HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:94,1
    - Dst: Registry::get_key_manager<HybridEncrypt>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:94,1
    - Dst: crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
    - IsOk
    - StatusIs
    - Registry::get_key_manager<HybridEncrypt>
    - EXPECT_THAT
    - crypto::tink::internal::HpkePrivateKeyManager::HpkePrivateKeyManager
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::RegisterHpke
    - Registry::get_key_manager<HybridDecrypt>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeConfigTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:101,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:102,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:107,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:109,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:114,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:114,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:114,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:123,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:128,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:128,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:131,1
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:131,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:136,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_config_test.cc
    functionUses: 0
    functionsReached:
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::RegisterHpke
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeConfigTest, HpkeProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:145,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:146,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:149,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:152,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:153,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:154,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:156,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:157,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:158,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:161,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:163,1
    - Dst: google::crypto::tink::HpkePublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:163,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:167,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:170,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:172,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:172,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:172,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:181,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:183,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:185,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:188,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:191,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:191,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:193,1
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:193,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:196,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:198,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:201,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 205
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::RegisterHpke
    - IsOk
    - google::crypto::tink::HpkePublicKey::SerializeAsString
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::HpkePublicKey::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - google::crypto::tink::HpkePublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - HpkeParams::set_kem
    - util::StatusOr::status
    - google::crypto::tink::HpkePublicKey::set_version
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeConfigTest, HpkeProtoPublicKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:208,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:209,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:214,1
    - Dst: HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:217,1
    - Dst: HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:218,1
    - Dst: HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:219,1
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:221,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:222,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:223,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:223,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:224,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:225,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:228,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_private_key
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:229,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:230,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:230,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:231,1
    - Dst: google::crypto::tink::HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:232,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:235,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:237,1
    - Dst: google::crypto::tink::HpkePrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:237,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:241,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:244,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:246,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:246,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:246,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:255,1
    - Dst: crypto::tink::HpkePublicKey::Create
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:257,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:259,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:259,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:260,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:262,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:264,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:265,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:265,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:266,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:267,1
    - Dst: crypto::tink::HpkePrivateKey::Create
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:269,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:271,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:274,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:277,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:277,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:279,1
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:279,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:282,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:284,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:287,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewX25519Key
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HpkePrivateKey::set_version
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::RegisterHpke
    - google::crypto::tink::HpkePrivateKey::set_private_key
    - std::string
    - google::crypto::tink::HpkePrivateKey::SerializeAsString
    - IsOk
    - reinterpret_cast<const char*>
    - GTEST_SKIP
    - google::crypto::tink::HpkePrivateKey::mutable_public_key
    - crypto::tink::HpkePublicKey::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::HpkePrivateKey::Create
    - StatusIs
    - HpkeParams::set_aead
    - HpkeParams::set_kdf
    - google::crypto::tink::HpkePublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::X25519KeyPrivKeySize
    - HpkeParams::set_kem
    - util::StatusOr::status
    - google::crypto::tink::HpkePublicKey::set_version
    - google::crypto::tink::HpkePublicKey::set_public_key
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeConfigTest, HpkeProtoPrivateKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:295,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:299,1
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:299,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:299,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:303,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:304,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:305,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:306,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:307,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:311,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:312,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:312,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_config_test.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 316
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hpke_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
    - IsOk
    - HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305
    - StatusIs
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::RegisterHpke
    linkageType: ''
    returnType: void
    signature: void TEST_F(HpkeConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:37,1
    - Dst: absl::make_unique<HybridDecryptWrapper>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:39,1
    - Dst: crypto::tink::HybridDecryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:42,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: crypto::tink::HybridDecryptFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc
    functionUses: 3
    functionsReached:
    - util::Status::ok
    - ConfigGlobalRegistry
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<HybridDecryptWrapper>
    - crypto::tink::HybridDecryptFactory::GetPrimitive
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: util::StatusOr<std::unique_ptr<HybridDecrypt>> HybridDecryptFactory::GetPrimitive(const
      KeysetHandle& keyset_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:51,1
    - Dst: absl::make_unique<HybridDecryptWrapper>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:53,1
    - Dst: crypto::tink::HybridDecryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<HybridDecrypt>*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::HybridDecryptFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc
    functionUses: 4
    functionsReached:
    - absl::make_unique<HybridDecryptWrapper>
    - crypto::tink::HybridDecryptFactory::GetPrimitive
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - util::Status::ok
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridDecrypt>> HybridDecryptFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle,\n    const KeyManager<HybridDecrypt>*
      custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::HybridConfig::HybridConfig
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HybridConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/hybrid/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/hybrid/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddHybridV0
      Src: /src/tink/cc/hybrid/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigHybridV0
    functionSourceFile: /src/tink/cc/hybrid/config_v0.cc
    functionUses: 1
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddHybridV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigHybridV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPrivateKey
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::EciesPrivateKey::EciesPrivateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EciesPrivateKey(const EciesPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPrivateKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(const EciesPrivateKey& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesPrivateKey
    signature: EciesPrivateKey & operator=(const EciesPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPrivateKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::EciesPrivateKey::EciesPrivateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EciesPrivateKey(EciesPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPrivateKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(EciesPrivateKey&& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesPrivateKey
    signature: EciesPrivateKey & operator=(EciesPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: crypto::tink::EciesPrivateKey::GetNistPrivateKeyValue
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<RestrictedBigInteger>
    signature: "absl::optional<RestrictedBigInteger> GetNistPrivateKeyValue(\n      PartialKeyAccessToken
      token) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: crypto::tink::EciesPrivateKey::GetX25519PrivateKeyBytes
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<RestrictedData>
    signature: "absl::optional<RestrictedData> GetX25519PrivateKeyBytes(\n      PartialKeyAccessToken
      token) 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesPublicKey
    signature: EciesPublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key_value'
    argTypes:
    - EciesPublicKey
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: crypto::tink::EciesPrivateKey::EciesPrivateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EciesPrivateKey(const EciesPublicKey& public_key,\n                           const
      RestrictedBigInteger& private_key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    argTypes:
    - EciesPublicKey
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: crypto::tink::EciesPrivateKey::EciesPrivateKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EciesPrivateKey(const EciesPublicKey& public_key,\n                           const
      RestrictedData& private_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc: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: crypto::tink::EciesProtoSerializationTest::EciesProtoSerializationTest
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void EciesProtoSerializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:117,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:118,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesHkdfKemParams::set_curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:124,1
    - Dst: EciesHkdfKemParams::set_hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:125,1
    - Dst: EciesHkdfKemParams::set_hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curve_type
    - hash_type
    - salt
    argTypes:
    - EllipticCurveType
    - HashType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: crypto::tink::CreateKemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - EciesHkdfKemParams::set_hkdf_hash_type
    - EciesHkdfKemParams::set_hkdf_salt
    - EciesHkdfKemParams::set_curve_type
    linkageType: ''
    returnType: EciesHkdfKemParams
    signature: "EciesHkdfKemParams CreateKemParams(EllipticCurveType curve_type,\n
      \                                  HashType hash_type, absl::string_view salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:132,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:133,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:136,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:137,1
    - Dst: AesGcmKeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:138,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:138,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: crypto::tink::CreateAesGcmDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyFormat::SerializeToString
    - KeyTemplate::set_output_prefix_type
    - AesGcmKeyFormat::set_key_size
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - EciesAeadDemParams::mutable_aead_dem
    - AesGcmKeyFormat::set_version
    linkageType: ''
    returnType: EciesAeadDemParams
    signature: EciesAeadDemParams CreateAesGcmDemParams(int key_size_in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:147,1
    - Dst: AesSivKeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:148,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:151,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:152,1
    - Dst: AesSivKeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:153,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:153,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: crypto::tink::CreateAes256SivDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesSivKeyFormat::set_key_size
    - KeyTemplate::set_output_prefix_type
    - AesSivKeyFormat::set_version
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - EciesAeadDemParams::mutable_aead_dem
    - AesSivKeyFormat::SerializeToString
    linkageType: ''
    returnType: EciesAeadDemParams
    signature: EciesAeadDemParams CreateAes256SivDemParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:162,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:165,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:167,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:168,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:168,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: crypto::tink::CreateXChaCha20Poly1305DemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305KeyFormat::SerializeToString
    - KeyTemplate::set_output_prefix_type
    - XChaCha20Poly1305KeyFormat::set_version
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - EciesAeadDemParams::mutable_aead_dem
    linkageType: ''
    returnType: EciesAeadDemParams
    signature: EciesAeadDemParams CreateXChaCha20Poly1305DemParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:180,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:181,1
    - Dst: absl::optional<int>::value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:181,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:183,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:184,1
    - Dst: absl::optional<int>::value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:185,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:187,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:188,1
    - Dst: absl::optional<int>::value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:188,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:190,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:191,1
    - Dst: absl::optional<int>::value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:191,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:193,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:194,1
    - Dst: absl::optional<int>::value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:195,1
    - Dst: absl::optional<HashType>::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:197,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:198,1
    - Dst: absl::optional<HashType>::value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:199,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:203,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:205,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:206,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:206,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - aes_key_size
    - iv_size
    - version
    - hmac_key_size
    - tag_size
    - hash_type
    argTypes:
    - absl::optional<int>
    - absl::optional<int>
    - absl::optional<int>
    - absl::optional<int>
    - absl::optional<int>
    - absl::optional<HashType>
    constantsTouched: []
    func_position:
      end: 211
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 211
    functionName: crypto::tink::CreateAesCtrHmacDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - absl::optional<int>::value
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - absl::optional<HashType>::value
    - KeyTemplate::set_output_prefix_type
    - AesCtrHmacAeadKeyFormat::SerializeToString
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - EciesAeadDemParams::mutable_aead_dem
    - absl::optional<int>::has_value
    - absl::optional<HashType>::has_value
    linkageType: ''
    returnType: EciesAeadDemParams
    signature: "EciesAeadDemParams CreateAesCtrHmacDemParams(\n    absl::optional<int>
      aes_key_size, absl::optional<int> iv_size,\n    absl::optional<int> version,
      absl::optional<int> hmac_key_size,\n    absl::optional<int> tag_size, absl::optional<HashType>
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: crypto::tink::CreateAesCtrHmacDemParams
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::CreateAesCtrHmacDemParams
    linkageType: ''
    returnType: EciesAeadDemParams
    signature: EciesAeadDemParams CreateAesCtrHmacDemParams(int key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:291,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:291,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:294,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:295,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:296,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:298,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:301,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:303,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:304,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:310,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:310,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:310,1
    - Dst: dynamic_cast<const EciesParameters*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:313,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:314,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:314,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:315,1
    - Dst: EciesParameters*::GetVariant
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:315,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:316,1
    - Dst: EciesParameters*::GetCurveType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:316,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:317,1
    - Dst: EciesParameters*::GetHashType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:317,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:317,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:318,1
    - Dst: EciesParameters*::GetDemId
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:318,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:319,1
    - Dst: EciesParameters*::GetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:319,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:320,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:321,1
    - Dst: EciesParameters*::GetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:321,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 322
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - EciesParameters*::GetNistCurvePointFormat
    - EciesParameters*::GetVariant
    - ASSERT_THAT
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - EciesParameters*::GetHashType
    - IsOk
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfParams::mutable_dem_params
    - EXPECT_THAT
    - GetParam
    - EciesParameters*::GetCurveType
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesParameters*::GetSalt
    - Eq
    - util::StatusOr::get
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - dynamic_cast<const EciesParameters*>
    - NotNull
    - EciesAeadHkdfParams::mutable_kem_params
    - EciesParameters*::GetDemId
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesProtoSerializationTest, ParseParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:325,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:325,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:328,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:329,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:330,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:330,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:331,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:333,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:336,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:338,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:339,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:339,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:342,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:344,1
    - Dst: dynamic_cast<const EciesParameters*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:347,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:348,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:349,1
    - Dst: EciesParameters*::GetVariant
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:349,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 351
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - EciesParameters*::GetVariant
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - dynamic_cast<const EciesParameters*>
    - EXPECT_THAT
    - NotNull
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - Eq
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseLegacyAsCrunchySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:358,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:360,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:363,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:365,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:366,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:367,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:373,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:373,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:376,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:377,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:378,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:378,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:379,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:381,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:384,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:387,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:390,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:392,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:393,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:394,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:399,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:402,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:402,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:403,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:405,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:408,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:410,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:411,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:411,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:416,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:417,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:418,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 420
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithMissingKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:423,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:423,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:423,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:426,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:427,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:428,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:430,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:433,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:435,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:436,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:436,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:439,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:441,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:442,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:443,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithMissingDemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:449,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:449,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:449,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:452,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:453,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:454,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:454,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:456,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:459,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:461,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:462,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:462,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:465,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:467,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:468,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:469,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseParametersWithMissingPointFormatFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:474,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:474,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:474,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:477,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:478,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:479,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:480,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:480,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:481,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:483,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:486,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:488,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:489,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:489,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:492,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:494,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:494,1
    - Dst: dynamic_cast<const EciesParameters*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:497,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:497,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:498,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:498,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:499,1
    - Dst: EciesParameters*::GetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:499,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 500
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - dynamic_cast<const EciesParameters*>
    - EXPECT_THAT
    - EciesParameters*::GetSalt
    - NotNull
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - Eq
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithMissingSaltSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:503,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:503,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:503,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:508,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:510,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:511,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:511,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:516,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:517,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:518,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 521
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithMissingParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:525,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:525,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:525,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:528,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:529,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:530,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:530,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:531,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:532,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:534,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:537,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:540,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:543,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:545,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:545,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:546,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 548
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseParametersWithMissingKeyTemplateFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:551,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:551,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:551,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:554,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:554,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:556,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:556,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:557,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:559,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:562,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:564,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:565,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:565,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:570,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:571,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:572,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 574
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithUnkownCurveTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:577,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:577,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:577,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:580,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:580,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:582,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:582,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:583,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:585,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:588,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:590,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:591,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:591,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:594,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:596,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:597,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:598,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 600
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithUnkownHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:603,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:603,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:603,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:606,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:607,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:608,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:608,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:609,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:611,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:614,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:616,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:617,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:617,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:620,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:622,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:623,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:624,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 626
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - StatusIs
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseParametersWithUnkownPointFormatFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:630,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:630,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:630,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:633,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:634,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:635,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:635,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:639,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:641,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:644,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:646,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:647,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:647,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:650,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:652,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:652,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:653,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 655
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 655
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseAesCtrHmacParamsWithMissingAesCtrKeyFormat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:659,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:659,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:659,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:662,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:663,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:664,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:665,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:669,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:671,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:674,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:676,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:677,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:677,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:680,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:682,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:682,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:683,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 685
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 685
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseAesCtrHmacParamsWithMissingAesCtrParams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:688,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:688,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:688,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:691,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:692,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:693,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:694,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:698,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:700,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:703,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:705,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:706,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:706,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:709,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:711,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:711,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:712,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 714
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseAesCtrHmacParamsWithInvalidIv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:718,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:718,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:718,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:721,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:722,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:723,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:723,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:727,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:729,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:732,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:734,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:735,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:735,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:740,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:740,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:741,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 743
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseAesCtrHmacParamsWithMissingHmacKeyFormat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:747,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:747,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:747,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:750,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:751,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:752,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:753,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:757,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:759,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:762,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:764,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:765,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:765,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:770,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:770,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:771,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 773
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseAesCtrHmacParamsWithInvalidHmacKeySize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:777,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:777,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:777,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:780,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:781,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:782,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:782,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:785,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:787,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:790,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:792,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:793,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:793,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:798,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:798,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:799,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 801
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 801
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EciesProtoSerializationTest,\n       ParseAesCtrHmacParamsWithMissingHmacParams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:804,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:804,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:804,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:807,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:808,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:809,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:810,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:814,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:816,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:819,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:821,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:822,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:822,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:825,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:827,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:827,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:828,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 830
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseAesCtrHmacParamsWithInvalidHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:833,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:833,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:833,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:836,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:837,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:838,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:839,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:843,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:845,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:848,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:850,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:851,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:851,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:854,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:856,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:856,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:857,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 859
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseAesCtrHmacParamsWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:862,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:862,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:862,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:865,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:866,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:868,1
    - Dst: crypto::tink::CreateAesCtrHmacDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:869,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:873,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:875,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:878,1
    - Dst: EciesAeadHkdfKeyFormat::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:880,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:881,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:881,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:884,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:886,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:886,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:887,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 890
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EciesAeadHkdfKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - EciesAeadHkdfParams::mutable_dem_params
    - crypto::tink::CreateAesCtrHmacDemParams
    - EciesAeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParseAesCtrHmacParamsWithMismatchedSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:893,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:894,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:894,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:894,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:897,1
    - Dst: TestCase::point_format::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:902,1
    - Dst: EciesParameters::Builder::SetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:903,1
    - Dst: TestCase::salt::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:905,1
    - Dst: EciesParameters::Builder::SetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:906,1
    - Dst: EciesParameters::Builder::Build
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:908,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:909,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:909,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:912,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:915,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:915,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:916,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:916,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:916,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:919,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:920,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:921,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:921,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:922,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:922,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:923,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:924,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:924,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:925,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:928,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:929,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:929,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:930,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:931,1
    - Dst: EciesAeadHkdfKeyFormat::has_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:931,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:931,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:933,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:933,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:933,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:934,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:934,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:935,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:935,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:936,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:936,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:937,1
    - Dst: TestCase::kem_params::hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:937,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:938,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:938,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:939,1
    - Dst: TestCase::kem_params::hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:939,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:941,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:941,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:941,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:942,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:942,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:942,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:943,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:943,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:944,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:944,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:945,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:945,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:946,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:946,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:947,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:947,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:948,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:948,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:949,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:949,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:950,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 951
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfKeyFormat::has_params
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - ASSERT_THAT
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - IsOk
    - crypto::tink::RegisterEciesProtoSerialization
    - EXPECT_THAT
    - ObjectIdentifier
    - IsTrue
    - GetParam
    - EciesParameters::Builder::SetNistCurvePointFormat
    - TestCase::kem_params::hkdf_salt
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - TestCase::dem_params::aead_dem
    - TestCase::kem_params::curve_type
    - Eq
    - EciesParameters::Builder::SetSalt
    - TestCase::kem_params::hkdf_hash_type
    - util::StatusOr::get
    - TestCase::salt::has_value
    - EciesAeadHkdfKeyFormat::ParseFromString
    - NotNull
    - TestCase::point_format::has_value
    - EciesParameters::Builder::Build
    - EciesAeadHkdfKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:963,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:964,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:965,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:968,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:968,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:969,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:971,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:971,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:972,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:975,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:976,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:977,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:982,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - curve
    argTypes:
    - subtle::EllipticCurveType
    constantsTouched: []
    func_position:
      end: 984
      start: 960
    functionDepth: 4
    functionLinenumber: 960
    functionLinenumberEnd: 984
    functionName: crypto::tink::GenerateKeyPair
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - crypto::tink::internal::NewX25519Key
    - std::string
    - util::StatusOr::status
    - crypto::tink::internal::X25519KeyPrivKeySize
    - reinterpret_cast<const char*>
    - util::StatusOr::ok
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::StatusOr<KeyPair>
    signature: util::StatusOr<KeyPair> GenerateKeyPair(subtle::EllipticCurveType curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:987,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:988,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:988,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:988,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:991,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:992,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:993,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:995,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:996,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:996,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:997,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:997,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1000,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1001,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1002,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1003,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1004,1
    - Dst: EciesAeadHkdfPublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1005,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1005,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1008,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1011,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1011,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1014,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1016,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1016,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1017,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1017,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1017,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1018,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1018,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1019,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1019,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1022,1
    - Dst: TestCase::point_format::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1027,1
    - Dst: EciesParameters::Builder::SetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1028,1
    - Dst: TestCase::salt::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1030,1
    - Dst: EciesParameters::Builder::SetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1031,1
    - Dst: EciesParameters::Builder::Build
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1034,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1035,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1035,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1039,1
    - Dst: EcPoint
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1041,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1041,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1041,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1042,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1044,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1045,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1047,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1047,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1049,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1049,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 986
    functionDepth: 2
    functionLinenumber: 986
    functionLinenumberEnd: 1050
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EciesAeadHkdfPublicKey::SerializeAsString
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - TestCase::point_format::has_value
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfParams::mutable_dem_params
    - EXPECT_THAT
    - GetIdRequirement
    - EcPoint
    - GetParam
    - EciesParameters::Builder::SetNistCurvePointFormat
    - EciesAeadHkdfPublicKey::set_version
    - GetParameters
    - EciesAeadHkdfPublicKey::set_y
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - crypto::tink::util::Enums::ProtoToSubtle
    - Eq
    - EciesParameters::Builder::SetSalt
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - TestCase::salt::has_value
    - crypto::tink::GenerateKeyPair
    - EciesAeadHkdfParams::mutable_kem_params
    - EciesParameters::Builder::Build
    - TestCase::kem_params::curve_type
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesProtoSerializationTest, ParsePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1053,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1053,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1053,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1056,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1056,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1059,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1063,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1063,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1066,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1067,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1068,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1069,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1070,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1072
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParsePublicKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1075,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1075,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1075,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1078,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1079,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1080,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1080,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1081,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1084,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1085,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1085,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1088,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1089,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1090,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1091,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1092,1
    - Dst: EciesAeadHkdfPublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1093,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1093,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1096,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1100,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1100,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1105,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1106,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1107,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1111
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EciesAeadHkdfPublicKey::SerializeAsString
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfParams::mutable_dem_params
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfPublicKey::set_version
    - EciesAeadHkdfPublicKey::set_y
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - util::StatusOr::status
    - HasSubstr
    - crypto::tink::GenerateKeyPair
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParsePublicKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1115,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1115,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1115,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1118,1
    - Dst: TestCase::point_format::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1123,1
    - Dst: EciesParameters::Builder::SetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1124,1
    - Dst: TestCase::salt::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1126,1
    - Dst: EciesParameters::Builder::SetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1127,1
    - Dst: EciesParameters::Builder::Build
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1130,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1130,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1132,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1133,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1134,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1134,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1138,1
    - Dst: EcPoint
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1139,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1139,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1139,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1140,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1142,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1145,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1145,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1151,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1152,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1152,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1152,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1155,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1157,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1158,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1158,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1159,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1159,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1161,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1161,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1163,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1163,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1166,1
    - Dst: EciesAeadHkdfPublicKey::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1166,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1167,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1168,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1170,1
    - Dst: EciesAeadHkdfPublicKey::version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1170,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1170,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1175,1
    - Dst: EciesAeadHkdfPublicKey::x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1175,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1175,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1176,1
    - Dst: EciesAeadHkdfPublicKey::y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1176,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1176,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1177,1
    - Dst: EciesAeadHkdfPublicKey::has_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1177,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1178,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1178,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1181,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1181,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1182,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1182,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1183,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1184,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1184,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1185,1
    - Dst: TestCase::kem_params::hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1186,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1186,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1187,1
    - Dst: TestCase::kem_params::hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1189,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1189,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1190,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1190,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1191,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1191,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1192,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1193,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1193,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1194,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1195,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1195,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1196,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1113
    functionDepth: 2
    functionLinenumber: 1113
    functionLinenumberEnd: 1197
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - absl::StrCat
    - EciesAeadHkdfPublicKey::has_params
    - EciesAeadHkdfPublicKey::ParseFromString
    - std::string
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfPublicKey::version
    - EXPECT_THAT
    - ObjectIdentifier
    - EcPoint
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - EciesAeadHkdfPublicKey::y
    - IsTrue
    - GetParam
    - EciesParameters::Builder::SetNistCurvePointFormat
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - EciesAeadHkdfPublicKey::x
    - TestCase::kem_params::hkdf_salt
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - TestCase::dem_params::aead_dem
    - crypto::tink::util::Enums::ProtoToSubtle
    - Eq
    - EciesParameters::Builder::SetSalt
    - TestCase::kem_params::hkdf_hash_type
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - TestCase::salt::has_value
    - EciesAeadHkdfPublicKey::params
    - internal::ProtoKeySerialization*::IdRequirement
    - crypto::tink::GenerateKeyPair
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - TestCase::point_format::has_value
    - EciesParameters::Builder::Build
    - TestCase::kem_params::curve_type
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesProtoSerializationTest, SerializePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1201,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1201,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1201,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1204,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1205,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1206,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1208,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1210,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1211,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1212,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1212,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1215,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1216,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1217,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1218,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1221,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1222,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1223,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1225,1
    - Dst: EciesAeadHkdfPrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1226,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1226,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1232,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1232,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1235,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1237,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1238,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1238,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1239,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1239,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1240,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1240,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1243,1
    - Dst: TestCase::point_format::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1248,1
    - Dst: EciesParameters::Builder::SetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1249,1
    - Dst: TestCase::salt::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1251,1
    - Dst: EciesParameters::Builder::SetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1252,1
    - Dst: EciesParameters::Builder::Build
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1256,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1256,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1260,1
    - Dst: EcPoint
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1262,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1262,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1262,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1263,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1265,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1268,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1268,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1272,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1274,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1275,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1276,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1278,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1280,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1280,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1283,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1285,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1199
    functionDepth: 2
    functionLinenumber: 1199
    functionLinenumberEnd: 1286
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - TestCase::point_format::has_value
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfPrivateKey::set_version
    - EXPECT_THAT
    - GetIdRequirement
    - EcPoint
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - GetParam
    - EciesParameters::Builder::SetNistCurvePointFormat
    - EciesAeadHkdfPublicKey::set_version
    - EciesAeadHkdfPrivateKey::SerializeAsString
    - GetParameters
    - EciesAeadHkdfPublicKey::set_y
    - TestCase::id::has_value
    - EciesAeadHkdfPrivateKey::set_key_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - crypto::tink::util::Enums::ProtoToSubtle
    - Eq
    - EciesParameters::Builder::SetSalt
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - TestCase::salt::has_value
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - crypto::tink::EciesPrivateKey::CreateForNistCurve
    - crypto::tink::GenerateKeyPair
    - EciesAeadHkdfParams::mutable_kem_params
    - EciesParameters::Builder::Build
    - TestCase::kem_params::curve_type
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesProtoSerializationTest, ParsePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1289,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1289,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1289,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1292,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1292,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1299,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1299,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1302,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1303,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1304,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1305,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1306,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1308
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParsePrivateKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1311,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1311,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1311,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1314,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1315,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1316,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1316,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1317,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1319,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1322,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1323,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1323,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1326,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1327,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1328,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1329,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1332,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1333,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1334,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1336,1
    - Dst: EciesAeadHkdfPrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1337,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1337,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1344,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1344,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1347,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1349,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1350,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1351,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1355
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfPrivateKey::set_version
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfPublicKey::set_version
    - EciesAeadHkdfPrivateKey::SerializeAsString
    - EciesAeadHkdfPublicKey::set_y
    - EciesAeadHkdfPrivateKey::set_key_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - util::StatusOr::status
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - HasSubstr
    - crypto::tink::GenerateKeyPair
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParsePrivateKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1358,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1358,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1358,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1361,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1362,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1363,1
    - Dst: crypto::tink::CreateAesGcmDemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1363,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1364,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1366,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1370,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1370,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1373,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1374,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1375,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1376,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1379,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1380,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1381,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1383,1
    - Dst: EciesAeadHkdfPrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1384,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1384,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1387,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1391,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1391,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1394,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1396,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1396,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1396,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1398
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - EciesAeadHkdfParams::set_ec_point_format
    - crypto::tink::RegisterEciesProtoSerialization
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfPrivateKey::set_version
    - EXPECT_THAT
    - crypto::tink::CreateAesGcmDemParams
    - EciesAeadHkdfPublicKey::set_version
    - EciesAeadHkdfPrivateKey::SerializeAsString
    - EciesAeadHkdfPublicKey::set_y
    - EciesAeadHkdfPrivateKey::set_key_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - util::StatusOr::status
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - HasSubstr
    - crypto::tink::GenerateKeyPair
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, ParsePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1401,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1402,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1402,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1402,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1405,1
    - Dst: TestCase::point_format::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1410,1
    - Dst: EciesParameters::Builder::SetNistCurvePointFormat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1411,1
    - Dst: TestCase::salt::has_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1413,1
    - Dst: EciesParameters::Builder::SetSalt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1414,1
    - Dst: EciesParameters::Builder::Build
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1416,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1417,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1417,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1419,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1420,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1420,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1421,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1421,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1425,1
    - Dst: EcPoint
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1426,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1426,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1426,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1427,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1429,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1430,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1432,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1432,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1436,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1438,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1439,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1440,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1442,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1444,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1444,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1445,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1447,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1447,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1450,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1452,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1453,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1453,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1454,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1454,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1454,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1457,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1458,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1459,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1459,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1460,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1460,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1460,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1461,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1461,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1462,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1463,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1463,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1464,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1465,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1465,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1465,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1468,1
    - Dst: EciesAeadHkdfPrivateKey::ParseFromString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1468,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1469,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1470,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1471,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1475,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1476,1
    - Dst: EciesAeadHkdfPrivateKey::version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1476,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1476,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1477,1
    - Dst: EciesAeadHkdfPrivateKey::key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1477,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1478,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1478,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1479,1
    - Dst: EciesAeadHkdfPrivateKey::has_public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1479,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1479,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1480,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1480,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1480,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1481,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1481,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1481,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1483,1
    - Dst: EciesAeadHkdfPrivateKey::version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1483,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1483,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1484,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1484,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1485,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1485,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1486,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1486,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1487,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1487,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1488,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1488,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1488,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1490,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1490,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1490,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1491,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1491,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1492,1
    - Dst: TestCase::kem_params::curve_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1492,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1493,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1493,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1494,1
    - Dst: TestCase::kem_params::hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1494,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1495,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1495,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1496,1
    - Dst: TestCase::kem_params::hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1496,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1498,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1498,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1498,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1499,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1499,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1500,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1501,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1502,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1503,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1503,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1504,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1504,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1509,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1509,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1510,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1510,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1511,1
    - Dst: TestCase::dem_params::aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1511,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1512,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1512,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1514
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - absl::StrCat
    - std::string
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - crypto::tink::RegisterEciesProtoSerialization
    - EXPECT_THAT
    - ObjectIdentifier
    - EcPoint
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - EciesParameters::Builder::SetNistCurvePointFormat
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - EciesAeadHkdfPrivateKey::public_key
    - TestCase::kem_params::hkdf_salt
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - TestCase::dem_params::aead_dem
    - EciesAeadHkdfPrivateKey::key_value
    - EciesAeadHkdfPrivateKey::has_public_key
    - crypto::tink::util::Enums::ProtoToSubtle
    - EciesAeadHkdfPrivateKey::version
    - Eq
    - EciesParameters::Builder::SetSalt
    - TestCase::kem_params::hkdf_hash_type
    - EciesAeadHkdfPrivateKey::ParseFromString
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - TestCase::salt::has_value
    - crypto::tink::EciesPrivateKey::CreateForNistCurve
    - internal::ProtoKeySerialization*::IdRequirement
    - crypto::tink::GenerateKeyPair
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - TestCase::point_format::has_value
    - EciesParameters::Builder::Build
    - TestCase::kem_params::curve_type
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesProtoSerializationTest, SerializePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1517,1
    - Dst: crypto::tink::RegisterEciesProtoSerialization
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1517,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1517,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1520,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1526,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1526,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1528,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1529,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1530,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1530,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1533,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1535,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1536,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1536,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1539,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1541,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1541,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1542,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1543,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1543,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1546,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1549,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1549,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1550,1
    - Dst: HasSubstr
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1552
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterEciesProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - crypto::tink::GenerateKeyPair
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    linkageType: ''
    returnType: void
    signature: void TEST_F(EciesProtoSerializationTest, SerializePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1559,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1561,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1562,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1563,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1563,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1565,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1568,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1569,1
    - Dst: crypto::tink::CreateKemParams
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1569,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1571,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1573,1
    - Dst: crypto::tink::GenerateKeyPair
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1575,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1576,1
    - Dst: EciesAeadHkdfParams::kem_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1576,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1577,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1577,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1580,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1581,1
    - Dst: EciesAeadHkdfPublicKey::set_y
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1582,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1583,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1586,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1587,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1588,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1590,1
    - Dst: EciesAeadHkdfPrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1591,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1591,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1594,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1597,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1597,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1600,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1601,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1602,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1602,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1605,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1611,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1611,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1612,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1612,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1555
    functionDepth: 2
    functionLinenumber: 1555
    functionLinenumberEnd: 1613
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EciesAeadHkdfKeyFormat::mutable_params
    - KeyTemplate::mutable_value
    - EciesAeadDemParams::mutable_aead_dem
    - EciesAeadHkdfPublicKey::set_x
    - XChaCha20Poly1305KeyFormat::SerializeToString
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - KeyTemplate::set_output_prefix_type
    - EciesAeadHkdfParams::set_ec_point_format
    - EciesAeadHkdfParams::mutable_dem_params
    - EciesAeadHkdfPrivateKey::set_version
    - EXPECT_THAT
    - EciesAeadHkdfPublicKey::set_version
    - EciesAeadHkdfPrivateKey::SerializeAsString
    - GetParameters
    - EciesAeadHkdfPublicKey::set_y
    - EciesAeadHkdfPrivateKey::set_key_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - XChaCha20Poly1305KeyFormat::set_version
    - EciesAeadHkdfParams::kem_params
    - KeyTemplate::set_type_url
    - crypto::tink::util::Enums::ProtoToSubtle
    - Eq
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - crypto::tink::GenerateKeyPair
    - EciesAeadHkdfParams::mutable_kem_params
    - crypto::tink::CreateKemParams
    linkageType: ''
    returnType: void
    signature: void TEST(AeadDemTypeUrlExceptionTest, ParseWithInvalidUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kem_id
    argTypes:
    - KemId
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: '& HpkeParameters::Builder::SetKemId(KemId kem_id)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters::Builder
    signature: HpkeParameters::Builder & HpkeParameters::Builder::SetKemId(KemId kem_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kdf_id
    argTypes:
    - KdfId
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: '& HpkeParameters::Builder::SetKdfId(KdfId kdf_id)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters::Builder
    signature: HpkeParameters::Builder & HpkeParameters::Builder::SetKdfId(KdfId kdf_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aead_id
    argTypes:
    - AeadId
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: '& HpkeParameters::Builder::SetAeadId(AeadId aead_id)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters::Builder
    signature: HpkeParameters::Builder & HpkeParameters::Builder::SetAeadId(AeadId
      aead_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: '& HpkeParameters::Builder::SetVariant(Variant variant)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters::Builder
    signature: HpkeParameters::Builder & HpkeParameters::Builder::SetVariant(Variant
      variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set<KemId>::set<KemId>
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:50,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:53,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:54,1
    - Dst: std::set<KdfId>::set<KdfId>
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:58,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:60,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:61,1
    - Dst: std::set<AeadId>::set<AeadId>
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:65,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:67,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:68,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:72,1
    - Dst: std::set*::find
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:74,1
    - Dst: std::set*::end
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:75,1
    - Dst: HpkeParameters
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: HpkeParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - std::set<KdfId>::set<KdfId>
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - HpkeParameters
    - std::set*::end
    - std::set<AeadId>::set<AeadId>
    - std::set<KemId>::set<KemId>
    linkageType: ''
    returnType: util::StatusOr<HpkeParameters>
    signature: util::StatusOr<HpkeParameters> HpkeParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const HpkeParameters*>
      Src: /src/tink/cc/hybrid/hpke_parameters.cc:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: HpkeParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const HpkeParameters*>
    linkageType: ''
    returnType: bool
    signature: bool HpkeParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:64,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:65,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:70,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:72,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:74,1
    - Dst: crypto::tink::internal::EcPointDecode
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:83,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:86,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - kem_id
    - public_key_bytes
    argTypes:
    - HpkeParameters::KemId
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 92
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 92
    functionName: crypto::tink::ValidatePublicKey
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - absl::string_view::length
    - crypto::tink::internal::EcPointDecode
    - absl::StrCat
    - absl::StrFormat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidatePublicKey(HpkeParameters::KemId kem_id,\n                               absl::string_view
      public_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:96,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:98,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:101,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:104,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:104,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:105,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:111,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:111,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:112,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:114,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:116,1
    - Dst: GetVariant
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - HpkeParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const HpkeParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:125,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:126,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:131,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:132,1
    - Dst: ValidatePublicKey
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:139,1
    - Dst: GetKemId
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:139,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:140,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:145,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:146,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:147,1
    - Dst: crypto::tink::HpkePublicKey::HpkePublicKey
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - token
    argTypes:
    - HpkeParameters
    - absl::string_view
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 152
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 152
    functionName: crypto::tink::HpkePublicKey::Create
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.cc
    functionUses: 30
    functionsReached:
    - ValidatePublicKey
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::HpkePublicKey::HpkePublicKey
    - crypto::tink::internal::ExtractStatus
    - GetKemId
    - util::StatusOr::ok
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<HpkePublicKey>
    signature: "util::StatusOr<HpkePublicKey> HpkePublicKey::Create(\n    const HpkeParameters&
      parameters, absl::string_view public_key_bytes,\n    absl::optional<int> id_requirement,
      PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const HpkePublicKey*>
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:155,1
    - Dst: GetParameters
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:159,1
    - Dst: HpkePublicKey*::GetParameters
      Src: /src/tink/cc/hybrid/hpke_public_key.cc:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: HpkePublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/hybrid/hpke_public_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const HpkePublicKey*>
    - GetParameters
    - HpkePublicKey*::GetParameters
    linkageType: ''
    returnType: bool
    signature: bool HpkePublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:53,1
    - Dst: auto::public_key
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: crypto::tink::GetNewEciesPublicKey
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::public_key
    - crypto::tink::test::GetEciesAesGcmHkdfTestKey
    linkageType: ''
    returnType: EciesAeadHkdfPublicKey
    signature: EciesAeadHkdfPublicKey GetNewEciesPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HybridEncryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:61,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:63,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:64,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:65,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:66,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:67,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::HybridEncryptFactory::GetPrimitive
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridEncryptFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:78,1
    - Dst: crypto::tink::GetNewEciesPublicKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:78,1
    - Dst: AddRawKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:82,1
    - Dst: crypto::tink::GetNewEciesPublicKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:82,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:86,1
    - Dst: crypto::tink::GetNewEciesPublicKey
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:86,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:89,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:92,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:92,1
    - Dst: crypto::tink::HybridEncryptFactory::GetPrimitive
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:95,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:97,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:97,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:98,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:104,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:105,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:105,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::GetNewEciesPublicKey
    - auto::ok
    - AddRawKey
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::HybridConfig::Register
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::HybridEncryptFactory::GetPrimitive
    - auto::value
    - ASSERT_TRUE
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridEncryptFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:104,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:114,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:117,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:119,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:119,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:122,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:125,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:128,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:128,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:129,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:132,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:136,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:136,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:137,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:137,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:138,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:139,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:139,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:140,1
    - Dst: util::StatusOr::GetNistPrivateKeyValue
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:140,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:142,1
    - Dst: util::StatusOr::GetX25519PrivateKeyBytes
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:142,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:142,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 144
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetNistPrivateKeyValue
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - IsOk
    - EXPECT_THAT
    - GetParam
    - crypto::tink::internal::NewEcKey
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetX25519PrivateKeyBytes
    - util::StatusOr::GetIdRequirement
    - crypto::tink::EciesPrivateKey::CreateForNistCurve
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesPrivateKeyTest, CreateNistCurvePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:154,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:158,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:161,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:161,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:162,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:163,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:164,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:164,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:165,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:166,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:169,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:172,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:175,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:179,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:179,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:180,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:180,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:181,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:181,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:182,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:182,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:183,1
    - Dst: util::StatusOr::GetNistPrivateKeyValue
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:183,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:183,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:185,1
    - Dst: util::StatusOr::GetX25519PrivateKeyBytes
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:185,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:185,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 187
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewX25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetParameters
    - util::StatusOr::GetNistPrivateKeyValue
    - util::StatusOr::GetPublicKey
    - std::string
    - IsOk
    - reinterpret_cast<const char*>
    - EXPECT_THAT
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetX25519PrivateKeyBytes
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::StatusOr::GetIdRequirement
    - IsEmpty
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPublicKeyTest, CreateX25519PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:190,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:200,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:203,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:205,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:205,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:208,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:211,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:214,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:217,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:217,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:220,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:220,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:221,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::EciesPrivateKey::CreateForNistCurve
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - GetParam
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesPrivateKeyTest, CreateMismatchedNistCurveKeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:234,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:236,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:238,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:241,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:243,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:244,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:246,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:246,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:247,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 250
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPrivateKeyTest, CreateMismatchedX25519KeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:260,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:264,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:267,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:267,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:268,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:270,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:270,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:271,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:272,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:273,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:273,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:274,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:277,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:282,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:283,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 287
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - absl::HexStringToBytes
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPrivateKeyTest, CreateX25519PrivateKeyWithInvalidKeyLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:290,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:300,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:303,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:305,1
    - Dst: BigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:305,1
    - Dst: crypto::tink::EciesPublicKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:308,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:311,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:314,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:314,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:315,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:318,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:320,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:320,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForNistCurve
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:323,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:325,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:327,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:329,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 289
    functionDepth: 4
    functionLinenumber: 289
    functionLinenumberEnd: 331
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::util::SecretDataAsStringView
    - EXPECT_TRUE
    - crypto::tink::EciesPrivateKey::CreateForNistCurve
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::EciesPublicKey::CreateForNistCurve
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(EciesPrivateKeyTest, NistCurvePrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:335,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:341,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:341,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:345,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:345,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:348,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:348,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:349,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:350,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:351,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:351,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:352,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:353,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:356,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:358,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:359,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:359,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:362,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:363,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:364,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:367,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:368,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:369,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:369,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:371,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:372,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:373,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 375
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - EXPECT_FALSE
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPrivateKeyTest, X25519PrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:385,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:385,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:389,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:392,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:392,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:393,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:394,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:395,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:395,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:396,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:397,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:400,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:403,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:406,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:408,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:409,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:409,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:412,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:413,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:414,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:414,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:417,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:419,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:419,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:421,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:422,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:423,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 425
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - EXPECT_FALSE
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:429,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:435,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:435,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:438,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:439,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:439,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:442,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:442,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:443,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:444,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:445,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:445,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:446,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:447,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:450,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:452,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:453,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:453,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:456,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:457,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:458,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:458,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:460,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:461,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:462,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/ecies_private_key_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 464
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::internal::NewX25519Key
    - std::string
    - crypto::tink::internal::X25519KeyPrivKeySize
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - reinterpret_cast<const char*>
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - EXPECT_FALSE
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(EciesPrivateKeyTest, DifferentKeyTypesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:60,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:61,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:63,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:69,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:70,1
    - Dst: EciesAeadHkdfPrivateKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:70,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - EciesAeadHkdfPrivateKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:76,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:77,1
    - Dst: auto::mutable_aead_dem
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:78,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:78,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:79,1
    - Dst: auto::set_curve_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:80,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:81,1
    - Dst: auto::set_hkdf_salt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_hkdf_salt
    - EciesAeadHkdfKeyFormat::mutable_params
    - AeadKeyTemplates::Aes128Gcm
    - auto::set_curve_type
    - auto::set_hkdf_hash_type
    - auto::mutable_aead_dem
    linkageType: ''
    returnType: EciesAeadHkdfKeyFormat
    signature: EciesAeadHkdfKeyFormat CreateValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:87,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:87,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:93,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:96,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:96,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:101,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:103,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:108,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:111,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:111,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoKemCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:116,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:119,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:119,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfKeyFormat::mutable_params
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoKemHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:125,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:126,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:129,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:130,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:131,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:131,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:132,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:133,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:134,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:135,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:136,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:137,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:139,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:141,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:141,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:141,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:142,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:142,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:142,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: EciesAeadHkdfPrivateKey::key_value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKey::public_key
    - IsEmpty
    - IsOk
    - Not
    - ASSERT_THAT
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - EciesAeadHkdfPrivateKey::key_value
    - EciesAeadHkdfKeyFormat::params
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:147,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: crypto::tink::CreateValidKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: EciesAeadHkdfPrivateKey CreateValidKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:153,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:154,1
    - Dst: EciesAeadHkdfPrivateKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:154,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - EciesAeadHkdfPrivateKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:159,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:159,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:164,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:166,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:166,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKeyManager
    - EciesAeadHkdfPrivateKey::set_version
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:171,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:174,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:174,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyNoPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:179,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:184,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyNoDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:189,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:194,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:194,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyNoKemCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:199,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:204,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:204,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, ValidateKeyNoKemHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:210,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:211,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:213,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:214,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:214,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:215,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:215,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:216,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:216,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:217,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:218,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:218,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:219,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:220,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:220,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:221,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:222,1
    - Dst: EciesAeadHkdfPublicKey::params
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:222,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:223,1
    - Dst: EciesAeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:229,1
    - Dst: EciesAeadHkdfPublicKey::x
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:229,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:229,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:230,1
    - Dst: EciesAeadHkdfPublicKey::y
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:230,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:230,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 231
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EciesAeadHkdfPrivateKey::public_key
    - EciesAeadHkdfPublicKey::x
    - EciesAeadHkdfPublicKey::params
    - IsOk
    - Not
    - ASSERT_THAT
    - Eq
    - EciesAeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - EciesAeadHkdfPublicKey::y
    - crypto::tink::CreateValidKey
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:234,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:234,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:235,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:237,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:239,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:243,1
    - Dst: crypto::tink::EciesAeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:247,1
    - Dst: crypto::tink::HybridEncryptThenDecrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:247,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:247,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 251
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::EciesAeadHkdfHybridEncrypt::New
    - IsOk
    - crypto::tink::HybridEncryptThenDecrypt
    - ASSERT_THAT
    - EciesAeadHkdfPrivateKeyManager
    - auto::value
    - absl::make_unique<AesGcmKeyManager>
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:254,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:254,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:255,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:257,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:260,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:260,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:264,1
    - Dst: crypto::tink::EciesAeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:268,1
    - Dst: crypto::tink::HybridEncryptThenDecrypt
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:269,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 272
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::EciesAeadHkdfHybridEncrypt::New
    - IsOk
    - Not
    - crypto::tink::HybridEncryptThenDecrypt
    - ASSERT_THAT
    - EciesAeadHkdfPrivateKeyManager
    - auto::value
    - absl::make_unique<AesGcmKeyManager>
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EciesAeadHkdfPrivateKeyManagerTest, CreateDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:72,1
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:72,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:82,1
    - Dst: util::StatusOr::GetKemId
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:83,1
    - Dst: util::StatusOr::GetKdfId
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:84,1
    - Dst: util::StatusOr::GetAeadId
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:85,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:86,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:86,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::GetAeadId
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - util::StatusOr::GetKdfId
    - std::tie
    - EXPECT_THAT
    - util::StatusOr::GetKemId
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeParametersTest, Build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:98,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:98,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:109,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:109,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithoutVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:122,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:122,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithInvalidKemIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:133,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithoutKemIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:146,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:146,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithInvalidKdfIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:157,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:157,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithoutKdfIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:170,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:170,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithInvalidAeadIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:181,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:181,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, BuildWithoutAeadIdFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:197,1
    - Dst: HpkeParameters::GetVariant
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:197,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:198,1
    - Dst: HpkeParameters::HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:198,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParameters::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - HpkeParameters::HasIdRequirement
    - ASSERT_THAT
    - EXPECT_THAT
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:213,1
    - Dst: HpkeParameters::GetVariant
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:213,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:213,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:214,1
    - Dst: HpkeParameters::HasIdRequirement
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:214,1
    - Dst: IsTrue
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParameters::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - HpkeParameters::HasIdRequirement
    - ASSERT_THAT
    - EXPECT_THAT
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:222,1
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:222,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:230,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:241,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:255,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:264,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:266,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 268
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:278,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, KemIdNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:301,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, KdfIdNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:324,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:335,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hpke_parameters_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 337
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeParametersTest, AeadIdNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.h:52,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' recipient_key'
    - sender_kem
    - dem_helper
    argTypes:
    - google::crypto::tink::EciesAeadHkdfPublicKey
    - std::unique_ptr<const subtle::EciesHkdfSenderKemBoringSsl>
    - std::unique_ptr<const EciesAeadHkdfDemHelper>
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: crypto::tink::EciesAeadHkdfHybridEncrypt::EciesAeadHkdfHybridEncrypt
    functionSourceFile: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EciesAeadHkdfHybridEncrypt(\n      const google::crypto::tink::EciesAeadHkdfPublicKey&
      recipient_key,\n      std::unique_ptr<const subtle::EciesHkdfSenderKemBoringSsl>
      sender_kem,\n      std::unique_ptr<const EciesAeadHkdfDemHelper> dem_helper)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: crypto::tink::HpkeParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: crypto::tink::HpkeParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::HpkeParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeParameters
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: crypto::tink::HpkeParameters::HpkeParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeParameters(const HpkeParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeParameters
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& operator=(const HpkeParameters& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters
    signature: HpkeParameters & operator=(const HpkeParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeParameters
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: crypto::tink::HpkeParameters::HpkeParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeParameters(HpkeParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeParameters
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: '& operator=(HpkeParameters&& other)'
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeParameters
    signature: HpkeParameters & operator=(HpkeParameters&& other)
  - 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: crypto::tink::HpkeParameters::GetKemId
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KemId
    signature: KemId GetKemId() 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: crypto::tink::HpkeParameters::GetKdfId
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KdfId
    signature: KdfId GetKdfId() 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: crypto::tink::HpkeParameters::GetAeadId
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AeadId
    signature: AeadId GetAeadId() 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: crypto::tink::HpkeParameters::GetVariant
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::HpkeParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - kem_id
    - kdf_id
    - aead_id
    - variant
    argTypes:
    - KemId
    - KdfId
    - AeadId
    - Variant
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: crypto::tink::HpkeParameters::HpkeParameters
    functionSourceFile: /src/tink/cc/hybrid/hpke_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HpkeParameters(KemId kem_id, KdfId kdf_id, AeadId aead_id,\n
      \                         Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: crypto::tink::HybridDecryptSetWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() 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: crypto::tink::HybridDecryptSetWrapperTest::TearDown
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridDecryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:79,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:80,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:81,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:81,1
    - Dst: PrimitiveSet<HybridDecrypt>::PrimitiveSet<HybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:86,1
    - Dst: HybridDecryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:87,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:88,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:89,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:90,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:91,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:92,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:93,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:93,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:101,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:102,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:103,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:104,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:107,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:108,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:109,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:110,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:113,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:114,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:115,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:116,1
    - Dst: PrimitiveSet<HybridDecrypt>::PrimitiveSet<HybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:122,1
    - Dst: DummyHybridDecrypt::DummyHybridDecrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:124,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:125,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:126,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:126,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:127,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:127,1
    - Dst: std::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:128,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:129,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:129,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:130,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:131,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:132,1
    - Dst: std::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:133,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:134,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:134,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:135,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:136,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:138,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:138,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:138,1
    - Dst: HybridDecryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:141,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:143,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:143,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:143,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:144,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:144,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:149,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:153,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:153,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:154,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:154,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:160,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:161,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:162,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:163,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:164,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:164,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:169,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:173,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:173,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:174,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:174,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:179,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:180,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:181,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:182,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:183,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 187
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - HybridDecryptWrapper
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - DummyHybridDecrypt::DummyHybridDecrypt
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::status
    - DummyHybridEncrypt
    - std::string
    - IsOk
    - std::unique_ptr::Decrypt
    - KeysetInfo::KeyInfo*::set_status
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::unique_ptr::AddPrimitive
    - PrimitiveSet<HybridDecrypt>::PrimitiveSet<HybridDecrypt>
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    - KeysetInfo::KeyInfo*::set_key_id
    - auto::value
    - KeysetInfo::add_key_info
    - std::make_unique<DummyHybridDecrypt>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridDecryptSetWrapperTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:193,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:194,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 2
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo PopulateKeyInfo(uint32_t key_id,\n                                    OutputPrefixType
      out_prefix_type,\n                                    KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:202,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:203,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:205,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:206,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:208,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:220,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:224,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:226,1
    - Dst: auto::get
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:231,1
    - Dst: New
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:231,1
    - Dst: Return
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:233,1
    - Dst: ByMove
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:233,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:233,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:236,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:236,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:240,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:241,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:242,1
    - Dst: IsNull
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: crypto::tink::HybridDecryptSetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<NiceMock<MockMonitoringClient>>
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: ~HybridDecryptSetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~HybridDecryptSetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:255,1
    - Dst: absl::make_unique<PrimitiveSet<HybridDecrypt>>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:260,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:261,1
    - Dst: absl::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:262,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:266,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:267,1
    - Dst: absl::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:268,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:271,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:274,1
    - Dst: absl::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:275,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:278,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:278,1
    - Dst: HybridDecryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:284,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:285,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:285,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:285,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:289,1
    - Dst: get_identifier
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:289,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:290,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:293,1
    - Dst: Log
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:294,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:295,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:295,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 297
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - HybridDecryptWrapper
    - std::move
    - absl::make_unique<PrimitiveSet<HybridDecrypt>>
    - ASSERT_THAT
    - absl::StrCat
    - crypto::tink::Decrypt
    - DummyHybridEncrypt
    - auto::AddPrimitive
    - IsOk
    - crypto::tink::CreateTestKeysetInfo
    - EXPECT_THAT
    - get_identifier
    - EXPECT_CALL
    - IsOkAndHolds
    - KeysetInfo::key_info
    - absl::make_unique<DummyHybridDecrypt>
    - auto::set_primary
    - Log
    - NotNull
    - std::string::size
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridDecryptSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringEncryptSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:302,1
    - Dst: absl::make_unique<PrimitiveSet<HybridDecrypt>>
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:307,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:307,1
    - Dst: crypto::tink::CreateAlwaysFailingHybridDecrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:308,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:312,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:312,1
    - Dst: crypto::tink::CreateAlwaysFailingHybridDecrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:313,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:316,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:319,1
    - Dst: crypto::tink::CreateAlwaysFailingHybridDecrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:320,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:320,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:321,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:321,1
    - Dst: NotNull
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:322,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:322,1
    - Dst: HybridDecryptWrapper
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:326,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:333,1
    - Dst: LogFailure
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:333,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:334,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:334,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 336
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - LogFailure
    - HybridDecryptWrapper
    - crypto::tink::CreateAlwaysFailingHybridDecrypt
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - absl::make_unique<PrimitiveSet<HybridDecrypt>>
    - ASSERT_THAT
    - auto::set_primary
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - StatusIs
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridDecryptSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringEncryptFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:56,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: crypto::tink::HybridKeyTemplatesTest::SetUpTestSuite
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::HybridConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:66,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:67,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:67,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:69,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:69,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:70,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:70,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:71,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:73,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:73,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:75,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:75,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:76,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:76,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:76,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:78,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:78,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:79,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:80,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:80,1
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:89,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:89,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:90,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesP256HkdfHmacSha256Aes128Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:99,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:100,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:102,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:102,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:103,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:103,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:104,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:106,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:106,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:108,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:108,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:109,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:109,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:109,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:111,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:112,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:113,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:113,1
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:122,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:122,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:123,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128Gcm
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesP256HkdfHmacSha512Aes128Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "HybridKeyTemplates::\n      EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix"
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:133,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:134,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:136,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:136,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:137,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:137,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:138,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:140,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:140,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:142,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:142,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:143,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:143,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:143,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:145,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:146,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:146,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:147,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:147,1
    - Dst: "HybridKeyTemplates::\n      EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix"
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:156,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:156,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:157,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - "HybridKeyTemplates::\n      EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix"
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridKeyTemplatesTest,\n       EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:166,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:167,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:169,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:169,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:170,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:170,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:171,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:173,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:173,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:175,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:175,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:176,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:176,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:176,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:178,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:179,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:180,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:180,1
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:189,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:189,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:190,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesP256HkdfHmacSha256Aes128CtrHmacSha256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:199,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:200,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:202,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:202,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:203,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:203,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:204,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:206,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:206,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:208,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:208,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:209,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:209,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:209,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:211,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:212,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:213,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:213,1
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:222,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:222,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:223,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128CtrHmacSha256
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesP256HkdfHmacSha512Aes128CtrHmacSha256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:232,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:233,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:233,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:235,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:235,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:236,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:236,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:237,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:239,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:239,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:241,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:241,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:242,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:242,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:242,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:244,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:245,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:246,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:246,1
    - Dst: HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:255,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:255,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:256,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128Gcm
    - HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesP256CompressedHkdfHmacSha256Aes128Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "HybridKeyTemplates::\n      EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256"
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:264,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:266,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:267,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:267,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:269,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:269,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:270,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:270,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:271,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:273,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:273,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:275,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:275,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:275,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:276,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:276,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:276,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:278,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:279,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:280,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:280,1
    - Dst: "HybridKeyTemplates::\n      EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256"
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:283,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:289,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:289,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:290,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - "HybridKeyTemplates::\n      EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256"
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridKeyTemplatesTest,\n       EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:299,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:300,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:300,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:302,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:302,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:303,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:303,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:304,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:306,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:306,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:308,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:308,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:309,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:309,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:309,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:311,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:312,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:312,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:313,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:313,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:322,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:322,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:323,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 324
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesX25519HkdfHmacSha256Aes128Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:332,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:333,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:335,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:335,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:336,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:336,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:337,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:338,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:339,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:339,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:341,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:341,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:341,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:342,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:342,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:342,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:343,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:344,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:344,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:345,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:345,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:346,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:346,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:355,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:355,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:356,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:356,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 357
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesX25519HkdfHmacSha256Aes256Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:366,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:367,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:369,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:369,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:369,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:370,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:370,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:371,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:373,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:373,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:375,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:375,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:375,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:376,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:376,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:376,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:378,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:379,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:380,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:380,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:389,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:389,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:389,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:390,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 391
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::curve_type
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: "void TEST_F(HybridKeyTemplatesTest,\n       EciesX25519HkdfHmacSha256Aes128CtrHmacSha256)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:398,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:399,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:400,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:400,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:402,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:402,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:402,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:403,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:403,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:404,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:406,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:406,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:408,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:408,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:409,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:409,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:409,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:411,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:411,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:412,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:413,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:413,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:418,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:422,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:422,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:422,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:423,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:423,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 424
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305
    - EXPECT_TRUE
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesX25519HkdfHmacSha256XChaCha20Poly1305)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256DeterministicAesSiv
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:432,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:432,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:433,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:433,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:435,1
    - Dst: EciesAeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:435,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:435,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:436,1
    - Dst: EciesAeadHkdfKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:436,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:437,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:439,1
    - Dst: auto::output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:439,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:441,1
    - Dst: auto::type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:441,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:442,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:442,1
    - Dst: auto::aead_dem
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:442,1
    - Dst: EciesAeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:444,1
    - Dst: auto::curve_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:445,1
    - Dst: auto::hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:446,1
    - Dst: auto::hkdf_salt
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:446,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256DeterministicAesSiv
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:455,1
    - Dst: EciesAeadHkdfPrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:455,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:455,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:456,1
    - Dst: EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:456,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 457
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256DeterministicAesSiv
    - auto::curve_type
    - EciesAeadHkdfKeyFormat::mutable_params
    - DeterministicAeadKeyTemplates::Aes256Siv
    - type_url
    - IsOk
    - EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
    - EXPECT_THAT
    - output_prefix_type
    - EXPECT_EQ
    - auto::hkdf_hash_type
    - auto::output_prefix_type
    - EciesAeadHkdfPrivateKeyManager::get_key_type
    - auto::aead_dem
    - auto::hkdf_salt
    - EciesAeadHkdfKeyFormat::ParseFromString
    - auto::value
    - value
    - EciesAeadHkdfKeyFormat::params
    - auto::type_url
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, EciesX25519HkdfHmacSha256DeterministicAesSiv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:464,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:465,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:466,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:468,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:468,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:468,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:469,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:469,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:470,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:470,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:470,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:471,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:471,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:471,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:472,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:472,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:472,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:477,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:481,1
    - Dst: HpkePrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:481,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:481,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:482,1
    - Dst: HpkePrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:482,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 483
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - EXPECT_EQ
    - IsOk
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm
    - type_url
    - value
    - ASSERT_TRUE
    - EXPECT_THAT
    - HpkePrivateKeyManager::get_key_type
    - HpkePrivateKeyManager::ValidateKeyFormat
    - output_prefix_type
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, HpkeX25519HkdfSha256Aes128Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes128GcmRaw
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:491,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:492,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:494,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:494,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:494,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:495,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:495,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:496,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:496,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:496,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:497,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:497,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:497,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:498,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:498,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:498,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes128GcmRaw
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:507,1
    - Dst: HpkePrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:507,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:507,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:508,1
    - Dst: HpkePrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:508,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 509
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes128GcmRaw
    - HpkeKeyFormat::has_params
    - EXPECT_EQ
    - IsOk
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - type_url
    - value
    - EXPECT_THAT
    - ASSERT_TRUE
    - HpkePrivateKeyManager::get_key_type
    - HpkePrivateKeyManager::ValidateKeyFormat
    - output_prefix_type
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, HpkeX25519HkdfSha256Aes128GcmRaw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:517,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:517,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:518,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:518,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:520,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:520,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:520,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:521,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:521,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:522,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:522,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:523,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:523,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:524,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:524,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:524,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:533,1
    - Dst: HpkePrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:533,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:533,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:534,1
    - Dst: HpkePrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:534,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 535
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm
    - EXPECT_EQ
    - IsOk
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - type_url
    - value
    - EXPECT_THAT
    - ASSERT_TRUE
    - HpkePrivateKeyManager::get_key_type
    - HpkePrivateKeyManager::ValidateKeyFormat
    - output_prefix_type
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, HpkeX25519HkdfSha256Aes256Gcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes256GcmRaw
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:543,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:544,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:544,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:546,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:546,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:546,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:547,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:548,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:548,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:548,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:549,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:549,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:549,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:550,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:550,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:550,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256Aes256GcmRaw
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:554,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:559,1
    - Dst: HpkePrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:559,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:559,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:560,1
    - Dst: HpkePrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:560,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 561
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - EXPECT_EQ
    - IsOk
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - HybridKeyTemplates::HpkeX25519HkdfSha256Aes256GcmRaw
    - type_url
    - value
    - EXPECT_THAT
    - ASSERT_TRUE
    - HpkePrivateKeyManager::get_key_type
    - HpkePrivateKeyManager::ValidateKeyFormat
    - output_prefix_type
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, HpkeX25519HkdfSha256Aes256GcmRaw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:568,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:569,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:570,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:570,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:572,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:572,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:572,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:573,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:574,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:574,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:574,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:575,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:575,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:575,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:576,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:576,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:576,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:585,1
    - Dst: HpkePrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:585,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:585,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:586,1
    - Dst: HpkePrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:586,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 587
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - EXPECT_EQ
    - IsOk
    - HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - type_url
    - value
    - EXPECT_THAT
    - ASSERT_TRUE
    - HpkePrivateKeyManager::get_key_type
    - HpkePrivateKeyManager::ValidateKeyFormat
    - output_prefix_type
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, HpkeX25519HkdfSha256ChaCha20Poly1305)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305Raw
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:594,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:595,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:595,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:596,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:596,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:598,1
    - Dst: HpkeKeyFormat::ParseFromString
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:598,1
    - Dst: value
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:598,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:599,1
    - Dst: HpkeKeyFormat::has_params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:599,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:600,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:600,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:601,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:601,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:601,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:602,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:602,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:602,1
    - Dst: HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305Raw
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:606,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:607,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:611,1
    - Dst: HpkePrivateKeyManager::get_key_type
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:611,1
    - Dst: type_url
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:611,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:612,1
    - Dst: HpkePrivateKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:612,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_key_templates_test.cc:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 613
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat::has_params
    - EXPECT_EQ
    - IsOk
    - HpkeKeyFormat::ParseFromString
    - HpkeKeyFormat::params
    - type_url
    - value
    - EXPECT_THAT
    - ASSERT_TRUE
    - HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305Raw
    - HpkePrivateKeyManager::get_key_type
    - HpkePrivateKeyManager::ValidateKeyFormat
    - output_prefix_type
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridKeyTemplatesTest, HpkeX25519HkdfSha256ChaCha20Poly1305Raw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:88,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:89,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: crypto::tink::HybridConfigTest::SetUp
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:94,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:98,1
    - Dst: Registry::get_key_manager<HybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:98,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:99,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:102,1
    - Dst: Registry::get_key_manager<HybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:102,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:106,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:107,1
    - Dst: Registry::get_key_manager<HybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:107,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:111,1
    - Dst: Registry::get_key_manager<HybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:111,1
    - Dst: EciesAeadHkdfPublicKeyManager
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Registry::get_key_manager<HybridEncrypt>
    - crypto::tink::HybridConfig::Register
    - EciesAeadHkdfPrivateKeyManager
    - crypto::tink::internal::IsFipsModeEnabled
    - EciesAeadHkdfPublicKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - Registry::get_key_manager<HybridDecrypt>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:120,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:124,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:124,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:127,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:128,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:129,1
    - Dst: absl::make_unique<PrimitiveSet<HybridEncrypt>>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:131,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:132,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:133,1
    - Dst: absl::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:137,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:139,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:141,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:141,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:141,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:143,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:143,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:147,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:148,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 150
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - auto::ok
    - std::move
    - crypto::tink::HybridConfig::Register
    - absl::make_unique<PrimitiveSet<HybridEncrypt>>
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::StrCat
    - ASSERT_TRUE
    - auto::status
    - DummyHybridEncrypt
    - auto::AddPrimitive
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - absl::make_unique<DummyHybridEncrypt>
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_EQ
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - auto::set_primary
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, EncryptWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:155,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:159,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:159,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:162,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:163,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:164,1
    - Dst: absl::make_unique<PrimitiveSet<HybridDecrypt>>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:166,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:167,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:168,1
    - Dst: absl::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:172,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:174,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:174,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:176,1
    - Dst: auto::ok
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:176,1
    - Dst: auto::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:176,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:178,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:182,1
    - Dst: auto::value
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:183,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 185
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - ASSERT_EQ
    - auto::ok
    - std::move
    - crypto::tink::HybridConfig::Register
    - absl::make_unique<PrimitiveSet<HybridDecrypt>>
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::StrCat
    - ASSERT_TRUE
    - auto::status
    - DummyHybridEncrypt
    - auto::AddPrimitive
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - absl::make_unique<DummyHybridDecrypt>
    - auto::set_primary
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, DecryptWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:188,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:189,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:194,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:196,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:201,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:201,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:201,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:210,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:215,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:215,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:218,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:218,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:223,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 229
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::HybridConfig::Register
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, EciesProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EciesHkdfKemParams::set_curve_type
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:233,1
    - Dst: EciesHkdfKemParams::set_hkdf_hash_type
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:234,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:238,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:239,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:241,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:242,1
    - Dst: AesGcmKeyFormat::SerializeToString
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:243,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:243,1
    - Dst: EciesAeadDemParams::mutable_aead_dem
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:244,1
    - Dst: EciesAeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:247,1
    - Dst: EciesAeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:248,1
    - Dst: EciesAeadHkdfParams::set_ec_point_format
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 252
    functionName: crypto::tink::CreateParams
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyFormat::SerializeToString
    - EciesHkdfKemParams::set_hkdf_hash_type
    - KeyTemplate::set_output_prefix_type
    - EciesAeadHkdfParams::set_ec_point_format
    - AesGcmKeyFormat::set_key_size
    - EciesAeadHkdfParams::mutable_dem_params
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - EciesAeadDemParams::mutable_aead_dem
    - EciesAeadHkdfParams::mutable_kem_params
    - EciesHkdfKemParams::set_curve_type
    - AesGcmKeyFormat::set_version
    linkageType: ''
    returnType: EciesAeadHkdfParams
    signature: EciesAeadHkdfParams CreateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:255,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:256,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:260,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:260,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:263,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:264,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:265,1
    - Dst: crypto::tink::CreateParams
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:265,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:268,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:270,1
    - Dst: EciesAeadHkdfPublicKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:270,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:274,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:277,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:279,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:279,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:279,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:288,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:291,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:294,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:297,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:300,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:300,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:300,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:302,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:302,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:305,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:307,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:310,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 314
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::HybridConfig::Register
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EciesAeadHkdfPublicKey::SerializeAsString
    - EciesAeadHkdfPublicKey::set_x
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - EciesAeadHkdfPublicKey::set_version
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::CreateParams
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, EciesProtoPublicKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:317,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:318,1
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:322,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:323,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:326,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:326,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:327,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:329,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:329,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:330,1
    - Dst: EciesAeadHkdfPublicKey::set_version
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:333,1
    - Dst: EciesAeadHkdfPublicKey::set_x
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:334,1
    - Dst: EciesAeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:335,1
    - Dst: crypto::tink::CreateParams
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:335,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:338,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:339,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:340,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:343,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:345,1
    - Dst: EciesAeadHkdfPrivateKey::SerializeAsString
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:345,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:349,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:352,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:354,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:354,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:354,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:363,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:363,1
    - Dst: crypto::tink::EciesPublicKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:366,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:368,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:369,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:369,1
    - Dst: crypto::tink::EciesPrivateKey::CreateForCurveX25519
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:372,1
    - Dst: RestrictedData
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:374,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:374,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:376,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:379,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:381,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:382,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:382,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:382,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:384,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:384,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:384,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:387,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:389,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:392,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:394,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:395,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 396
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewX25519Key
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::HybridConfig::Register
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EciesAeadHkdfPublicKey::set_x
    - std::string
    - EciesAeadHkdfPublicKey::mutable_params
    - IsOk
    - reinterpret_cast<const char*>
    - EciesAeadHkdfPrivateKey::set_version
    - GTEST_SKIP
    - crypto::tink::EciesPrivateKey::CreateForCurveX25519
    - EciesAeadHkdfPublicKey::set_version
    - EciesAeadHkdfPrivateKey::SerializeAsString
    - EciesAeadHkdfPrivateKey::set_key_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::CreateParams
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - crypto::tink::EciesPublicKey::CreateForCurveX25519
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::StatusOr::status
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, EciesProtoPrivateKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:400,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:400,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:401,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:404,1
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:404,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:404,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:408,1
    - Dst: "HybridKeyTemplates::\n          EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256"
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:409,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:411,1
    - Dst: HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:412,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:413,1
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:414,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:415,1
    - Dst: HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:416,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:417,1
    - Dst: "HybridKeyTemplates::\n          EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix"
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:418,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:420,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:421,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:422,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:423,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:424,1
    - Dst: HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:425,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:428,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:429,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:429,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/hybrid_config_test.cc:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 433
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/hybrid/hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305
    - crypto::tink::KeysetHandle::GenerateNew
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm
    - IsOk
    - crypto::tink::HybridConfig::Register
    - "HybridKeyTemplates::\n          EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256"
    - crypto::tink::KeyGenConfigGlobalRegistry
    - "HybridKeyTemplates::\n          EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix"
    - std::list::push_back
    - HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256
    - crypto::tink::internal::IsFipsModeEnabled
    - HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm
    - EXPECT_THAT
    - GTEST_SKIP
    - HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256
    linkageType: ''
    returnType: void
    signature: void TEST_F(HybridConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/hybrid/hpke_config.cc:34,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_config.cc:35,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hpke_config.cc:40,1
    - Dst: absl::make_unique<HybridEncryptWrapper>
      Src: /src/tink/cc/hybrid/hpke_config.cc:41,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_config.cc:42,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/hybrid/hpke_config.cc:45,1
    - Dst: absl::make_unique<HybridDecryptWrapper>
      Src: /src/tink/cc/hybrid/hpke_config.cc:46,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_config.cc:47,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/hybrid/hpke_config.cc:53,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/hpke_config.cc:54,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/hybrid/hpke_config.cc:58,1
    - Dst: absl::make_unique<internal::HpkePrivateKeyManager>
      Src: /src/tink/cc/hybrid/hpke_config.cc:59,1
    - Dst: absl::make_unique<internal::HpkePublicKeyManager>
      Src: /src/tink/cc/hybrid/hpke_config.cc:60,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/hpke_config.cc:61,1
    - Dst: crypto::tink::RegisterHpkeProtoSerialization
      Src: /src/tink/cc/hybrid/hpke_config.cc:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 66
    functionName: crypto::tink::RegisterHpke
    functionSourceFile: /src/tink/cc/hybrid/hpke_config.cc
    functionUses: 6
    functionsReached:
    - absl::make_unique<HybridEncryptWrapper>
    - util::Status::ok
    - crypto::tink::RegisterHpkeProtoSerialization
    - absl::make_unique<internal::HpkePublicKeyManager>
    - absl::make_unique<internal::HpkePrivateKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - crypto::tink::IsFipsModeEnabled
    - absl::make_unique<HybridDecryptWrapper>
    - crypto::tink::util::OkStatus
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterHpke()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::EciesPublicKey::EciesPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EciesPublicKey(const EciesPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPublicKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const EciesPublicKey& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesPublicKey
    signature: EciesPublicKey & operator=(const EciesPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPublicKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::EciesPublicKey::EciesPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EciesPublicKey(EciesPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EciesPublicKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(EciesPublicKey&& other)'
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesPublicKey
    signature: EciesPublicKey & operator=(EciesPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: crypto::tink::EciesPublicKey::GetNistCurvePoint
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<EcPoint>
    signature: absl::optional<EcPoint> GetNistCurvePoint(PartialKeyAccessToken token)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: crypto::tink::EciesPublicKey::GetX25519CurvePointBytes
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<absl::string_view>
    signature: "absl::optional<absl::string_view> GetX25519CurvePointBytes(\n      PartialKeyAccessToken
      token) 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: crypto::tink::EciesPublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EciesParameters
    signature: EciesParameters & GetParameters() const override
  - 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: crypto::tink::EciesPublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' point'
    - id_requirement
    - output_prefix
    argTypes:
    - EciesParameters
    - EcPoint
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: crypto::tink::EciesPublicKey::EciesPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EciesPublicKey(const EciesParameters& parameters,\n                          const
      EcPoint& point,\n                          absl::optional<int> id_requirement,\n
      \                         absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - output_prefix
    argTypes:
    - EciesParameters
    - absl::string_view
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: crypto::tink::EciesPublicKey::EciesPublicKey
    functionSourceFile: /src/tink/cc/hybrid/ecies_public_key.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EciesPublicKey(const EciesParameters& parameters,\n                          absl::string_view
      public_key_bytes,\n                          absl::optional<int> id_requirement,\n
      \                         absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:42,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:43,1
    - Dst: has_params
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:47,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:50,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:52,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:55,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:56,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:60,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:63,1
    - Dst: HpkeEncrypt::HpkeEncrypt
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' recipient_public_key'
    argTypes:
    - HpkePublicKey
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: crypto::tink::HpkeEncrypt::New
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.cc
    functionUses: 0
    functionsReached:
    - public_key
    - has_params
    - crypto::tink::internal::ExtractStatus
    - params
    - absl::WrapUnique
    - HpkeEncrypt::HpkeEncrypt
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridEncrypt>> HpkeEncrypt::New(\n
      \   const HpkePublicKey& recipient_public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeParamsProtoToStruct
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:69,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:69,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:70,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:70,1
    - Dst: crypto::tink::internal::HpkeContext::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:73,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:74,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:75,1
    - Dst: Seal
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:78,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:79,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:79,1
    - Dst: crypto::tink::internal::ConcatenatePayload
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:81,1
    - Dst: EncapsulatedKey
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - plaintext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: crypto::tink::HpkeEncrypt::Encrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.cc
    functionUses: 0
    functionsReached:
    - public_key
    - util::StatusOr::status
    - crypto::tink::internal::HpkeParamsProtoToStruct
    - params
    - crypto::tink::internal::HpkeContext::SetupSender
    - util::StatusOr::ok
    - Seal
    - crypto::tink::internal::ConcatenatePayload
    - EncapsulatedKey
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HpkeEncrypt::Encrypt(\n    absl::string_view
      plaintext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeDecrypt
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: crypto::tink::HpkeDecrypt::HpkeDecrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeDecrypt(const HpkeDecrypt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeDecrypt
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const HpkeDecrypt& other)'
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeDecrypt
    signature: HpkeDecrypt & operator=(const HpkeDecrypt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeDecrypt
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: crypto::tink::HpkeDecrypt::HpkeDecrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeDecrypt(HpkeDecrypt&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeDecrypt
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(HpkeDecrypt&& other)'
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeDecrypt
    signature: HpkeDecrypt & operator=(HpkeDecrypt&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' hpke_params'
    - ' recipient_private_key'
    argTypes:
    - google::crypto::tink::HpkeParams
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: crypto::tink::HpkeDecrypt::HpkeDecrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HpkeDecrypt(const google::crypto::tink::HpkeParams& hpke_params,\n
      \             const util::SecretData& recipient_private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:39,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - kem
    argTypes:
    - google::crypto::tink::HpkeKem
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: crypto::tink::internal::HpkeKemProtoToEnum
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<HpkeKem>
    signature: util::StatusOr<HpkeKem> HpkeKemProtoToEnum(google::crypto::tink::HpkeKem
      kem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:50,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - kdf
    argTypes:
    - google::crypto::tink::HpkeKdf
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::HpkeKdfProtoToEnum
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<HpkeKdf>
    signature: util::StatusOr<HpkeKdf> HpkeKdfProtoToEnum(google::crypto::tink::HpkeKdf
      kdf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:66,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - aead
    argTypes:
    - google::crypto::tink::HpkeAead
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::HpkeAeadProtoToEnum
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<HpkeAead>
    signature: "util::StatusOr<HpkeAead> HpkeAeadProtoToEnum(\n    google::crypto::tink::HpkeAead
      aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeKemProtoToEnum
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:76,1
    - Dst: google::crypto::tink::HpkeParams::kem
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:76,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:77,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:77,1
    - Dst: crypto::tink::internal::HpkeKdfProtoToEnum
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:78,1
    - Dst: google::crypto::tink::HpkeParams::kdf
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:78,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:79,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:79,1
    - Dst: crypto::tink::internal::HpkeAeadProtoToEnum
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:80,1
    - Dst: google::crypto::tink::HpkeParams::aead
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - params
    argTypes:
    - google::crypto::tink::HpkeParams
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::HpkeParamsProtoToStruct
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util.cc
    functionUses: 1
    functionsReached:
    - google::crypto::tink::HpkeParams::kdf
    - util::StatusOr::status
    - crypto::tink::internal::HpkeAeadProtoToEnum
    - google::crypto::tink::HpkeParams::kem
    - crypto::tink::internal::HpkeKemProtoToEnum
    - util::StatusOr::ok
    - crypto::tink::internal::HpkeKdfProtoToEnum
    - google::crypto::tink::HpkeParams::aead
    linkageType: ''
    returnType: util::StatusOr<HpkeParams>
    signature: "util::StatusOr<HpkeParams> HpkeParamsProtoToStruct(\n    google::crypto::tink::HpkeParams
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:93,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - kem
    argTypes:
    - google::crypto::tink::HpkeKem
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::HpkeEncapsulatedKeyLength
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - absl::StrCat
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<int32_t>
    signature: "util::StatusOr<int32_t> HpkeEncapsulatedKeyLength(\n    google::crypto::tink::HpkeKem
      kem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::HpkePrivateKeyManager::HybridDecryptFactory::Create
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeDecrypt::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<HybridDecrypt>> Create(\n
      \       const google::crypto::tink::HpkePrivateKey& private_key)\n        const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HybridDecryptFactory>
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::HpkePrivateKeyManager::HpkePrivateKeyManager
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h
    functionUses: 1
    functionsReached:
    - absl::make_unique<HybridDecryptFactory>
    linkageType: ''
    returnType: void
    signature: void HpkePrivateKeyManager()
  - 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: crypto::tink::internal::HpkePrivateKeyManager::get_version
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::HpkePrivateKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:43,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:48,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:49,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:50,1
    - Dst: EVP_HPKE_KEM_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:50,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:51,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:55,1
    - Dst: EVP_HPKE_KEM_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:56,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:60,1
    - Dst: EVP_HPKE_KDF_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:60,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:64,1
    - Dst: EVP_HPKE_AEAD_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 65
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - EVP_HPKE_KEM_id
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - EVP_HPKE_AEAD_id
    - EVP_HPKE_KDF_id
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - Eq
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, ValidParamsFromProto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:73,1
    - Dst: EVP_HPKE_KEM_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:74,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:78,1
    - Dst: EVP_HPKE_KDF_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:78,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:82,1
    - Dst: EVP_HPKE_AEAD_id
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EVP_HPKE_KEM_id
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - EVP_HPKE_AEAD_id
    - EVP_HPKE_KDF_id
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - Eq
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, ValidParamsFromStruct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:90,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:90,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:91,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:92,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, UnknownKemParamFromProto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:98,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:98,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:99,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:100,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, UnknownKemParamFromStruct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:108,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:109,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:109,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:110,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, UnknownKdfParamFromProto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:116,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:117,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:117,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:118,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, UnknownKdfParamFromStruct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:126,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:127,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:128,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:128,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, UnknownAeadParamFromProto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:134,1
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:135,1
    - Dst: crypto::tink::internal::KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:136,1
    - Dst: crypto::tink::internal::AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:136,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::internal::AeadParam
    - crypto::tink::internal::KemParam
    - crypto::tink::internal::KdfParam
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeUtilBoringSslTest, UnknownAeadParamFromStruct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:45,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:45,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:45,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:46,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:46,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:48,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePublicKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyManagerTest, BasicAccessors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:53,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:53,1
    - Dst: HpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:53,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc: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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePublicKeyManager
    - HpkePublicKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyManagerTest, ValidateEmptyKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:58,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:58,1
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:58,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePublicKeyManager
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyManagerTest, ValidateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:66,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:66,1
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:66,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:67,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePublicKeyManager
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyManagerTest, ValidateKeyWithInvalidKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:74,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:74,1
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:74,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:75,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePublicKeyManager
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyManagerTest, ValidateKeyWithInvalidKdfFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:82,1
    - Dst: HpkePublicKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:83,1
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:83,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:84,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePublicKeyManager
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePublicKeyManagerTest, ValidateKeyWithInvalidAeadFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewX25519Key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:50,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:51,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:52,1
    - Dst: set_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:54,1
    - Dst: crypto::tink::internal::X25519KeyPubKeySize
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:54,1
    - Dst: set_private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:55,1
    - Dst: crypto::tink::internal::X25519KeyPrivKeySize
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:55,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key'
    argTypes:
    - HpkePublicKey
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::GenerateX25519Key
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewX25519Key
    - crypto::tink::internal::X25519KeyPrivKeySize
    - util::StatusOr::status
    - set_public_key
    - util::StatusOr::ok
    - set_private_key
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::X25519KeyPubKeySize
    linkageType: ''
    returnType: util::Status
    signature: "util::Status GenerateX25519Key(HpkePublicKey& public_key,\n                               HpkePrivateKey&
      private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:62,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:63,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:64,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:68,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:69,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:70,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:73,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:74,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:76,1
    - Dst: set_private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:79,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:80,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:80,1
    - Dst: set_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:81,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:81,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key'
    - ec_curve_type
    argTypes:
    - HpkePublicKey
    - HpkePrivateKey
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 83
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::GenerateEcKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::NewEcKey
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - util::StatusOr::status
    - set_public_key
    - crypto::tink::internal::EcPointEncode
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - set_private_key
    - crypto::tink::util::OkStatus
    - util::StatusOr::value
    linkageType: ''
    returnType: util::Status
    signature: "util::Status GenerateEcKey(HpkePublicKey& public_key,\n                           HpkePrivateKey&
      private_key,\n                           EllipticCurveType ec_curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:90,1
    - Dst: ValidateParams
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:92,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - HpkeKeyFormat
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::HpkePrivateKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - params
    - crypto::tink::internal::ExtractStatus
    - has_params
    - ValidateParams
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HpkePrivateKeyManager::ValidateKeyFormat(\n    const
      HpkeKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:99,1
    - Dst: crypto::tink::internal::HpkePrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:99,1
    - Dst: HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:100,1
    - Dst: HpkePublicKey*::set_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:101,1
    - Dst: crypto::tink::internal::HpkePrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:101,1
    - Dst: HpkePublicKey*::mutable_params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:102,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:102,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:104,1
    - Dst: GenerateX25519Key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:106,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:107,1
    - Dst: GenerateEcKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:114,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:115,1
    - Dst: GenerateEcKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:122,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:123,1
    - Dst: GenerateEcKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:130,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:137,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:139,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - HpkeKeyFormat
    constantsTouched: []
    func_position:
      end: 142
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 142
    functionName: crypto::tink::internal::HpkePrivateKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - HpkePrivateKey::set_version
    - GenerateEcKey
    - HpkePublicKey*::mutable_params
    - GenerateX25519Key
    - util::Status::ok
    - HpkePublicKey*::set_version
    - crypto::tink::internal::ExtractStatus
    - params
    - HpkePrivateKey::mutable_public_key
    - absl::StrCat
    - crypto::tink::internal::HpkePrivateKeyManager::get_version
    linkageType: ''
    returnType: util::StatusOr<HpkePrivateKey>
    signature: "util::StatusOr<HpkePrivateKey> HpkePrivateKeyManager::CreateKey(\n
      \   const HpkeKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: crypto::tink::internal::HpkePrivateKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: util::StatusOr<HpkePublicKey>
    signature: "util::StatusOr<HpkePublicKey> HpkePrivateKeyManager::GetPublicKey(\n
      \   const HpkePrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:151,1
    - Dst: version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:151,1
    - Dst: crypto::tink::internal::HpkePrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:151,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:152,1
    - Dst: has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:153,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:154,1
    - Dst: ValidateKeyAndVersion
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:157,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:157,1
    - Dst: crypto::tink::internal::HpkePrivateKeyManager::get_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: crypto::tink::internal::HpkePrivateKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - version
    - ValidateKeyAndVersion
    - has_public_key
    - crypto::tink::internal::HpkePrivateKeyManager::get_version
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HpkePrivateKeyManager::ValidateKey(\n    const HpkePrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:61,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:63,1
    - Dst: crypto::tink::internal::HpkeKeyBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:65,1
    - Dst: HpkeParams::kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:66,1
    - Dst: crypto::tink::internal::HpkeDecryptBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:71,1
    - Dst: Decrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:74,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeKeyBoringSsl::New
    - IsOk
    - crypto::tink::internal::HpkeDecryptBoringSsl::New
    - HpkeParams::kem
    - ASSERT_THAT
    - IsOkAndHolds
    - Decrypt
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeDecryptBoringSslTest, SetupSenderContextAndDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:89,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:90,1
    - Dst: crypto::tink::internal::HpkeKeyBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:92,1
    - Dst: HpkeParams::kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:93,1
    - Dst: crypto::tink::internal::HpkeDecryptBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:98,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:98,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeKeyBoringSsl::New
    - crypto::tink::internal::DefaultHpkeTestParams
    - util::StatusOr::status
    - IsOk
    - crypto::tink::internal::HpkeDecryptBoringSsl::New
    - HpkeParams::kem
    - ASSERT_THAT
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeDecryptBoringSslWithBadParamTest, BadParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:42,1
    - Dst: crypto::tink::internal::ValidateParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:42,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:42,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - IsOk
    - crypto::tink::internal::ValidateParams
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyManagerUtilTest, ValidateValidParamsSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:49,1
    - Dst: crypto::tink::internal::ValidateParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:50,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:50,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:52,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:54,1
    - Dst: crypto::tink::internal::ValidateParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:54,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:54,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:59,1
    - Dst: crypto::tink::internal::ValidateParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:59,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:59,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - StatusIs
    - crypto::tink::internal::ValidateParams
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyManagerUtilTest, ValidateInvalidParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:66,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:71,1
    - Dst: crypto::tink::internal::ValidateKeyAndVersion
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::ValidateKeyAndVersion
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyManagerUtilTest, ValidateValidKeyAndVersionSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:75,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:76,1
    - Dst: HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:81,1
    - Dst: crypto::tink::internal::ValidateKeyAndVersion
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:81,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - ASSERT_THAT
    - HpkePublicKey::set_version
    - crypto::tink::internal::ValidateKeyAndVersion
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyManagerUtilTest, ValidateTooHighKeyVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:86,1
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:87,1
    - Dst: HpkePublicKey::clear_params
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:92,1
    - Dst: crypto::tink::internal::ValidateKeyAndVersion
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:92,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::CreateHpkePublicKey
    - ASSERT_THAT
    - HpkePublicKey::clear_params
    - crypto::tink::internal::ValidateKeyAndVersion
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyManagerUtilTest, ValidateMissingKeyParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:46,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:47,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:48,1
    - Dst: KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:50,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:51,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:52,1
    - Dst: AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:54,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:56,1
    - Dst: EVP_HPKE_CTX_setup_sender
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:61,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:62,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:63,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:63,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:64,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:65,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:65,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:66,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:67,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:72,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:72,1
    - Dst: HpkeContextBoringSsl::HpkeContextBoringSsl
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:72,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:74,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ' params'
    - recipient_public_key
    - context_info
    argTypes:
    - HpkeParams
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::HpkeContextBoringSsl::SetupSender
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc
    functionUses: 0
    functionsReached:
    - AeadParam
    - SslUniquePtr::get
    - KemParam
    - absl::string_view::size
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - std::string
    - crypto::tink::internal::ExtractStatus
    - std::move
    - KdfParam
    - reinterpret_cast<const char *>
    - absl::WrapUnique
    - util::StatusOr::ok
    - HpkeContextBoringSsl::HpkeContextBoringSsl
    - EVP_HPKE_CTX_setup_sender
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<SenderHpkeContextBoringSsl>
    signature: "util::StatusOr<SenderHpkeContextBoringSsl> HpkeContextBoringSsl::SetupSender(const
      HpkeParams& params,\n                                  absl::string_view recipient_public_key,\n
      \                                 absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:82,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:83,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:84,1
    - Dst: KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:86,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:87,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:88,1
    - Dst: AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:92,1
    - Dst: EVP_HPKE_KEY_init
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:95,1
    - Dst: bssl::ScopedEVP_HPKE_KEY::get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:96,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:97,1
    - Dst: data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:97,1
    - Dst: size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:99,1
    - Dst: EVP_HPKE_CTX_setup_recipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:104,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:105,1
    - Dst: bssl::ScopedEVP_HPKE_KEY::get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:105,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:106,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:106,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:107,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:108,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:108,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:109,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:112,1
    - Dst: HpkeContextBoringSsl::HpkeContextBoringSsl
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' params'
    - ' recipient_private_key'
    - encapsulated_key
    - info
    argTypes:
    - HpkeParams
    - util::SecretData
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 113
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 113
    functionName: crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc
    functionUses: 0
    functionsReached:
    - AeadParam
    - SslUniquePtr::get
    - KemParam
    - EVP_HPKE_CTX_setup_recipient
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - size
    - crypto::tink::internal::ExtractStatus
    - absl::string_view::size
    - EVP_HPKE_KEY_init
    - KdfParam
    - std::move
    - bssl::ScopedEVP_HPKE_KEY::get
    - absl::WrapUnique
    - util::StatusOr::ok
    - HpkeContextBoringSsl::HpkeContextBoringSsl
    - absl::string_view::data
    - data
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeContextBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<HpkeContextBoringSsl>> HpkeContextBoringSsl::SetupRecipient(\n
      \   const HpkeParams& params, const util::SecretData& recipient_private_key,\n
      \   absl::string_view encapsulated_key, absl::string_view info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:118,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:120,1
    - Dst: EVP_HPKE_CTX_max_overhead
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:120,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:120,1
    - Dst: EVP_HPKE_CTX_seal
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:123,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:124,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:124,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:126,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:126,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:126,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:127,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:127,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:128,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:129,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:132,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: crypto::tink::internal::HpkeContextBoringSsl::Seal
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - std::string::size
    - EVP_HPKE_CTX_max_overhead
    - crypto::tink::subtle::ResizeStringUninitialized
    - EVP_HPKE_CTX_seal
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HpkeContextBoringSsl::Seal(\n    absl::string_view
      plaintext, absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:141,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:141,1
    - Dst: EVP_HPKE_CTX_open
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:143,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:144,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:144,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:145,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:146,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:146,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:147,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:148,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:148,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:149,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:150,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: crypto::tink::internal::HpkeContextBoringSsl::Open
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - std::string::size
    - EVP_HPKE_CTX_open
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HpkeContextBoringSsl::Open(\n    absl::string_view
      ciphertext, absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:160,1
    - Dst: EVP_HPKE_CTX_export
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:161,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:162,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:162,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:164,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:164,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:165,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:166,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - exporter_context
    - secret_length
    argTypes:
    - absl::string_view
    - int64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: crypto::tink::internal::HpkeContextBoringSsl::Export
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - EVP_HPKE_CTX_export
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> HpkeContextBoringSsl::Export(\n    absl::string_view
      exporter_context, int64_t secret_length)"
  - 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: crypto::tink::internal::encapsulated_key
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & encapsulated_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::kem
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:37,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:38,1
    - Dst: kdf
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:41,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:42,1
    - Dst: aead
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:46,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HpkeParams
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: crypto::tink::internal::ValidateParams
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::kem
    - crypto::tink::internal::ExtractStatus
    - aead
    - kdf
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateParams(const HpkeParams& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:54,1
    - Dst: version
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:54,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:55,1
    - Dst: has_params
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:57,1
    - Dst: crypto::tink::internal::ValidateParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:60,1
    - Dst: params
      Src: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - max_key_version
    argTypes:
    - HpkePublicKey
    - uint32_t
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: crypto::tink::internal::ValidateKeyAndVersion
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc
    functionUses: 3
    functionsReached:
    - has_params
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - params
    - version
    - crypto::tink::internal::ValidateParams
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyAndVersion(const HpkePublicKey& key,\n                                   uint32_t
      max_key_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:46,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:47,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:48,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:50,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:51,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:52,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:53,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:54,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:55,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:57,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:58,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_vector
    argTypes:
    - absl::string_view*
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::HpkeTestParams
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.h
    functionUses: 0
    functionsReached:
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void HpkeTestParams(const absl::string_view* test_vector)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:53,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:54,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:55,1
    - Dst: crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:60,1
    - Dst: util::StatusOr::context::Seal
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:63,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeTestParams
    - IsOk
    - util::StatusOr::context::Seal
    - ASSERT_THAT
    - IsOkAndHolds
    - GetParam
    - crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextBoringSslTest, Seal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:67,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:69,1
    - Dst: crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:71,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:75,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:78,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - IsOkAndHolds
    - Open
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextBoringSslTest, Open)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:82,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:84,1
    - Dst: crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:87,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:90,1
    - Dst: util::StatusOr::exported_contexts::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:92,1
    - Dst: util::StatusOr::context::Export
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:95,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:95,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::exported_contexts::size
    - crypto::tink::internal::CreateHpkeTestParams
    - IsOk
    - ASSERT_THAT
    - util::StatusOr::context::Export
    - crypto::tink::util::SecretDataFromStringView
    - IsOkAndHolds
    - GetParam
    - crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextBoringSslTest, SenderExport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:101,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:103,1
    - Dst: crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:106,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:110,1
    - Dst: util::StatusOr::exported_contexts::size
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:112,1
    - Dst: Export
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:115,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:115,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::exported_contexts::size
    - crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - IsOkAndHolds
    - Export
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextBoringSslTest, RecipientExport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:134,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:135,1
    - Dst: crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:140,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - ASSERT_THAT
    - StatusIs
    - GetParam
    - crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextBoringSslWithBadParamTest, BadSenderParamsFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:144,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:145,1
    - Dst: crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:147,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:151,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::DefaultHpkeTestParams
    - util::StatusOr::status
    - crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextBoringSslWithBadParamTest, BadRecipientParamsFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:158,1
    - Dst: crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:163,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeContextBoringSslWithMissingPublicKeyTest, ZeroLengthPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:169,1
    - Dst: crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:171,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:174,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:174,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeContextBoringSslWithMissingPrivateKeyTest, ZeroLengthPrivateKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:36,1
    - Dst: absl::make_unique<HpkePrivateKeyManager>
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:37,1
    - Dst: absl::make_unique<HpkePublicKeyManager>
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:39,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:43,1
    - Dst: absl::make_unique<EciesAeadHkdfPrivateKeyManager>
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:44,1
    - Dst: absl::make_unique<EciesAeadHkdfPublicKeyManager>
      Src: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: crypto::tink::internal::AddHybridKeyGenV0
    functionSourceFile: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc
    functionUses: 2
    functionsReached:
    - absl::make_unique<EciesAeadHkdfPrivateKeyManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - util::Status::ok
    - absl::make_unique<EciesAeadHkdfPublicKeyManager>
    - absl::make_unique<HpkePublicKeyManager>
    - absl::make_unique<HpkePrivateKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddHybridKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - encapsulated_key
    - ciphertext
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: crypto::tink::internal::HpkePayloadView
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HpkePayloadView(absl::string_view encapsulated_key,\n                  absl::string_view
      ciphertext)"
  - 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: crypto::tink::internal::HpkeContext::EncapsulatedKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view EncapsulatedKey() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeContext::Seal
      Src: /src/tink/cc/hybrid/internal/hpke_context.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::HpkeContext::Seal
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::HpkeContext::Seal
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Seal(\n      absl::string_view
      plaintext, absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeContext::Open
      Src: /src/tink/cc/hybrid/internal/hpke_context.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::HpkeContext::Open
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::HpkeContext::Open
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Open(\n      absl::string_view
      ciphertext, absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeContext::Export
      Src: /src/tink/cc/hybrid/internal/hpke_context.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exporter_context
    - secret_length
    argTypes:
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: crypto::tink::internal::HpkeContext::Export
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.h
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::HpkeContext::Export
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretData>
    signature: "crypto::tink::util::StatusOr<util::SecretData> Export(\n      absl::string_view
      exporter_context, size_t secret_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - encapsulated_key
    - context
    argTypes:
    - absl::string_view
    - std::unique_ptr<HpkeContextBoringSsl>
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: crypto::tink::internal::HpkeContext::HpkeContext
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HpkeContext(absl::string_view encapsulated_key,\n                       std::unique_ptr<HpkeContextBoringSsl>
      context)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeEncrypt
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: crypto::tink::HpkeEncrypt::HpkeEncrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeEncrypt(const HpkeEncrypt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeEncrypt
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: '& operator=(const HpkeEncrypt& other)'
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeEncrypt
    signature: HpkeEncrypt & operator=(const HpkeEncrypt& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeEncrypt
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: crypto::tink::HpkeEncrypt::HpkeEncrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeEncrypt(HpkeEncrypt&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeEncrypt
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(HpkeEncrypt&& other)'
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HpkeEncrypt
    signature: HpkeEncrypt & operator=(HpkeEncrypt&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' recipient_public_key'
    argTypes:
    - google::crypto::tink::HpkePublicKey
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: crypto::tink::HpkeEncrypt::HpkeEncrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HpkeEncrypt(\n      const google::crypto::tink::HpkePublicKey&
      recipient_public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateKeyAndVersion
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager.cc:29,1
    - Dst: crypto::tink::internal::HpkePublicKeyManager::get_version
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - HpkePublicKey
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: crypto::tink::internal::HpkePublicKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager.cc
    functionUses: 0
    functionsReached:
    - ValidateKeyAndVersion
    - crypto::tink::internal::HpkePublicKeyManager::get_version
    linkageType: ''
    returnType: util::Status
    signature: util::Status HpkePublicKeyManager::ValidateKey(const HpkePublicKey&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:57,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:59,1
    - Dst: crypto::tink::internal::HpkeContext::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:64,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:67,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:69,1
    - Dst: EncapsulatedKey
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:71,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:77,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:77,1
    - Dst: Seal
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:81,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:87,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - IsOk
    - crypto::tink::internal::HpkeContext::SetupSender
    - ASSERT_THAT
    - Seal
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - EncapsulatedKey
    - SCOPED_TRACE
    - Open
    - GetParam
    - Eq
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextTest, SealAndOpen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:93,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:95,1
    - Dst: crypto::tink::internal::HpkeContext::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:100,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:103,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:105,1
    - Dst: EncapsulatedKey
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:107,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:113,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:113,1
    - Dst: Export
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:117,1
    - Dst: Export
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:123,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 126
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - IsOk
    - crypto::tink::internal::HpkeContext::SetupSender
    - ASSERT_THAT
    - Export
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - EncapsulatedKey
    - SCOPED_TRACE
    - GetParam
    - Eq
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextTest, Export)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:129,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:131,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:134,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:138,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:143,1
    - Dst: util::StatusOr::ciphertext::substr
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:146,1
    - Dst: util::StatusOr::ciphertext::length
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:146,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:150,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:150,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - util::StatusOr::status
    - IsOk
    - util::StatusOr::ciphertext::substr
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - util::StatusOr::ciphertext::length
    - EXPECT_THAT
    - StatusIs
    - Open
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextTest, OpenTruncatedCiphertextFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:154,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:156,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:159,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:163,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:168,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:171,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:175,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:175,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - util::StatusOr::status
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - StatusIs
    - Open
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextTest, OpenModifiedCiphertextFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:179,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:181,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:184,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:188,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:193,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:196,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:200,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:200,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 201
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - util::StatusOr::status
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - absl::StrCat
    - StatusIs
    - Open
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextTest, OpenModifiedAssociatedDataFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:215,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:216,1
    - Dst: crypto::tink::internal::HpkeContext::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:221,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:221,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::internal::HpkeContext::SetupSender
    - EXPECT_THAT
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextWithBadHpkeParamTest, SenderBadHpkeParamFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:226,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:227,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:230,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:234,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:234,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - crypto::tink::internal::DefaultHpkeTestParams
    - util::StatusOr::status
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeContextWithBadHpkeParamTest, RecipientBadHpkeParamFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:241,1
    - Dst: crypto::tink::internal::HpkeContext::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:246,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:246,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::internal::HpkeContext::SetupSender
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeContextZeroLengthKeyTest, ZeroLengthPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:253,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:256,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:260,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:260,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 262
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeContextZeroLengthKeyTest, ZeroLengthPrivateKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:267,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:270,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:274,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:274,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 276
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeContextZeroLengthKeyTest, ZeroLengthEncapsulatedKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:280,1
    - Dst: crypto::tink::internal::ConcatenatePayload
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:280,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:281,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::DefaultHpkeTestParams
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::internal::ConcatenatePayload
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ConcatenatePayloadTest, ConcatenatePayloadSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:285,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:287,1
    - Dst: crypto::tink::internal::SplitPayload
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:291,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:292,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::internal::SplitPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - absl::StrCat
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SplitPayloadTest, SplitPayloadSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:296,1
    - Dst: crypto::tink::internal::SplitPayload
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:298,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:300,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:300,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_context_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - crypto::tink::internal::SplitPayload
    - EXPECT_THAT
    - absl::StrCat
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(SplitPayloadTest, InvalidKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - SslUniquePtr<EVP_HPKE_CTX>
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::TestHpkeContextBoringSsl::TestHpkeContextBoringSsl
    functionSourceFile: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void TestHpkeContextBoringSsl(SslUniquePtr<EVP_HPKE_CTX> context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:42,1
    - Dst: HpkeKeyBoringSsl::HpkeKeyBoringSsl
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:42,1
    - Dst: std::unique_ptr::Init
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:43,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:44,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' kem'
    - recipient_private_key
    argTypes:
    - google::crypto::tink::HpkeKem
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: crypto::tink::internal::HpkeKeyBoringSsl::New
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc
    functionUses: 2
    functionsReached:
    - HpkeKeyBoringSsl::HpkeKeyBoringSsl
    - util::Status::ok
    - std::move
    - std::unique_ptr::Init
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeKeyBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<HpkeKeyBoringSsl>> HpkeKeyBoringSsl::New(\n
      \   const google::crypto::tink::HpkeKem& kem,\n    absl::string_view recipient_private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:51,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:53,1
    - Dst: EVP_HPKE_KEY_init
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:55,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:56,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:57,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:57,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:59,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - recipient_private_key
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::HpkeKeyBoringSsl::Init
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc
    functionUses: 0
    functionsReached:
    - KemParam
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - EVP_HPKE_KEY_init
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - get
    linkageType: ''
    returnType: util::Status
    signature: util::Status HpkeKeyBoringSsl::Init(absl::string_view recipient_private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - google::crypto::tink::HpkePublicKey
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: crypto::tink::internal::HpkePublicKeyManager::HybridEncryptFactory::Create
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeEncrypt::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<HybridEncrypt>> Create(\n
      \       const google::crypto::tink::HpkePublicKey& public_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HybridEncryptFactory>
      Src: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h
    functionUses: 2
    functionsReached:
    - absl::make_unique<HybridEncryptFactory>
    linkageType: ''
    returnType: void
    signature: void HpkePublicKeyManager()
  - 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: crypto::tink::internal::HpkePublicKeyManager::get_version
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::HpkePublicKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:48,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:50,1
    - Dst: crypto::tink::internal::HpkeKeyBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:52,1
    - Dst: HpkeParams::kem
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:52,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:53,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - crypto::tink::internal::HpkeKeyBoringSsl::New
    - crypto::tink::internal::DefaultHpkeTestParams
    - IsOk
    - HpkeParams::kem
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyBoringSslTest, CreateValidHpkeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:57,1
    - Dst: crypto::tink::internal::HpkeKeyBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:59,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:61,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:61,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeKeyBoringSsl::New
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyBoringSslTest, BadKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeKeyBoringSsl::New
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:68,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:68,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - crypto::tink::internal::HpkeKeyBoringSsl::New
    - util::StatusOr::status
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKeyBoringSslTest, ZeroLengthPrivateKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:49,1
    - Dst: has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:53,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:57,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:62,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:65,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:67,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:72,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:75,1
    - Dst: public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:76,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:77,1
    - Dst: private_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:77,1
    - Dst: HpkeDecrypt::HpkeDecrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' recipient_private_key'
    argTypes:
    - HpkePrivateKey
    constantsTouched: []
    func_position:
      end: 78
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 78
    functionName: crypto::tink::HpkeDecrypt::New
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.cc
    functionUses: 1
    functionsReached:
    - HpkeDecrypt::HpkeDecrypt
    - public_key
    - private_key
    - crypto::tink::internal::ExtractStatus
    - absl::WrapUnique
    - crypto::tink::util::SecretDataFromStringView
    - has_public_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridDecrypt>> HpkeDecrypt::New(\n
      \   const HpkePrivateKey& recipient_private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeEncapsulatedKeyLength
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:83,1
    - Dst: kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:83,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:84,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:84,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:88,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:91,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:92,1
    - Dst: crypto::tink::internal::HpkeParamsProtoToStruct
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:95,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:96,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:96,1
    - Dst: crypto::tink::internal::HpkeContext::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:99,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:101,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:101,1
    - Dst: Open
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt.cc:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ciphertext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 104
    functionName: crypto::tink::HpkeDecrypt::Decrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeContext::SetupRecipient
    - absl::string_view::size
    - util::StatusOr::status
    - Open
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::HpkeParamsProtoToStruct
    - util::StatusOr::ok
    - absl::string_view::substr
    - crypto::tink::internal::HpkeEncapsulatedKeyLength
    - kem
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HpkeDecrypt::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:56,1
    - Dst: crypto::tink::internal::AddHybridV0
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:56,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:61,1
    - Dst: Get
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:62,1
    - Dst: Get
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - crypto::tink::internal::AddHybridV0
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HybridV0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:67,1
    - Dst: crypto::tink::internal::AddHybridV0
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:67,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:73,1
    - Dst: crypto::tink::internal::AddHybridKeyGenV0
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:73,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:79,1
    - Dst: Get
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:79,1
    - Dst: EciesAeadHkdfPrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:82,1
    - Dst: Get
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:82,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddHybridKeyGenV0
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - ASSERT_THAT
    - Get
    - EciesAeadHkdfPrivateKeyManager
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - crypto::tink::internal::AddHybridV0
    - EXPECT_THAT
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HybridV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:102,1
    - Dst: crypto::tink::internal::AddHybridKeyGenV0
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:104,1
    - Dst: crypto::tink::internal::AddHybridV0
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:104,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:107,1
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:108,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:111,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:115,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:118,1
    - Dst: Encrypt
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:123,1
    - Dst: Decrypt
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:123,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/config_v0_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 124
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::internal::AddHybridKeyGenV0
    - GetPrimitive
    - GetPublicKeysetHandle
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::AddHybridV0
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - GetParam
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_P(HybridV0KeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HpkeKeyBoringSsl
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: crypto::tink::internal::HpkeKeyBoringSsl
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeKeyBoringSsl(HpkeKeyBoringSsl&& other)
  - 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: crypto::tink::internal::HpkeKeyBoringSsl
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HpkeKeyBoringSsl(const HpkeKeyBoringSsl&)
  - 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: crypto::tink::internal::kem
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::HpkeKem
    signature: google::crypto::tink::HpkeKem & kem() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_key_boringssl.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: crypto::tink::internal::recipient_private_key
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_key_boringssl.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: EVP_HPKE_KEY
    signature: EVP_HPKE_KEY * recipient_private_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:44,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:45,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:46,1
    - Dst: KdfParam
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:48,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:49,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:50,1
    - Dst: AeadParam
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:52,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:53,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:54,1
    - Dst: EVP_HPKE_CTX_setup_sender_with_seed_for_testing
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:59,1
    - Dst: SslUniquePtr::get
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:60,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:61,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:61,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:62,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:63,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:63,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:64,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:65,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:65,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:66,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:67,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:72,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:72,1
    - Dst: TestHpkeContextBoringSsl::TestHpkeContextBoringSsl
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:72,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:74,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - params
    - recipient_public_key
    - context_info
    - seed_for_testing
    argTypes:
    - HpkeParams
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
    functionSourceFile: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc
    functionUses: 4
    functionsReached:
    - AeadParam
    - EVP_HPKE_CTX_setup_sender_with_seed_for_testing
    - SslUniquePtr::get
    - KemParam
    - absl::string_view::size
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - TestHpkeContextBoringSsl::TestHpkeContextBoringSsl
    - crypto::tink::internal::ExtractStatus
    - std::string
    - std::move
    - KdfParam
    - reinterpret_cast<const char *>
    - absl::WrapUnique
    - util::StatusOr::ok
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<SenderHpkeContextBoringSsl>
    signature: "util::StatusOr<SenderHpkeContextBoringSsl> TestHpkeContextBoringSsl::SetupSender(\n
      \   const HpkeParams &params, absl::string_view recipient_public_key,\n    absl::string_view
      context_info, absl::string_view seed_for_testing)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc: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: crypto::tink::internal::DefaultHpkeTestParams
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.cc
    functionUses: 15
    functionsReached:
    - crypto::tink::internal::HpkeTestParams
    linkageType: ''
    returnType: HpkeTestParams
    signature: HpkeTestParams DefaultHpkeTestParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::kem
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:107,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:109,1
    - Dst: crypto::tink::internal::kem
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:109,1
    - Dst: kdf
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:112,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:114,1
    - Dst: kdf
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:114,1
    - Dst: aead
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:116,1
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:118,1
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:120,1
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:124,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:125,1
    - Dst: aead
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - google::crypto::tink::HpkeParams
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: crypto::tink::internal::CreateHpkeTestParams
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::internal::kem
    - crypto::tink::internal::ExtractStatus
    - aead
    - kdf
    - absl::StrCat
    - crypto::tink::internal::HpkeTestParams
    linkageType: ''
    returnType: util::StatusOr<HpkeTestParams>
    signature: "util::StatusOr<HpkeTestParams> CreateHpkeTestParams(\n    const google::crypto::tink::HpkeParams&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:134,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:137,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:139,1
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:143,1
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:145,1
    - Dst: crypto::tink::internal::HpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:147,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:149,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HpkeParams
    constantsTouched: []
    func_position:
      end: 153
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 153
    functionName: crypto::tink::internal::CreateHpkeTestParams
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - crypto::tink::internal::HpkeTestParams
    linkageType: ''
    returnType: util::StatusOr<HpkeTestParams>
    signature: util::StatusOr<HpkeTestParams> CreateHpkeTestParams(const HpkeParams&
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::HpkeParams::set_kem
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:160,1
    - Dst: google::crypto::tink::HpkeParams::set_kdf
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:161,1
    - Dst: google::crypto::tink::HpkeParams::set_aead
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' kem'
    - ' kdf'
    - ' aead'
    argTypes:
    - google::crypto::tink::HpkeKem
    - google::crypto::tink::HpkeKdf
    - google::crypto::tink::HpkeAead
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: crypto::tink::internal::CreateHpkeParams
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.cc
    functionUses: 14
    functionsReached:
    - google::crypto::tink::HpkeParams::set_aead
    - google::crypto::tink::HpkeParams::set_kem
    - google::crypto::tink::HpkeParams::set_kdf
    linkageType: ''
    returnType: google::crypto::tink::HpkeParams
    signature: "google::crypto::tink::HpkeParams CreateHpkeParams(\n    const google::crypto::tink::HpkeKem&
      kem,\n    const google::crypto::tink::HpkeKdf& kdf,\n    const google::crypto::tink::HpkeAead&
      aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::HpkePublicKey::set_version
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:170,1
    - Dst: google::crypto::tink::HpkePublicKey::set_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:171,1
    - Dst: google::crypto::tink::HpkePublicKey::mutable_params
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - ' raw_key_bytes'
    argTypes:
    - google::crypto::tink::HpkeParams
    - std::string
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: crypto::tink::internal::CreateHpkePublicKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.cc
    functionUses: 7
    functionsReached:
    - google::crypto::tink::HpkePublicKey::mutable_params
    - google::crypto::tink::HpkePublicKey::set_version
    - google::crypto::tink::HpkePublicKey::set_public_key
    linkageType: ''
    returnType: google::crypto::tink::HpkePublicKey
    signature: "google::crypto::tink::HpkePublicKey CreateHpkePublicKey(\n    const
      google::crypto::tink::HpkeParams& params,\n    const std::string& raw_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::HpkePrivateKey::set_version
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:180,1
    - Dst: google::crypto::tink::HpkePrivateKey::set_private_key
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:181,1
    - Dst: google::crypto::tink::HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:183,1
    - Dst: google::crypto::tink::HpkePublicKey*::mutable_params
      Src: /src/tink/cc/hybrid/internal/hpke_test_util.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - ' raw_key_bytes'
    argTypes:
    - google::crypto::tink::HpkeParams
    - std::string
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: crypto::tink::internal::CreateHpkePrivateKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_test_util.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::HpkePrivateKey::set_private_key
    - google::crypto::tink::HpkePublicKey*::mutable_params
    - google::crypto::tink::HpkePrivateKey::set_version
    - google::crypto::tink::HpkePrivateKey::mutable_public_key
    linkageType: ''
    returnType: google::crypto::tink::HpkePrivateKey
    signature: "google::crypto::tink::HpkePrivateKey CreateHpkePrivateKey(\n    const
      google::crypto::tink::HpkeParams& params,\n    const std::string& raw_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:47,1
    - Dst: HpkeDecryptBoringSsl::HpkeDecryptBoringSsl
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:47,1
    - Dst: auto::Init
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:49,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:50,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' params'
    - ' hpke_key'
    - encapsulated_key
    - context_info
    argTypes:
    - google::crypto::tink::HpkeParams
    - HpkeKeyBoringSsl
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::HpkeDecryptBoringSsl::New
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc
    functionUses: 2
    functionsReached:
    - HpkeDecryptBoringSsl::HpkeDecryptBoringSsl
    - util::Status::ok
    - auto::Init
    - std::move
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeDecryptBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<HpkeDecryptBoringSsl>> HpkeDecryptBoringSsl::New(\n
      \   const google::crypto::tink::HpkeParams& params,\n    const HpkeKeyBoringSsl&
      hpke_key, absl::string_view encapsulated_key,\n    absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:60,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:61,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:62,1
    - Dst: kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:64,1
    - Dst: kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:64,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:67,1
    - Dst: kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:67,1
    - Dst: kem
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:69,1
    - Dst: KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:71,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:73,1
    - Dst: AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:76,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:77,1
    - Dst: EVP_HPKE_CTX_setup_recipient
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:79,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:80,1
    - Dst: recipient_private_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:80,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:81,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:81,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:82,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:83,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:84,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:85,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' params'
    - ' hpke_key'
    - encapsulated_key
    - context_info
    argTypes:
    - google::crypto::tink::HpkeParams
    - HpkeKeyBoringSsl
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::HpkeDecryptBoringSsl::Init
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - AeadParam
    - KemParam
    - EVP_HPKE_CTX_setup_recipient
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - KdfParam
    - util::StatusOr::ok
    - absl::StrCat
    - get
    - recipient_private_key
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - kem
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HpkeDecryptBoringSsl::Init(\n    const google::crypto::tink::HpkeParams&
      params,\n    const HpkeKeyBoringSsl& hpke_key, absl::string_view encapsulated_key,\n
      \   absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:94,1
    - Dst: EVP_HPKE_CTX_open
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:96,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:97,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:97,1
    - Dst: std::string::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:98,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:99,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:99,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:100,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:101,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:101,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:103,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: crypto::tink::internal::HpkeDecryptBoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - std::string::size
    - EVP_HPKE_CTX_open
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HpkeDecryptBoringSsl::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_hpke_x25519_hkdf_sha256
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:35,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:37,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HpkeParams
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: crypto::tink::internal::KemParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - EVP_hpke_x25519_hkdf_sha256
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_KEM*>
    signature: util::StatusOr<const EVP_HPKE_KEM*> KemParam(const HpkeParams& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_hpke_x25519_hkdf_sha256
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:47,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:49,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' kem'
    argTypes:
    - google::crypto::tink::HpkeKem
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::KemParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - EVP_hpke_x25519_hkdf_sha256
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_KEM*>
    signature: "util::StatusOr<const EVP_HPKE_KEM*> KemParam(\n    const google::crypto::tink::HpkeKem&
      kem)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:57,1
    - Dst: crypto::tink::internal::kem
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - google::crypto::tink::HpkeParams
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: crypto::tink::internal::KemParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 9
    functionsReached:
    - crypto::tink::internal::kem
    - crypto::tink::internal::KemParam
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_KEM*>
    signature: "util::StatusOr<const EVP_HPKE_KEM*> KemParam(\n    const google::crypto::tink::HpkeParams&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_hpke_hkdf_sha256
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:63,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HpkeParams
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::KdfParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EVP_hpke_hkdf_sha256
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_KDF*>
    signature: util::StatusOr<const EVP_HPKE_KDF*> KdfParam(const HpkeParams& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kdf
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:73,1
    - Dst: EVP_hpke_hkdf_sha256
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:77,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:79,1
    - Dst: kdf
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - google::crypto::tink::HpkeParams
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: crypto::tink::internal::KdfParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EVP_hpke_hkdf_sha256
    - absl::StrCat
    - kdf
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_KDF*>
    signature: "util::StatusOr<const EVP_HPKE_KDF*> KdfParam(\n    const google::crypto::tink::HpkeParams&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_hpke_aes_128_gcm
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:86,1
    - Dst: EVP_hpke_aes_256_gcm
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:88,1
    - Dst: EVP_hpke_chacha20_poly1305
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:90,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:92,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HpkeParams
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::AeadParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 8
    functionsReached:
    - EVP_hpke_aes_256_gcm
    - EVP_hpke_chacha20_poly1305
    - EVP_hpke_aes_128_gcm
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_AEAD*>
    signature: util::StatusOr<const EVP_HPKE_AEAD*> AeadParam(const HpkeParams& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:100,1
    - Dst: EVP_hpke_aes_128_gcm
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:102,1
    - Dst: EVP_hpke_aes_256_gcm
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:104,1
    - Dst: EVP_hpke_chacha20_poly1305
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:110,1
    - Dst: aead
      Src: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - google::crypto::tink::HpkeParams
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: crypto::tink::internal::AeadParam
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
    functionUses: 8
    functionsReached:
    - EVP_hpke_aes_256_gcm
    - EVP_hpke_chacha20_poly1305
    - EVP_hpke_aes_128_gcm
    - crypto::tink::internal::ExtractStatus
    - aead
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<const EVP_HPKE_AEAD*>
    signature: "util::StatusOr<const EVP_HPKE_AEAD*> AeadParam(\n    const google::crypto::tink::HpkeParams&
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:69,1
    - Dst: crypto::tink::internal::HpkeEncapsulatedKeyLength
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:71,1
    - Dst: HpkeParams::kem
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:72,1
    - Dst: CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:75,1
    - Dst: CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:77,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:80,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:86,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:86,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:92,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:93,1
    - Dst: SizeIs
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 4
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - HpkeParams::kem
    - ASSERT_THAT
    - CreateHpkePublicKey
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - crypto::tink::HpkeEncrypt::New
    - SCOPED_TRACE
    - absl::StrCat
    - CreateHpkeTestParams
    - crypto::tink::internal::HpkeEncapsulatedKeyLength
    - GetParam
    - IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeEncryptTest, SetupSenderContextAndEncrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:115,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:116,1
    - Dst: CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:118,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:121,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:121,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - DefaultHpkeTestParams
    - ASSERT_THAT
    - CreateHpkePublicKey
    - crypto::tink::HpkeEncrypt::New
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeEncryptWithBadParamTest, BadParamFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:127,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:129,1
    - Dst: CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:131,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:136,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:136,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - CreateHpkeParams
    - DefaultHpkeTestParams
    - CreateHpkePublicKey
    - EXPECT_THAT
    - crypto::tink::HpkeEncrypt::New
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeEncryptWithZeroLengthPublicKey, ZeroLengthPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:37,1
    - Dst: absl::make_unique<HybridEncryptWrapper>
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:39,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:42,1
    - Dst: absl::make_unique<HybridDecryptWrapper>
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:43,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:44,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:49,1
    - Dst: absl::make_unique<HpkePrivateKeyManager>
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:50,1
    - Dst: absl::make_unique<HpkePublicKeyManager>
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:52,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:56,1
    - Dst: absl::make_unique<EciesAeadHkdfPrivateKeyManager>
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:57,1
    - Dst: absl::make_unique<EciesAeadHkdfPublicKeyManager>
      Src: /src/tink/cc/hybrid/internal/config_v0.cc:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::AddHybridV0
    functionSourceFile: /src/tink/cc/hybrid/internal/config_v0.cc
    functionUses: 5
    functionsReached:
    - absl::make_unique<EciesAeadHkdfPrivateKeyManager>
    - absl::make_unique<HybridEncryptWrapper>
    - util::Status::ok
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - absl::make_unique<EciesAeadHkdfPublicKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<HybridDecryptWrapper>
    - absl::make_unique<HpkePublicKeyManager>
    - absl::make_unique<HpkePrivateKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddHybridV0(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:46,1
    - Dst: HpkeEncryptBoringSsl::HpkeEncryptBoringSsl
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:46,1
    - Dst: auto::Init
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:48,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:49,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' params'
    - recipient_public_key
    - context_info
    argTypes:
    - google::crypto::tink::HpkeParams
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::HpkeEncryptBoringSsl::New
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - auto::Init
    - std::move
    - absl::WrapUnique
    - HpkeEncryptBoringSsl::HpkeEncryptBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeEncryptBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<HpkeEncryptBoringSsl>> HpkeEncryptBoringSsl::New(\n
      \   const google::crypto::tink::HpkeParams& params,\n    absl::string_view recipient_public_key,
      absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:60,1
    - Dst: HpkeEncryptBoringSsl::HpkeEncryptBoringSsl
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:60,1
    - Dst: auto::InitForTesting
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:61,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ' params'
    - recipient_public_key
    - context_info
    - seed_for_testing
    argTypes:
    - google::crypto::tink::HpkeParams
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - auto::InitForTesting
    - std::move
    - absl::WrapUnique
    - HpkeEncryptBoringSsl::HpkeEncryptBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeEncryptBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<HpkeEncryptBoringSsl>> HpkeEncryptBoringSsl::NewForTesting(\n
      \   const google::crypto::tink::HpkeParams& params,\n    absl::string_view recipient_public_key,
      absl::string_view context_info,\n    absl::string_view seed_for_testing)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:72,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:73,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:74,1
    - Dst: KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:76,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:77,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:78,1
    - Dst: AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:82,1
    - Dst: EVP_HPKE_CTX_setup_sender
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:86,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:87,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:88,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:88,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:89,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:90,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:91,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:92,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:95,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:95,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ' params'
    - recipient_public_key
    - context_info
    argTypes:
    - google::crypto::tink::HpkeParams
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::HpkeEncryptBoringSsl::Init
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - AeadParam
    - KemParam
    - absl::string_view::size
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - std::string
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<const char *>
    - KdfParam
    - util::StatusOr::ok
    - EVP_HPKE_CTX_setup_sender
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HpkeEncryptBoringSsl::Init(\n    const google::crypto::tink::HpkeParams&
      params,\n    absl::string_view recipient_public_key, absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KemParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:103,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:104,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:105,1
    - Dst: KdfParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:107,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:108,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:109,1
    - Dst: AeadParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:111,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:112,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:113,1
    - Dst: EVP_HPKE_CTX_setup_sender_with_seed_for_testing
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:117,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:118,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:119,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:119,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:120,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:121,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:121,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:122,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:123,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:123,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:124,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:125,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:128,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:128,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ' params'
    - recipient_public_key
    - context_info
    - seed_for_testing
    argTypes:
    - google::crypto::tink::HpkeParams
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: crypto::tink::internal::HpkeEncryptBoringSsl::InitForTesting
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - AeadParam
    - EVP_HPKE_CTX_setup_sender_with_seed_for_testing
    - KemParam
    - absl::string_view::size
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - std::string
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<const char *>
    - KdfParam
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::Status
    signature: "util::Status HpkeEncryptBoringSsl::InitForTesting(\n    const google::crypto::tink::HpkeParams&
      params,\n    absl::string_view recipient_public_key, absl::string_view context_info,\n
      \   absl::string_view seed_for_testing)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:136,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:137,1
    - Dst: EVP_HPKE_CTX_max_overhead
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:138,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:138,1
    - Dst: EVP_HPKE_CTX_seal
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:141,1
    - Dst: get
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:142,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:142,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:144,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:144,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:144,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:145,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: crypto::tink::internal::HpkeEncryptBoringSsl::EncapsulateKeyThenEncrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - EVP_HPKE_CTX_max_overhead
    - crypto::tink::subtle::ResizeStringUninitialized
    - EVP_HPKE_CTX_seal
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HpkeEncryptBoringSsl::EncapsulateKeyThenEncrypt(\n
      \   absl::string_view plaintext, absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - encapsulated_key
    - ciphertext
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: crypto::tink::internal::ConcatenatePayload
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string ConcatenatePayload(absl::string_view encapsulated_key,\n
      \                              absl::string_view ciphertext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::HpkePayloadView
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:47,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:47,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:50,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' kem'
    - payload
    argTypes:
    - HpkeKem
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::SplitPayload
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::substr
    - crypto::tink::internal::HpkePayloadView
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<HpkePayloadView>
    signature: "util::StatusOr<HpkePayloadView> SplitPayload(const HpkeKem& kem,\n
      \                                            absl::string_view payload)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:59,1
    - Dst: crypto::tink::internal::HpkeContextBoringSsl::SetupSender
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:63,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:64,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:65,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:68,1
    - Dst: HpkeContext::HpkeContext
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' params'
    - recipient_public_key
    - info
    argTypes:
    - HpkeParams
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::HpkeContext::SetupSender
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.cc
    functionUses: 5
    functionsReached:
    - util::StatusOr::status
    - HpkeContext::HpkeContext
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - util::StatusOr::ok
    - absl::string_view::empty
    - crypto::tink::internal::HpkeContextBoringSsl::SetupSender
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeContext>>
    signature: "util::StatusOr<std::unique_ptr<HpkeContext>> HpkeContext::SetupSender(\n
      \   const HpkeParams& params, absl::string_view recipient_public_key,\n    absl::string_view
      info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:75,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:79,1
    - Dst: crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:83,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:85,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:86,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:88,1
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:89,1
    - Dst: HpkeContext::HpkeContext
      Src: /src/tink/cc/hybrid/internal/hpke_context.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' params'
    - ' recipient_private_key'
    - encapsulated_key
    - info
    argTypes:
    - HpkeParams
    - util::SecretData
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 90
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::HpkeContext::SetupRecipient
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context.cc
    functionUses: 9
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
    - crypto::tink::internal::ExtractStatus
    - HpkeContext::HpkeContext
    - std::move
    - absl::WrapUnique
    - util::StatusOr::ok
    - empty
    - absl::string_view::empty
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HpkeContext>>
    signature: "util::StatusOr<std::unique_ptr<HpkeContext>> HpkeContext::SetupRecipient(\n
      \   const HpkeParams& params, const util::SecretData& recipient_private_key,\n
      \   absl::string_view encapsulated_key, absl::string_view info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:69,1
    - Dst: crypto::tink::internal::HpkeParamsProtoToStruct
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeParamsProtoToStruct
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeParamsConversionTest, HpkeParamsProtoToStruct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:95,1
    - Dst: crypto::tink::internal::HpkeParamsProtoToStruct
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:95,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeParamsProtoToStruct
    - GetParam
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeBadParamsTest, HpkeParamsProtoToStruct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:102,1
    - Dst: crypto::tink::internal::HpkeEncapsulatedKeyLength
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:103,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_util_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::HpkeEncapsulatedKeyLength
    - IsOkAndHolds
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeKemEncodingSizeTest, HpkeEncapsulatedKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkeKeyFormat::mutable_params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:56,1
    - Dst: HpkeParams*::set_kem
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:57,1
    - Dst: HpkeParams*::set_kdf
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:58,1
    - Dst: HpkeParams*::set_aead
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - kem
    - kdf
    - aead
    argTypes:
    - HpkeKem
    - HpkeKdf
    - HpkeAead
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: crypto::tink::internal::CreateKeyFormat
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkeParams*::set_aead
    - HpkeKeyFormat::mutable_params
    - HpkeParams*::set_kem
    - HpkeParams*::set_kdf
    linkageType: ''
    returnType: HpkeKeyFormat
    signature: HpkeKeyFormat CreateKeyFormat(HpkeKem kem, HpkeKdf kdf, HpkeAead aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:65,1
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - kem
    - kdf
    - aead
    argTypes:
    - HpkeKem
    - HpkeKdf
    - HpkeAead
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::CreateKey
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateKeyFormat
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: util::StatusOr<HpkePrivateKey>
    signature: "util::StatusOr<HpkePrivateKey> CreateKey(HpkeKem kem, HpkeKdf kdf,\n
      \                                        HpkeAead aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:69,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:69,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:70,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:72,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - HpkePrivateKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, BasicAccessors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:77,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:77,1
    - Dst: HpkeKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:77,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkeKeyFormat
    - EXPECT_THAT
    - HpkePrivateKeyManager
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateEmptyKeyFormatFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:82,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:82,1
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateKeyFormat
    - IsOk
    - EXPECT_THAT
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyFormatSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:89,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:90,1
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateKeyFormat
    - EXPECT_THAT
    - HpkePrivateKeyManager
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyFormatWithInvalidKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:96,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:96,1
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:97,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateKeyFormat
    - EXPECT_THAT
    - HpkePrivateKeyManager
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyFormatWithInvalidKdfFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:103,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:103,1
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateKeyFormat
    - EXPECT_THAT
    - HpkePrivateKeyManager
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyFormatWithInvalidAeadFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:111,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:116,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:118,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:118,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:119,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:120,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:120,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:121,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:121,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:122,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:123,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:124,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:124,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:124,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:125,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:125,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:125,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::has_public_key
    - IsEmpty
    - IsOk
    - Not
    - util::StatusOr::public_key
    - util::StatusOr::private_key
    - HpkeKeyFormat::params
    - ASSERT_THAT
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, CreateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:130,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:137,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:137,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:138,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:139,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:139,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:139,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:140,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:140,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:141,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:141,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:142,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:143,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:143,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:144,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:144,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:144,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:153,1
    - Dst: absl::btree_set::insert
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:154,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:154,1
    - Dst: absl::btree_set::insert
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:155,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:157,1
    - Dst: absl::btree_set::size
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:158,1
    - Dst: absl::btree_set::size
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:158,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 159
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::btree_set::insert
    - util::StatusOr::has_public_key
    - IsOk
    - util::StatusOr::public_key
    - util::StatusOr::private_key
    - HpkeKeyFormat::params
    - ASSERT_THAT
    - absl::btree_set::size
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, CreateP256KeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:163,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:169,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:170,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:170,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:171,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:172,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:172,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:172,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:173,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:173,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:173,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:174,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:175,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:176,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:176,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:177,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:177,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:177,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:186,1
    - Dst: absl::btree_set::insert
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:187,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:187,1
    - Dst: absl::btree_set::insert
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:188,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:190,1
    - Dst: absl::btree_set::size
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:191,1
    - Dst: absl::btree_set::size
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:191,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::btree_set::insert
    - util::StatusOr::has_public_key
    - IsOk
    - util::StatusOr::public_key
    - util::StatusOr::private_key
    - HpkeKeyFormat::params
    - ASSERT_THAT
    - absl::btree_set::size
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, CreateP384KeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:196,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:202,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:203,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:203,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:204,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:205,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:205,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:205,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:206,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:206,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:206,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:207,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:208,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:209,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:209,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:210,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:210,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:210,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:219,1
    - Dst: absl::btree_set::insert
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:220,1
    - Dst: util::StatusOr::private_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:220,1
    - Dst: absl::btree_set::insert
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:221,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:223,1
    - Dst: absl::btree_set::size
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:223,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:224,1
    - Dst: absl::btree_set::size
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:224,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 225
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::btree_set::insert
    - util::StatusOr::has_public_key
    - IsOk
    - util::StatusOr::public_key
    - util::StatusOr::private_key
    - HpkeKeyFormat::params
    - ASSERT_THAT
    - absl::btree_set::size
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, CreateP521KeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:231,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:231,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateKeyFormat
    - StatusIs
    - HpkePrivateKeyManager
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, CreateKeyWithInvalidKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:236,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:236,1
    - Dst: HpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:236,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HpkePrivateKey
    - EXPECT_THAT
    - HpkePrivateKeyManager
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateEmptyKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:246,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - EXPECT_THAT
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:253,1
    - Dst: util::StatusOr::set_version
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:256,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:256,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - util::StatusOr::set_version
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyWithWrongVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:264,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:267,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:267,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - util::StatusOr::mutable_public_key
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyWithInvalidKemFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:277,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:277,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyWithInvalidKdfFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:287,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:287,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, ValidateKeyWithInvalidAeadFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:293,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:297,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:300,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:301,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:303,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:303,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:304,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:305,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:305,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:305,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:306,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:306,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:306,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:307,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:307,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:307,1
    - Dst: HpkeKeyFormat::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:308,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:308,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:308,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:309,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:309,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:309,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 310
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::params
    - util::StatusOr::has_public_key
    - IsEmpty
    - IsOk
    - Not
    - util::StatusOr::public_key
    - HpkeKeyFormat::params
    - ASSERT_THAT
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:313,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:317,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:320,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:323,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:323,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:324,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:324,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:325,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:325,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:326,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:326,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:327,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:327,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:328,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:328,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:328,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:328,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:329,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:329,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:329,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::params
    - util::StatusOr::has_public_key
    - IsEmpty
    - IsOk
    - Not
    - util::StatusOr::public_key
    - ASSERT_THAT
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPublicKeyP256Succeeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:334,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:338,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:342,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:344,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:344,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:345,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:345,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:346,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:346,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:346,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:347,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:347,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:348,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:348,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:349,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:349,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:349,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:349,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:350,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:350,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:350,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::params
    - util::StatusOr::has_public_key
    - IsEmpty
    - IsOk
    - Not
    - util::StatusOr::public_key
    - ASSERT_THAT
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPublicKey384Succeeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKeyFormat
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:355,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:358,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:359,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:359,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:362,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:363,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:363,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:365,1
    - Dst: util::StatusOr::has_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:365,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:366,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:366,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:367,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:367,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:368,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:368,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:368,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:369,1
    - Dst: util::StatusOr::params
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:369,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:370,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:370,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:370,1
    - Dst: IsEmpty
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:370,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:371,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:371,1
    - Dst: Eq
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:371,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::params
    - util::StatusOr::has_public_key
    - IsEmpty
    - IsOk
    - Not
    - util::StatusOr::public_key
    - ASSERT_THAT
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::internal::CreateKeyFormat
    - Eq
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPublicKey521Succeeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:376,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:378,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:378,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:380,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:381,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:381,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:383,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:384,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:384,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:387,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:389,1
    - Dst: HybridEncryptThenDecrypt
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:389,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:389,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 392
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - crypto::tink::HpkeEncrypt::New
    - HybridEncryptThenDecrypt
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, EncryptThenDecryptSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:398,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:398,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:401,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:403,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:404,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:404,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:404,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:407,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:407,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 408
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - crypto::tink::HpkeEncrypt::New
    - StatusIs
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPrimitiveP256Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:412,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:414,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:414,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:416,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:417,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:417,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:419,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:420,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:420,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:420,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:422,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:423,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:423,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 424
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - crypto::tink::HpkeEncrypt::New
    - StatusIs
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPrimitiveP384Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:428,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:430,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:430,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:432,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:433,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:433,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:435,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:436,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:436,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:436,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:438,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:439,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:439,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - IsOk
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - crypto::tink::HpkeEncrypt::New
    - StatusIs
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, GetPrimitiveP521Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:444,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:446,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:446,1
    - Dst: crypto::tink::internal::CreateKey
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:448,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:450,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:450,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:452,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:453,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:453,1
    - Dst: HpkePrivateKeyManager
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:455,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:456,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:456,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:458,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:459,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:461,1
    - Dst: HybridEncryptThenDecrypt
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:461,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:461,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:461,1
    - Dst: Not
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:463,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 464
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 464
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - IsOk
    - Not
    - crypto::tink::internal::CreateKey
    - ASSERT_THAT
    - crypto::tink::HpkeEncrypt::New
    - HybridEncryptThenDecrypt
    - HpkePrivateKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HpkePrivateKeyManagerTest, EncryptThenDecryptWithDifferentKeysFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkePublicKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:62,1
    - Dst: crypto::tink::HpkeEncrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:64,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:65,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:66,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - params
    - recipient_public_key
    - plaintext
    - context_info
    argTypes:
    - HpkeParams
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: crypto::tink::Encrypt
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 14
    functionsReached:
    - std::string
    - util::StatusOr::status
    - CreateHpkePublicKey
    - crypto::tink::Encrypt
    - util::StatusOr::ok
    - crypto::tink::HpkeEncrypt::New
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Encrypt(HpkeParams params,\n                                    absl::string_view
      recipient_public_key,\n                                    absl::string_view
      plaintext,\n                                    absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:82,1
    - Dst: CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:84,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:86,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:89,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:95,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:95,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:99,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:102,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - crypto::tink::HpkeDecrypt::New
    - IsOk
    - CreateHpkePrivateKey
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - IsOkAndHolds
    - CreateHpkeTestParams
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeDecryptTest, SetupRecipientContextAndDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:124,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:125,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:127,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:130,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:130,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - ASSERT_THAT
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeDecryptWithBadParamTest, BadParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:136,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:138,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:140,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:143,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:148,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:148,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkeParams
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeDecryptWithShortCiphertextTest, ShortCiphertextFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:153,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:155,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:157,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:160,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:164,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:167,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:171,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:171,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkeParams
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - absl::StrCat
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeDecryptWithBadCiphertextTest, BadCiphertextFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:176,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:178,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:180,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:183,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:187,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:190,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:194,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:194,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 195
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Decrypt
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkeParams
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - absl::StrCat
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeDecryptWithBadAssociatedDataTest, BadAssociatedDataFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:199,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:201,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:203,1
    - Dst: HpkePrivateKey::clear_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:204,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:209,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:209,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkeParams
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - HpkePrivateKey::clear_public_key
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeDecryptWithMissingPublicKeyTest, MissingPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:215,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:217,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:219,1
    - Dst: HpkePrivateKey::mutable_public_key
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:220,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:225,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:225,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkeParams
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - HpkePrivateKey::mutable_public_key
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeDecryptWithMissingHpkeParamsTest, MissingHpkeParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:231,1
    - Dst: DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:233,1
    - Dst: CreateHpkePrivateKey
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:235,1
    - Dst: crypto::tink::HpkeDecrypt::New
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:240,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HpkeDecrypt::New
    - util::StatusOr::status
    - CreateHpkeParams
    - CreateHpkePrivateKey
    - DefaultHpkeTestParams
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeDecryptWithZeroLengthPrivateKeyTest, ZeroLengthPrivateKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/hybrid/internal/hpke_context_boringssl.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - context
    argTypes:
    - SslUniquePtr<EVP_HPKE_CTX>
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::HpkeContextBoringSsl::HpkeContextBoringSsl
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_context_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void HpkeContextBoringSsl(SslUniquePtr<EVP_HPKE_CTX> context)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:63,1
    - Dst: crypto::tink::internal::CreateHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:65,1
    - Dst: crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:70,1
    - Dst: EncapsulateKeyThenEncrypt
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:75,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 77
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - EncapsulateKeyThenEncrypt
    - IsOkAndHolds
    - absl::StrCat
    - crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
    - GetParam
    - crypto::tink::internal::CreateHpkeTestParams
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeEncapsulateKeyThenEncryptBoringSslTest, EncapsulateKeyThenEncrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:93,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:94,1
    - Dst: crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:99,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:99,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(HpkeEncryptBoringSslWithBadParamTest, BadParamFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateHpkeParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:104,1
    - Dst: crypto::tink::internal::DefaultHpkeTestParams
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:106,1
    - Dst: crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:111,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:111,1
    - Dst: StatusIs
      Src: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateHpkeParams
    - util::StatusOr::status
    - crypto::tink::internal::DefaultHpkeTestParams
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
    linkageType: ''
    returnType: void
    signature: void TEST(HpkeEncryptBoringSslWithMissingPublicKeyTest, ZeroLengthPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aead_wrapper.cc:47,1
    - Dst: PrimitiveSet<Aead>*::get_primary
      Src: /src/tink/cc/aead/aead_wrapper.cc:50,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aead_wrapper.cc:51,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/aead_wrapper.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - PrimitiveSet<Aead>*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/aead/aead_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<Aead>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<Aead>* aead_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<Aead>>
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: crypto::tink::AeadSetWrapper::AeadSetWrapper
    functionSourceFile: /src/tink/cc/aead/aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AeadSetWrapper(\n      std::unique_ptr<PrimitiveSet<Aead>> aead_set,\n
      \     std::unique_ptr<MonitoringClient> monitoring_encryption_client = nullptr,\n
      \     std::unique_ptr<MonitoringClient> monitoring_decryption_client = nullptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/aead_wrapper.cc:85,1
    - Dst: get_primary
      Src: /src/tink/cc/aead/aead_wrapper.cc:86,1
    - Dst: crypto::tink::AeadSetWrapper::Encrypt
      Src: /src/tink/cc/aead/aead_wrapper.cc:88,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:89,1
    - Dst: LogFailure
      Src: /src/tink/cc/aead/aead_wrapper.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper.cc:93,1
    - Dst: Log
      Src: /src/tink/cc/aead/aead_wrapper.cc:96,1
    - Dst: get_primary
      Src: /src/tink/cc/aead/aead_wrapper.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/aead_wrapper.cc:97,1
    - Dst: get_primary
      Src: /src/tink/cc/aead/aead_wrapper.cc:99,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aead_wrapper.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: crypto::tink::AeadSetWrapper::Encrypt
    functionSourceFile: /src/tink/cc/aead/aead_wrapper.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::AeadSetWrapper::Encrypt
    - get_primary
    - LogFailure
    - util::StatusOr::status
    - absl::string_view::size
    - crypto::tink::internal::EnsureStringNonNull
    - util::StatusOr::ok
    - Log
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AeadSetWrapper::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/aead_wrapper.cc:107,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/aead/aead_wrapper.cc:109,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/aead_wrapper.cc:111,1
    - Dst: get_primitives
      Src: /src/tink/cc/aead/aead_wrapper.cc:113,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:114,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/aead_wrapper.cc:116,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/aead_wrapper.cc:119,1
    - Dst: crypto::tink::AeadSetWrapper::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper.cc:121,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:122,1
    - Dst: Log
      Src: /src/tink/cc/aead/aead_wrapper.cc:124,1
    - Dst: get_key_id
      Src: /src/tink/cc/aead/aead_wrapper.cc:124,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/aead_wrapper.cc:125,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/aead/aead_wrapper.cc:135,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:136,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/aead_wrapper.cc:139,1
    - Dst: crypto::tink::AeadSetWrapper::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper.cc:141,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:142,1
    - Dst: Log
      Src: /src/tink/cc/aead/aead_wrapper.cc:144,1
    - Dst: get_key_id
      Src: /src/tink/cc/aead/aead_wrapper.cc:144,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/aead_wrapper.cc:145,1
    - Dst: LogFailure
      Src: /src/tink/cc/aead/aead_wrapper.cc:152,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aead_wrapper.cc:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 155
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 155
    functionName: crypto::tink::AeadSetWrapper::Decrypt
    functionSourceFile: /src/tink/cc/aead/aead_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_primitive
    - get_raw_primitives
    - absl::string_view::size
    - LogFailure
    - crypto::tink::internal::ExtractStatus
    - get_primitives
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - util::StatusOr::ok
    - crypto::tink::AeadSetWrapper::Decrypt
    - Log
    - get_key_id
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AeadSetWrapper::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/aead/aead_wrapper.cc:161,1
    - Dst: std::unique_ptr<PrimitiveSet<Aead>>::get
      Src: /src/tink/cc/aead/aead_wrapper.cc:161,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:162,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/aead/aead_wrapper.cc:167,1
    - Dst: absl::make_unique<AeadSetWrapper>
      Src: /src/tink/cc/aead/aead_wrapper.cc:171,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:171,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/aead/aead_wrapper.cc:175,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper.cc:177,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/aead/aead_wrapper.cc:181,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/aead/aead_wrapper.cc:182,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:183,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper.cc:184,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/aead/aead_wrapper.cc:188,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/aead/aead_wrapper.cc:189,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aead_wrapper.cc:190,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper.cc:191,1
    - Dst: absl::make_unique<AeadSetWrapper>
      Src: /src/tink/cc/aead/aead_wrapper.cc:194,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:195,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:195,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper.cc:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<Aead>>
    constantsTouched: []
    func_position:
      end: 197
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 197
    functionName: crypto::tink::AeadWrapper::Wrap
    functionSourceFile: /src/tink/cc/aead/aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    - std::unique_ptr<PrimitiveSet<Aead>>::get
    - absl::make_unique<AeadSetWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AeadWrapper::Wrap(\n    std::unique_ptr<PrimitiveSet<Aead>>
      aead_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesGcmSivParameters::Variant>
    signature: "util::StatusOr<AesGcmSivParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - AesGcmSivParameters::Variant
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    AesGcmSivParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:98,1
    - Dst: AesGcmSivKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:103,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:105,1
    - Dst: AesGcmSivKeyFormat::version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:109,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:114,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:114,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:116,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:119,1
    - Dst: AesGcmSivKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyFormat::version
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - AesGcmSivKeyFormat::ParseFromString
    - AesGcmSivKeyFormat::key_size
    - util::StatusOr::ok
    - GetKeyTemplate
    - crypto::tink::AesGcmSivParameters::Create
    - crypto::tink::ToVariant
    linkageType: ''
    returnType: util::StatusOr<AesGcmSivParameters>
    signature: "util::StatusOr<AesGcmSivParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:125,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:125,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:126,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:127,1
    - Dst: AesGcmSivKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:131,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:132,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:132,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:134,1
    - Dst: AesGcmSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesGcmSivParameters
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyFormat::set_version
    - AesGcmSivKeyFormat::SerializeAsString
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - AesGcmSivKeyFormat::set_key_size
    - GetVariant
    - util::StatusOr::ok
    - KeySizeInBytes
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const AesGcmSivParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:141,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:142,1
    - Dst: TypeUrl
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:145,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:146,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:150,1
    - Dst: google::crypto::tink::AesGcmSivKey::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:151,1
    - Dst: GetSecret
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:151,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:152,1
    - Dst: google::crypto::tink::AesGcmSivKey::version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:156,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:161,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:161,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:162,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:163,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:167,1
    - Dst: google::crypto::tink::AesGcmSivKey::key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:167,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:168,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:169,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:172,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:173,1
    - Dst: google::crypto::tink::AesGcmSivKey::key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:173,1
    - Dst: IdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:174,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 175
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 175
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - RestrictedData
    - google::crypto::tink::AesGcmSivKey::key_value
    - google::crypto::tink::AesGcmSivKey::version
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - GetOutputPrefixType
    - google::crypto::tink::AesGcmSivKey::ParseFromString
    - crypto::tink::ToVariant
    - crypto::tink::AesGcmSivParameters::Create
    - SerializedKeyProto
    - crypto::tink::AesGcmSivKey::Create
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<AesGcmSivKey>
    signature: "util::StatusOr<AesGcmSivKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:179,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:180,1
    - Dst: GetKeyBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:185,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:185,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:186,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:187,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:191,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:193,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:193,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:193,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:196,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:196,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:197,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:198,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:202,1
    - Dst: google::crypto::tink::AesGcmSivKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:202,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:203,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - AesGcmSivKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 206
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 206
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - crypto::tink::GetPartialKeyAccess
    - std::string
    - GetKeyBytes
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ExtractStatus
    - GetParameters
    - RestrictedData
    - crypto::tink::internal::ProtoKeySerialization::Create
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - GetIdRequirement
    - google::crypto::tink::AesGcmSivKey::SerializeAsString
    - google::crypto::tink::AesGcmSivKey::set_version
    - google::crypto::tink::AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      AesGcmSivKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivProtoParametersParserImpl::AesGcmSivProtoParametersParserImpl
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: crypto::tink::AesGcmSivProtoParametersParser
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivProtoParametersParserImpl::AesGcmSivProtoParametersParserImpl
    linkageType: ''
    returnType: AesGcmSivProtoParametersParserImpl
    signature: AesGcmSivProtoParametersParserImpl * AesGcmSivProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivProtoParametersSerializerImpl::AesGcmSivProtoParametersSerializerImpl
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: crypto::tink::AesGcmSivProtoParametersSerializer
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivProtoParametersSerializerImpl::AesGcmSivProtoParametersSerializerImpl
    linkageType: ''
    returnType: AesGcmSivProtoParametersSerializerImpl
    signature: AesGcmSivProtoParametersSerializerImpl * AesGcmSivProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivProtoKeyParserImpl::AesGcmSivProtoKeyParserImpl
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: crypto::tink::AesGcmSivProtoKeyParser
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivProtoKeyParserImpl::AesGcmSivProtoKeyParserImpl
    linkageType: ''
    returnType: AesGcmSivProtoKeyParserImpl
    signature: AesGcmSivProtoKeyParserImpl * AesGcmSivProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivProtoKeySerializerImpl::AesGcmSivProtoKeySerializerImpl
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: crypto::tink::AesGcmSivProtoKeySerializer
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivProtoKeySerializerImpl::AesGcmSivProtoKeySerializerImpl
    linkageType: ''
    returnType: AesGcmSivProtoKeySerializerImpl
    signature: AesGcmSivProtoKeySerializerImpl * AesGcmSivProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:234,1
    - Dst: crypto::tink::AesGcmSivProtoParametersParser
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:235,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:236,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:241,1
    - Dst: crypto::tink::AesGcmSivProtoParametersSerializer
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:242,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:243,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:247,1
    - Dst: crypto::tink::AesGcmSivProtoKeyParser
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:248,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:249,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:253,1
    - Dst: crypto::tink::AesGcmSivProtoKeySerializer
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 255
    functionName: crypto::tink::RegisterAesGcmSivProtoSerialization
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::AesGcmSivProtoKeyParser
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesGcmSivProtoKeySerializer
    - crypto::tink::AesGcmSivProtoParametersSerializer
    - crypto::tink::AesGcmSivProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterAesGcmSivProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::AesGcmSivKey::AesGcmSivKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmSivKey(const AesGcmSivKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const AesGcmSivKey& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmSivKey
    signature: AesGcmSivKey & operator=(const AesGcmSivKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::AesGcmSivKey::AesGcmSivKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmSivKey(AesGcmSivKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(AesGcmSivKey&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmSivKey
    signature: AesGcmSivKey & operator=(AesGcmSivKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::AesGcmSivKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmSivParameters
    signature: AesGcmSivParameters & GetParameters() const override
  - 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: crypto::tink::AesGcmSivKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_gcm_siv_key.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - AesGcmSivParameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: crypto::tink::AesGcmSivKey::AesGcmSivKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesGcmSivKey(const AesGcmSivParameters& parameters,\n               const
      RestrictedData& key_bytes,\n               absl::optional<int> id_requirement,
      std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingAead
      Src: /src/tink/cc/aead/failing_aead_test.cc:35,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/failing_aead_test.cc:37,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/aead/failing_aead_test.cc:37,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/failing_aead_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/failing_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingAead
    - EXPECT_THAT
    - std::unique_ptr::Encrypt
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailAead, EncryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingAead
      Src: /src/tink/cc/aead/failing_aead_test.cc:44,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/failing_aead_test.cc:46,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/aead/failing_aead_test.cc:47,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/failing_aead_test.cc:48,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/failing_aead_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/failing_aead_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Encrypt
    - crypto::tink::CreateAlwaysFailingAead
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailAead, EncryptFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingAead
      Src: /src/tink/cc/aead/failing_aead_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/failing_aead_test.cc:54,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/aead/failing_aead_test.cc:54,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/failing_aead_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/failing_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingAead
    - std::unique_ptr::Decrypt
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailAead, DecryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingAead
      Src: /src/tink/cc/aead/failing_aead_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/failing_aead_test.cc:63,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/aead/failing_aead_test.cc:64,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/failing_aead_test.cc:65,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/failing_aead_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/failing_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingAead
    - std::unique_ptr::Decrypt
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailAead, DecryptFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKey::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:69,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::get_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:69,1
    - Dst: AesCtrHmacAeadKey::mutable_aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:72,1
    - Dst: auto::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:73,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::get_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:73,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:74,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:75,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:76,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:76,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:77,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:80,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:81,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:82,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:83,1
    - Dst: AesCtrHmacAeadKey::mutable_hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:85,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' aes_ctr_hmac_aead_key_format'
    argTypes:
    - AesCtrHmacAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: crypto::tink::AesCtrHmacAeadKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCtrHmacAeadKeyManager::get_version
    - auto::status
    - hmac_key_format
    - AesCtrHmacAeadKey::mutable_hmac_key
    - AesCtrHmacAeadKey::mutable_aes_ctr_key
    - aes_ctr_key_format
    - auto::set_key_value
    - auto::value
    - auto::mutable_params
    - AesCtrHmacAeadKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - HmacKeyManager
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<AesCtrHmacAeadKey>
    signature: "StatusOr<AesCtrHmacAeadKey> AesCtrHmacAeadKeyManager::CreateKey(\n
      \   const AesCtrHmacAeadKeyFormat& aes_ctr_hmac_aead_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:92,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:93,1
    - Dst: aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:93,1
    - Dst: aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:94,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:95,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:95,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:97,1
    - Dst: hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:97,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:98,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:98,1
    - Dst: crypto::tink::subtle::EncryptThenAuthenticate::New
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:101,1
    - Dst: hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:102,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:103,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:104,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:106,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesCtrHmacAeadKey
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: "AesCtrHmacAeadKeyManager::AeadFactory::Create(\n    const AesCtrHmacAeadKey&
      key) const"
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - hmac_key
    - auto::ok
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::EncryptThenAuthenticate::New
    - auto::value
    - HmacKeyManager
    - aes_ctr_key
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Aead>>
    signature: "StatusOr<std::unique_ptr<Aead>> AesCtrHmacAeadKeyManager::AeadFactory::Create(\n
      \   const AesCtrHmacAeadKey& key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:111,1
    - Dst: version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:111,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::get_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:111,1
    - Dst: Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:112,1
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:114,1
    - Dst: aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:114,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::get_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:114,1
    - Dst: Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:115,1
    - Dst: aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:118,1
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:120,1
    - Dst: Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:121,1
    - Dst: auto::params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:124,1
    - Dst: auto::params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:126,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:129,1
    - Dst: hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesCtrHmacAeadKey
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: crypto::tink::AesCtrHmacAeadKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCtrHmacAeadKeyManager::get_version
    - Status::ok
    - hmac_key
    - ValidateAesKeySize
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - auto::params
    - version
    - HmacKeyManager
    - aes_ctr_key
    linkageType: ''
    returnType: Status
    signature: "Status AesCtrHmacAeadKeyManager::ValidateKey(\n    const AesCtrHmacAeadKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:135,1
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:136,1
    - Dst: auto::key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:136,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:137,1
    - Dst: auto::params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:140,1
    - Dst: auto::params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:141,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:142,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:148,1
    - Dst: auto::key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:149,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:150,1
    - Dst: auto::params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:154,1
    - Dst: auto::tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:156,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:157,1
    - Dst: auto::tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:158,1
    - Dst: std::map::find
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:165,1
    - Dst: auto::hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:165,1
    - Dst: std::map::end
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:165,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:166,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:168,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:169,1
    - Dst: auto::hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:169,1
    - Dst: auto::tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:171,1
    - Dst: auto::hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:171,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:172,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:174,1
    - Dst: auto::tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:174,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:176,1
    - Dst: auto::hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:176,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:180,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesCtrHmacAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 181
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 181
    functionName: crypto::tink::AesCtrHmacAeadKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc
    functionUses: 0
    functionsReached:
    - std::map::end
    - hmac_key_format
    - std::map::find
    - auto::ok
    - ValidateAesKeySize
    - crypto::tink::internal::ExtractStatus
    - auto::params
    - aes_ctr_key_format
    - auto::hash
    - absl::StrCat
    - auto::key_size
    - auto::tag_size
    - HmacKeyManager
    - crypto::tink::util::Enums::HashName
    linkageType: ''
    returnType: Status
    signature: "Status AesCtrHmacAeadKeyManager::ValidateKeyFormat(\n    const AesCtrHmacAeadKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:195,1
    - Dst: Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:196,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:199,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:200,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:201,1
    - Dst: absl::IsOutOfRange
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:202,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:202,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:203,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:207,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:210,1
    - Dst: hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:210,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:211,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:212,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:216,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::get_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:216,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::mutable_hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:217,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:217,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::mutable_aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:219,1
    - Dst: AesCtrKey*::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:220,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::get_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:220,1
    - Dst: AesCtrKey*::set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:221,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:221,1
    - Dst: AesCtrKey*::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:222,1
    - Dst: aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:222,1
    - Dst: crypto::tink::AesCtrHmacAeadKeyManager::ValidateKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:224,1
    - Dst: Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - AesCtrHmacAeadKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 229
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 229
    functionName: crypto::tink::AesCtrHmacAeadKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCtrHmacAeadKeyManager::get_version
    - hmac_key_format
    - absl::IsOutOfRange
    - HmacKeyManager
    - Status::ok
    - StatusOr::value
    - StatusOr::status
    - AesCtrKey*::mutable_params
    - AesCtrKey*::set_key_value
    - google::crypto::tink::AesCtrHmacAeadKey::mutable_aes_ctr_key
    - AesCtrKey*::set_version
    - crypto::tink::AesCtrHmacAeadKeyManager::ValidateKeyFormat
    - StatusOr::ok
    - crypto::tink::AesCtrHmacAeadKeyManager::ValidateKey
    - google::crypto::tink::AesCtrHmacAeadKey::set_version
    - crypto::tink::internal::ExtractStatus
    - aes_ctr_key_format
    - google::crypto::tink::AesCtrHmacAeadKey::mutable_hmac_key
    - ReadBytesFromStream
    linkageType: ''
    returnType: StatusOr<AesCtrHmacAeadKey>
    signature: "StatusOr<AesCtrHmacAeadKey> AesCtrHmacAeadKeyManager::DeriveKey(\n
      \   const AesCtrHmacAeadKeyFormat& key_format,\n    InputStream* input_stream)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AeadFactory::GetPrimitive
      Src: /src/tink/cc/aead/aead_factory_test.cc:60,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/aead/aead_factory_test.cc:60,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aead_factory_test.cc:61,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_factory_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_factory_test.cc:62,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:62,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_factory_test.cc:63,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aead_factory_test.cc:64,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - crypto::tink::AeadFactory::GetPrimitive
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_factory_test.cc:69,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aead_factory_test.cc:72,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_factory_test.cc:77,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/aead/aead_factory_test.cc:78,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_factory_test.cc:82,1
    - Dst: AddRawKey
      Src: /src/tink/cc/aead/aead_factory_test.cc:83,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_factory_test.cc:87,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/aead/aead_factory_test.cc:88,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/aead/aead_factory_test.cc:91,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/aead/aead_factory_test.cc:94,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_factory_test.cc:94,1
    - Dst: crypto::tink::AeadFactory::GetPrimitive
      Src: /src/tink/cc/aead/aead_factory_test.cc:98,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/aead/aead_factory_test.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_factory_test.cc:99,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_factory_test.cc:99,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:99,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_factory_test.cc:100,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_factory_test.cc:100,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/aead/aead_factory_test.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_factory_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_factory_test.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_factory_test.cc:108,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/aead/aead_factory_test.cc:110,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/aead/aead_factory_test.cc:110,1
    - Dst: Keyset::key
      Src: /src/tink/cc/aead/aead_factory_test.cc:110,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_factory_test.cc:111,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/aead_factory_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_factory_test.cc:114,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_factory_test.cc:114,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_factory_test.cc:115,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_factory_test.cc:115,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/aead_factory_test.cc:117,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aead_factory_test.cc:118,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_factory_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_factory_test.cc:119,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:120,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_factory_test.cc:121,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aead_factory_test.cc:122,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_factory_test.cc:126,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/aead/aead_factory_test.cc:126,1
    - Dst: Keyset::key
      Src: /src/tink/cc/aead/aead_factory_test.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_factory_test.cc:128,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_factory_test.cc:128,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/aead/aead_factory_test.cc:129,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/aead_factory_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_factory_test.cc:131,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_factory_test.cc:131,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_factory_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_factory_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_factory_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 133
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_factory_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmKey::ParseFromString
    - auto::ok
    - AddRawKey
    - std::move
    - ASSERT_TRUE
    - EXPECT_FALSE
    - crypto::tink::AeadConfig::Register
    - auto::status
    - std::string
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - AesGcmKeyFormat::set_key_size
    - crypto::tink::KeyInfoFromKey
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_PRED_FORMAT2
    - AesGcmKeyManager
    - EXPECT_EQ
    - AddTinkKey
    - auto::Decrypt
    - crypto::tink::AeadFactory::GetPrimitive
    - Keyset::key
    - auto::value
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::AesCtrHmacAeadKey::AesCtrHmacAeadKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacAeadKey(const AesCtrHmacAeadKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const AesCtrHmacAeadKey& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadKey
    signature: AesCtrHmacAeadKey & operator=(const AesCtrHmacAeadKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::AesCtrHmacAeadKey::AesCtrHmacAeadKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacAeadKey(AesCtrHmacAeadKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(AesCtrHmacAeadKey&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadKey
    signature: AesCtrHmacAeadKey & operator=(AesCtrHmacAeadKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: crypto::tink::AesCtrHmacAeadKey::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: crypto::tink::AesCtrHmacAeadKey::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::AesCtrHmacAeadKey::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '& GetAesKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetAesKeyBytes(PartialKeyAccessToken token) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '& GetHmacKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetHmacKeyBytes(PartialKeyAccessToken token) const
  - 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: crypto::tink::AesCtrHmacAeadKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters
    signature: AesCtrHmacAeadParameters & GetParameters() const override
  - 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: crypto::tink::AesCtrHmacAeadKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - ' parameters'
    - ' aes_key_bytes'
    - ' hmac_key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - AesCtrHmacAeadParameters
    - RestrictedData
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: crypto::tink::AesCtrHmacAeadKey::AesCtrHmacAeadKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesCtrHmacAeadKey(const AesCtrHmacAeadParameters& parameters,\n
      \                   const RestrictedData& aes_key_bytes,\n                    const
      RestrictedData& hmac_key_bytes,\n                    absl::optional<int> id_requirement,\n
      \                   std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:67,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:80,1
    - Dst: util::StatusOr::GetAesKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:80,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:81,1
    - Dst: util::StatusOr::GetHmacKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:82,1
    - Dst: util::StatusOr::GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:83,1
    - Dst: util::StatusOr::GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:84,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:85,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:86,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:86,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetAesKeySizeInBytes
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::GetTagSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetHmacKeySizeInBytes
    - util::StatusOr::GetIvSizeInBytes
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadParametersTest, BuildParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:90,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:98,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithoutSettingAesKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:103,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:113,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithInvalidAesKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:118,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:118,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:126,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithoutSettingAHmacKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:131,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithInvalidHmacKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:146,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:146,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:154,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithoutSettingIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:159,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:159,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:168,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooSmallIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:173,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:173,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:182,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooBigIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:187,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:187,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:195,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithoutSettingTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:200,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:200,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:209,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooSmallTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:214,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:215,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:224,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooBigTagSizeSHA1Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:229,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:230,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:239,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooBigTagSizeSHA224Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:244,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:245,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:254,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooBigTagSizeSHA256Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:259,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:260,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:269,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 271
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooBigTagSizeSHA384Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:274,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:274,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithTooBigTagSizeSHA512Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:287,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:287,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:295,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithoutSettingHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:300,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:300,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:311,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithInvalidHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:316,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:316,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:324,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 326
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithoutSettingVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:329,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:330,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:340,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:345,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:359,1
    - Dst: AesCtrHmacAeadParameters::GetAesKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:359,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:359,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:360,1
    - Dst: AesCtrHmacAeadParameters::GetHmacKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:360,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:360,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:361,1
    - Dst: AesCtrHmacAeadParameters::GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:361,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:361,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:362,1
    - Dst: AesCtrHmacAeadParameters::GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:362,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:362,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:363,1
    - Dst: AesCtrHmacAeadParameters::GetHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:363,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:363,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:364,1
    - Dst: AesCtrHmacAeadParameters::GetVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:364,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:364,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:365,1
    - Dst: AesCtrHmacAeadParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 366
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadParameters::GetIvSizeInBytes
    - AesCtrHmacAeadParameters::GetAesKeySizeInBytes
    - IsOk
    - AesCtrHmacAeadParameters::GetTagSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - AesCtrHmacAeadParameters::HasIdRequirement
    - AesCtrHmacAeadParameters::GetVariant
    - EXPECT_THAT
    - AesCtrHmacAeadParameters::GetHmacKeySizeInBytes
    - AesCtrHmacAeadParameters::GetHashType
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:369,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:379,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:383,1
    - Dst: AesCtrHmacAeadParameters::GetAesKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:383,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:383,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:384,1
    - Dst: AesCtrHmacAeadParameters::GetHmacKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:384,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:384,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:385,1
    - Dst: AesCtrHmacAeadParameters::GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:385,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:385,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:386,1
    - Dst: AesCtrHmacAeadParameters::GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:386,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:386,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:387,1
    - Dst: AesCtrHmacAeadParameters::GetHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:387,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:387,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:388,1
    - Dst: AesCtrHmacAeadParameters::GetVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:388,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:388,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:389,1
    - Dst: AesCtrHmacAeadParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 390
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadParameters::GetIvSizeInBytes
    - AesCtrHmacAeadParameters::GetAesKeySizeInBytes
    - IsOk
    - AesCtrHmacAeadParameters::GetTagSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - AesCtrHmacAeadParameters::HasIdRequirement
    - AesCtrHmacAeadParameters::GetVariant
    - EXPECT_THAT
    - AesCtrHmacAeadParameters::GetHmacKeySizeInBytes
    - AesCtrHmacAeadParameters::GetHashType
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:393,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:403,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:414,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:414,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:417,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:418,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 420
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadParametersTest, SameParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:424,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:432,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:432,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:435,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:443,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:443,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:445,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, DifferentAesKeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:451,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:459,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:462,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:470,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:470,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:472,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 474
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, DifferentHmacKeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:478,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:486,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:489,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:497,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:497,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:499,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 501
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, DifferentIvSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:505,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:513,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:513,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:516,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:524,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:524,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:526,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 528
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, DifferentTagSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:532,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:540,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:543,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:551,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:551,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:553,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, DifferentHashTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:559,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:567,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:567,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:570,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:578,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:578,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:580,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadParametersTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:65,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:66,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:68,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:68,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:73,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:73,1
    - Dst: KmsEnvelopeAeadKey
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:73,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKeyManager
    - StatusIs
    - EXPECT_THAT
    - KmsEnvelopeAeadKey
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:79,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:80,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:81,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:84,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKey::mutable_params
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - KmsEnvelopeAeadKey::set_version
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:89,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:90,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:91,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:93,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:93,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKey::mutable_params
    - Not
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - KmsEnvelopeAeadKey::set_version
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:98,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:99,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:101,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:101,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKey::mutable_params
    - Not
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - KmsEnvelopeAeadKey::set_version
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateNoUri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:105,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:106,1
    - Dst: KmsEnvelopeAeadKeyFormat
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:106,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKeyManager
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyFormat
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateKeyFormatEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKeyFormat::set_kek_uri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:112,1
    - Dst: KmsEnvelopeAeadKeyFormat::mutable_dek_template
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:113,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:114,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    - KmsEnvelopeAeadKeyFormat::set_kek_uri
    - KmsEnvelopeAeadKeyFormat::mutable_dek_template
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateKeyFormatValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKeyFormat::mutable_dek_template
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:120,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:121,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:121,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    - KmsEnvelopeAeadKeyFormat::mutable_dek_template
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateKeyFormatNoUri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKeyFormat::set_kek_uri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:128,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:128,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    - KmsEnvelopeAeadKeyFormat::set_kek_uri
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateKeyFormatNoTemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKeyFormat::set_kek_uri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:134,1
    - Dst: KmsEnvelopeAeadKeyFormat::mutable_dek_template
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:135,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:136,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:136,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - MacKeyTemplates::HmacSha256
    - Not
    - IsOk
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    - KmsEnvelopeAeadKeyFormat::set_kek_uri
    - KmsEnvelopeAeadKeyFormat::mutable_dek_template
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, ValidateKeyFormatInvalidDekTemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKeyFormat::set_kek_uri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:142,1
    - Dst: KmsEnvelopeAeadKeyFormat::mutable_dek_template
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:143,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:143,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:146,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:146,1
    - Dst: KmsEnvelopeAeadKeyFormat::kek_uri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:147,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:147,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:148,1
    - Dst: KmsEnvelopeAeadKeyFormat::dek_template
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - KmsEnvelopeAeadKeyFormat::dek_template
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - Eq
    - auto::value
    - KmsEnvelopeAeadKeyFormat::kek_uri
    - EXPECT_THAT
    - KmsEnvelopeAeadKeyManager
    - KmsEnvelopeAeadKeyFormat::set_kek_uri
    - KmsEnvelopeAeadKeyFormat::mutable_dek_template
    linkageType: ''
    returnType: void
    signature: void TEST(KmsEnvelopeAeadKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:157,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:158,1
    - Dst: abort
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:160,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:161,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:161,1
    - Dst: abort
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:162,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:164,1
    - Dst: absl::make_unique<AesEaxKeyManager>
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:164,1
    - Dst: abort
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: crypto::tink::KmsEnvelopeAeadKeyManagerCreateTest::SetUpTestSuite
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::KmsClients::Add
    - abort
    - absl::make_unique<DummyKmsClient>
    - absl::make_unique<AesEaxKeyManager>
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:173,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:174,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:175,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:176,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:179,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:182,1
    - Dst: KmsEnvelopeAeadKey::params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:182,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:186,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:186,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:186,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - KmsEnvelopeAeadKey::mutable_params
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - KmsEnvelopeAeadKey::params
    - absl::make_unique<DummyAead>
    - KmsEnvelopeAeadKey::set_version
    - EXPECT_THAT
    - auto::value
    - KmsEnvelopeAeadKeyManager
    - crypto::tink::KmsEnvelopeAead::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadKeyManagerCreateTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:193,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:194,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:195,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:196,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:199,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKey::mutable_params
    - Not
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - KmsEnvelopeAeadKey::set_version
    - KmsEnvelopeAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadKeyManagerCreateTest, CreateAeadWrongKeyName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:204,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:205,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:206,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:207,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:208,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:212,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKey::mutable_params
    - Not
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - KmsEnvelopeAeadKey::set_version
    - KmsEnvelopeAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadKeyManagerCreateTest, CreateAeadWrongTypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:217,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:218,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:219,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:220,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:223,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKey::mutable_params
    - Not
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - KmsEnvelopeAeadKey::set_version
    - KmsEnvelopeAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadKeyManagerCreateTest, CreateAeadWrongPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:228,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:229,1
    - Dst: KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:230,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:231,1
    - Dst: KmsEnvelopeAeadKeyManager
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:234,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:237,1
    - Dst: KmsEnvelopeAeadKey::params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:237,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:241,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:241,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:241,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - KmsEnvelopeAeadKey::mutable_params
    - IsOk
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - KmsEnvelopeAeadKey::params
    - absl::make_unique<DummyAead>
    - KmsEnvelopeAeadKey::set_version
    - EXPECT_THAT
    - auto::value
    - KmsEnvelopeAeadKeyManager
    - crypto::tink::KmsEnvelopeAead::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadKeyManagerCreateTest, CreateAeadUnboundKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:248,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: crypto::tink::KmsEnvelopeAeadKeyManagerDekTemplatesTest::SetUp
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::DeterministicAeadConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:254,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:255,1
    - Dst: crypto::tink::test::FakeKmsClient::RegisterNewClient
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:258,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:260,1
    - Dst: crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:262,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:264,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:265,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:267,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:268,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:274,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:276,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:277,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:277,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:281,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:282,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:282,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 283
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - util::StatusOr::status
    - IsOk
    - crypto::tink::test::FakeKmsClient::RegisterNewClient
    - Not
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
    - GetParam
    - crypto::tink::ConfigGlobalRegistry
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_P(KmsEnvelopeAeadKeyManagerDekTemplatesTest, EncryptDecryp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc: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: crypto::tink::AesEaxProtoSerializationTest::AesEaxProtoSerializationTest
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void AesEaxProtoSerializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:80,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:81,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterAesEaxProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:100,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:100,1
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:103,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:104,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:107,1
    - Dst: AesEaxKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:110,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:116,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:116,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:117,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:117,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::SerializeAsString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - HasIdRequirement
    - GetParam
    - Eq
    - crypto::tink::RegisterAesEaxProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:132,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:132,1
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:135,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:136,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:143,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:143,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesEaxProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesEaxProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:151,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:151,1
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:154,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:155,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:158,1
    - Dst: AesEaxKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:163,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:163,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyFormat::SerializeAsString
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesEaxProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesEaxProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:171,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:171,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:181,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:189,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:189,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:189,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:192,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:194,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:195,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:195,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:197,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:197,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:201,1
    - Dst: AesEaxKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:202,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:202,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:204,1
    - Dst: AesEaxKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:204,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:205,1
    - Dst: AesEaxKeyFormat::params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:205,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - AesEaxKeyFormat::ParseFromString
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - AesEaxKeyFormat::key_size
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - AesEaxKeyFormat::params
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:210,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:210,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:219,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:226,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:226,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesEaxProtoSerializationTest,\n       SerializeParametersWithDisallowedTagSizeFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:232,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:232,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:234,1
    - Dst: google::crypto::tink::AesEaxKey::set_version
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:236,1
    - Dst: google::crypto::tink::AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:237,1
    - Dst: google::crypto::tink::AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:238,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:239,1
    - Dst: google::crypto::tink::AesEaxKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:240,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:240,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:246,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:249,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:253,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:254,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:254,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:255,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:264,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:266,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:268,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:268,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:272,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 273
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::AesEaxKey::set_key_value
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesEaxKey::mutable_params
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::AesEaxKey::SerializeAsString
    - crypto::tink::AesEaxKey::Create
    - google::crypto::tink::AesEaxKey::set_version
    - Eq
    - crypto::tink::RegisterAesEaxProtoSerialization
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:276,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:276,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:278,1
    - Dst: google::crypto::tink::AesEaxKey::set_version
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:280,1
    - Dst: google::crypto::tink::AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:281,1
    - Dst: google::crypto::tink::AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:282,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:283,1
    - Dst: google::crypto::tink::AesEaxKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:284,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:284,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:290,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:293,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:295,1
    - Dst: dynamic_cast<const AesEaxKey*>
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:297,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:298,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:299,1
    - Dst: AesEaxKey*::GetParameters
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:299,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesEaxKey*::GetParameters
    - util::StatusOr::get
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesEaxKey::mutable_params
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - dynamic_cast<const AesEaxKey*>
    - google::crypto::tink::AesEaxKey::SerializeAsString
    - EXPECT_THAT
    - google::crypto::tink::AesEaxKey::set_key_value
    - NotNull
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesEaxKey::set_version
    - Eq
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:304,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:304,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:307,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:307,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:314,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:320,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:320,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 321
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, ParseKeyWithInvalidSerializationFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:326,1
    - Dst: google::crypto::tink::AesEaxKey::set_version
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:328,1
    - Dst: google::crypto::tink::AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:329,1
    - Dst: google::crypto::tink::AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:330,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:331,1
    - Dst: google::crypto::tink::AesEaxKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:332,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:332,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:335,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:339,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:339,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:342,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:344,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:344,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 345
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - google::crypto::tink::AesEaxKey::mutable_params
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesEaxKey::SerializeAsString
    - EXPECT_THAT
    - google::crypto::tink::AesEaxKey::set_key_value
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesEaxKey::set_version
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, ParseKeyNoSecretKeyAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:348,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:348,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:348,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:350,1
    - Dst: google::crypto::tink::AesEaxKey::set_version
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:352,1
    - Dst: google::crypto::tink::AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:353,1
    - Dst: google::crypto::tink::AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:354,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:355,1
    - Dst: google::crypto::tink::AesEaxKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:356,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:356,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:359,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:363,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:363,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:366,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:368,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:368,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 369
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - google::crypto::tink::AesEaxKey::mutable_params
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesEaxKey::SerializeAsString
    - EXPECT_THAT
    - google::crypto::tink::AesEaxKey::set_key_value
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesEaxKey::set_version
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, ParseKeyWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:372,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:373,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:373,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:383,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:385,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:386,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:388,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:388,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:390,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:393,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:396,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:397,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:397,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:397,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:400,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:401,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:402,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:402,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:403,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:403,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:403,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:404,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:404,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:405,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:405,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:406,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:407,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:407,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:410,1
    - Dst: google::crypto::tink::AesEaxKey::ParseFromString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:410,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:411,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:412,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:413,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:414,1
    - Dst: google::crypto::tink::AesEaxKey::key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:414,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:415,1
    - Dst: google::crypto::tink::AesEaxKey::key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:415,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:416,1
    - Dst: google::crypto::tink::AesEaxKey::params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:416,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 417
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesEaxKey::key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesEaxKey::params
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::AesEaxKey::Create
    - google::crypto::tink::AesEaxKey::ParseFromString
    - Eq
    - crypto::tink::RegisterAesEaxProtoSerialization
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:420,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:420,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:420,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:423,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:429,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:429,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:431,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:432,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:434,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:434,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:435,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:436,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:436,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:439,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:441,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:443,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:443,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, SerializeKeyWithDisallowedTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:448,1
    - Dst: crypto::tink::RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:448,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:448,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:451,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:457,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:459,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:460,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:462,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:462,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:463,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:464,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:464,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:467,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:469,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:469,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::RegisterAesEaxProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesEaxProtoSerializationTest, SerializeKeyNoSecretKeyAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:52,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:52,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:53,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:55,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - AesGcmSivKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:60,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:60,1
    - Dst: AesGcmSivKey
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:60,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - AesGcmSivKey
    - EXPECT_THAT
    - AesGcmSivKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:66,1
    - Dst: AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:68,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - AesGcmSivKey::set_version
    - IsOk
    - EXPECT_THAT
    - AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, ValidateValid16ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:73,1
    - Dst: AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:75,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - AesGcmSivKey::set_version
    - IsOk
    - EXPECT_THAT
    - AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, ValidateValid32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:80,1
    - Dst: AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:82,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - AesGcmSivKey::set_version
    - EXPECT_THAT
    - StatusIs
    - AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, InvalidKeySizes17Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:88,1
    - Dst: AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:90,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - AesGcmSivKey::set_version
    - EXPECT_THAT
    - StatusIs
    - AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, InvalidKeySizes24Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:96,1
    - Dst: AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:98,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:98,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - AesGcmSivKey::set_version
    - EXPECT_THAT
    - StatusIs
    - AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, InvalidKeySizes31Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:104,1
    - Dst: AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:106,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:106,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - AesGcmSivKey::set_version
    - EXPECT_THAT
    - StatusIs
    - AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, InvalidKeySizes33Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:114,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:114,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:115,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:118,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:118,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:119,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:122,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:122,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:123,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:126,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:126,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:129,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:129,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:130,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:133,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:134,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:137,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:137,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:140,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - IsOk
    - AesGcmSivKeyFormat::set_key_size
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:146,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:151,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:151,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:151,1
    - Dst: AesGcmSivKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - IsOk
    - StatusOr::value
    - AesGcmSivKeyFormat::set_key_size
    - AesGcmSivKeyFormat::key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, Create16ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:156,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:158,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:161,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:161,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:161,1
    - Dst: AesGcmSivKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyManager
    - IsOk
    - StatusOr::value
    - AesGcmSivKeyFormat::set_key_size
    - AesGcmSivKeyFormat::key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, Create32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:165,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:166,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:169,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:173,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:173,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:175,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:175,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:176,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:176,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - StatusOr::key_value
    - AesGcmSivKeyManager
    - IsOk
    - Not
    - AesGcmSivKeyFormat::set_key_size
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, CreateAeadFailsWithOpenSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:182,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:183,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:186,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:188,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:192,1
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:195,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:196,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:198,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - crypto::tink::EncryptThenDecrypt
    - StatusOr::key_value
    - AesGcmSivKeyManager
    - IsOk
    - AesGcmSivKeyFormat::set_key_size
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyManagerTest, CreateAeadSucceedsWithBoringSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:53,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:54,1
    - Dst: key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::XChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: crypto::tink::XChaCha20Poly1305KeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      google::crypto::tink::XChaCha20Poly1305Key& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: crypto::tink::XChaCha20Poly1305KeyManager::XChaCha20Poly1305KeyManager
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void XChaCha20Poly1305KeyManager()
  - 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: crypto::tink::XChaCha20Poly1305KeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::XChaCha20Poly1305KeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:73,1
    - Dst: version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:73,1
    - Dst: crypto::tink::XChaCha20Poly1305KeyManager::get_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:73,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:74,1
    - Dst: key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:77,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:79,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::XChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: crypto::tink::XChaCha20Poly1305KeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - key_value
    - version
    - absl::StrCat
    - crypto::tink::util::Status::ok
    - crypto::tink::util::OkStatus
    - crypto::tink::XChaCha20Poly1305KeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::XChaCha20Poly1305Key&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::XChaCha20Poly1305KeyFormat
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: crypto::tink::XChaCha20Poly1305KeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::XChaCha20Poly1305KeyFormat&
      key_format)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:95,1
    - Dst: crypto::tink::XChaCha20Poly1305KeyManager::get_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:95,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:96,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::XChaCha20Poly1305KeyFormat
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: crypto::tink::XChaCha20Poly1305KeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - crypto::tink::XChaCha20Poly1305KeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::XChaCha20Poly1305Key>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::XChaCha20Poly1305Key>
      CreateKey(const google::crypto::tink::XChaCha20Poly1305KeyFormat& key_format)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:104,1
    - Dst: version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:104,1
    - Dst: crypto::tink::XChaCha20Poly1305KeyManager::get_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:104,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:105,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:108,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:109,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:110,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:111,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:115,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:118,1
    - Dst: crypto::tink::XChaCha20Poly1305KeyManager::get_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:118,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:119,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::XChaCha20Poly1305KeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: crypto::tink::XChaCha20Poly1305KeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - crypto::tink::util::StatusOr<std::string>::status
    - version
    - crypto::tink::XChaCha20Poly1305KeyManager::get_version
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - crypto::tink::util::StatusOr<std::string>::value
    - crypto::tink::util::Status::ok
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::XChaCha20Poly1305Key>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::XChaCha20Poly1305Key>
      DeriveKey(const google::crypto::tink::XChaCha20Poly1305KeyFormat& key_format,\n
      \           InputStream* input_stream) const override"
  - 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: ~KmsEnvelopeAead() override
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KmsEnvelopeAead() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' dek_template'
    - remote_aead
    argTypes:
    - google::crypto::tink::KeyTemplate
    - std::unique_ptr<Aead>
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: crypto::tink::KmsEnvelopeAead::KmsEnvelopeAead
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KmsEnvelopeAead(const google::crypto::tink::KeyTemplate& dek_template,\n
      \                 std::unique_ptr<Aead> remote_aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/aead/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/aead/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddAeadKeyGenV0
      Src: /src/tink/cc/aead/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigAeadV0
    functionSourceFile: /src/tink/cc/aead/key_gen_config_v0.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - crypto::tink::internal::AddAeadKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigAeadV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<XChaCha20Poly1305Parameters::Variant>
    signature: "util::StatusOr<XChaCha20Poly1305Parameters::Variant> ToVariant(\n
      \   OutputPrefixType output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - XChaCha20Poly1305Parameters::Variant
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    XChaCha20Poly1305Parameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:101,1
    - Dst: XChaCha20Poly1305KeyFormat::ParseFromString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:107,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:109,1
    - Dst: XChaCha20Poly1305KeyFormat::version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:112,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:113,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:118,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:118,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:119,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:119,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305KeyFormat::version
    - util::StatusOr::status
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - crypto::tink::internal::ExtractStatus
    - XChaCha20Poly1305KeyFormat::ParseFromString
    - util::StatusOr::ok
    - GetKeyTemplate
    - crypto::tink::ToVariant
    linkageType: ''
    returnType: util::StatusOr<XChaCha20Poly1305Parameters>
    signature: "util::StatusOr<XChaCha20Poly1305Parameters> ParseParameters(\n    const
      internal::ProtoParametersSerialization& serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:127,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:127,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:128,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:128,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:131,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:133,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - XChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - XChaCha20Poly1305KeyFormat::set_version
    - GetVariant
    - util::StatusOr::ok
    - XChaCha20Poly1305KeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const XChaCha20Poly1305Parameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:141,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:144,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:145,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:149,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::ParseFromString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:150,1
    - Dst: GetSecret
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:150,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:151,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:154,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:155,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:160,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:160,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:161,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:161,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:164,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:165,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:167,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:168,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:168,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:168,1
    - Dst: IdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:169,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 170
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 170
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::XChaCha20Poly1305Key::version
    - GetSecret
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - crypto::tink::XChaCha20Poly1305Key::Create
    - util::StatusOr::GetVariant
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::XChaCha20Poly1305Key::ParseFromString
    - util::StatusOr::ok
    - GetOutputPrefixType
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - google::crypto::tink::XChaCha20Poly1305Key::key_value
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<XChaCha20Poly1305Key>
    signature: "util::StatusOr<XChaCha20Poly1305Key> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:176,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:176,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:177,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:177,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:179,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:184,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:185,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:185,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:188,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:188,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:189,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:189,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:192,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:192,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:193,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - XChaCha20Poly1305Key
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 196
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 196
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
    - GetParameters
    - util::StatusOr::status
    - GetKeyBytes
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - RestrictedData
    - crypto::tink::internal::ProtoKeySerialization::Create
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - GetIdRequirement
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      XChaCha20Poly1305Key& key,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305ProtoParametersParserImpl::XChaCha20Poly1305ProtoParametersParserImpl
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: crypto::tink::XChaCha20Poly1305ProtoParametersParser
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305ProtoParametersParserImpl::XChaCha20Poly1305ProtoParametersParserImpl
    linkageType: ''
    returnType: XChaCha20Poly1305ProtoParametersParserImpl
    signature: 'XChaCha20Poly1305ProtoParametersParserImpl *

      XChaCha20Poly1305ProtoParametersParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305ProtoParametersSerializerImpl::XChaCha20Poly1305ProtoParametersSerializerImpl
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: crypto::tink::XChaCha20Poly1305ProtoParametersSerializer
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305ProtoParametersSerializerImpl::XChaCha20Poly1305ProtoParametersSerializerImpl
    linkageType: ''
    returnType: XChaCha20Poly1305ProtoParametersSerializerImpl
    signature: 'XChaCha20Poly1305ProtoParametersSerializerImpl *

      XChaCha20Poly1305ProtoParametersSerializer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305ProtoKeyParserImpl::XChaCha20Poly1305ProtoKeyParserImpl
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: crypto::tink::XChaCha20Poly1305ProtoKeyParser
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305ProtoKeyParserImpl::XChaCha20Poly1305ProtoKeyParserImpl
    linkageType: ''
    returnType: XChaCha20Poly1305ProtoKeyParserImpl
    signature: XChaCha20Poly1305ProtoKeyParserImpl * XChaCha20Poly1305ProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305ProtoKeySerializerImpl::XChaCha20Poly1305ProtoKeySerializerImpl
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: crypto::tink::XChaCha20Poly1305ProtoKeySerializer
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305ProtoKeySerializerImpl::XChaCha20Poly1305ProtoKeySerializerImpl
    linkageType: ''
    returnType: XChaCha20Poly1305ProtoKeySerializerImpl
    signature: XChaCha20Poly1305ProtoKeySerializerImpl * XChaCha20Poly1305ProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:228,1
    - Dst: crypto::tink::XChaCha20Poly1305ProtoParametersParser
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:229,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:230,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:232,1
    - Dst: crypto::tink::XChaCha20Poly1305ProtoParametersSerializer
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:234,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:235,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:237,1
    - Dst: crypto::tink::XChaCha20Poly1305ProtoKeyParser
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:238,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:239,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:241,1
    - Dst: crypto::tink::XChaCha20Poly1305ProtoKeySerializer
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::XChaCha20Poly1305ProtoKeyParser
    - crypto::tink::XChaCha20Poly1305ProtoParametersParser
    - util::Status::ok
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::XChaCha20Poly1305ProtoKeySerializer
    - crypto::tink::XChaCha20Poly1305ProtoParametersSerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterXChaCha20Poly1305ProtoSerialization()
  - 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: ~CordAead()
    functionSourceFile: /src/tink/cc/aead/cord_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CordAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:55,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:56,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:59,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - XChaCha20Poly1305KeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:64,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:64,1
    - Dst: XChaCha20Poly1305Key
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:64,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - XChaCha20Poly1305KeyManager
    - XChaCha20Poly1305Key
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:70,1
    - Dst: XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:72,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - XChaCha20Poly1305Key::set_key_value
    - XChaCha20Poly1305Key::set_version
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateValid32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:77,1
    - Dst: XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:79,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:79,1
    - Dst: Not
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - XChaCha20Poly1305Key::set_key_value
    - XChaCha20Poly1305Key::set_version
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateInvalid16ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:84,1
    - Dst: XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:86,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:86,1
    - Dst: Not
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - XChaCha20Poly1305Key::set_key_value
    - XChaCha20Poly1305Key::set_version
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateInvalid31ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:91,1
    - Dst: XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:93,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:93,1
    - Dst: Not
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - XChaCha20Poly1305Key::set_key_value
    - XChaCha20Poly1305Key::set_version
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateInvalid33ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:98,1
    - Dst: XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:100,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:100,1
    - Dst: Not
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - XChaCha20Poly1305Key::set_key_value
    - XChaCha20Poly1305Key::set_version
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:104,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:104,1
    - Dst: XChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - XChaCha20Poly1305KeyManager
    - XChaCha20Poly1305KeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:111,1
    - Dst: XChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:114,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:114,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:115,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - EXPECT_THAT
    - XChaCha20Poly1305KeyFormat
    - Eq
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:120,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:122,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:127,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:127,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:128,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:128,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - SizeIs
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - XChaCha20Poly1305KeyFormat::set_version
    - EXPECT_THAT
    - Eq
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:132,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:136,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:140,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - ASSERT_THAT
    - XChaCha20Poly1305KeyFormat::set_version
    - auto::value
    - EXPECT_THAT
    - Eq
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, DeriveKeyFromLongSeed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:146,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:148,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:153,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:153,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - StatusOr::status
    - ASSERT_THAT
    - XChaCha20Poly1305KeyFormat::set_version
    - HasSubstr
    - StatusIs
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, DeriveKeyWithoutEnoughEntropy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:159,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:161,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:165,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:165,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:165,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - StatusOr::status
    - ASSERT_THAT
    - XChaCha20Poly1305KeyFormat::set_version
    - HasSubstr
    - StatusIs
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:171,1
    - Dst: XChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:174,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:174,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - EXPECT_THAT
    - XChaCha20Poly1305KeyFormat
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:179,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:180,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:183,1
    - Dst: XChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:185,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:185,1
    - Dst: Not
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:187,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:187,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:188,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:188,1
    - Dst: Not
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - IsOk
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - XChaCha20Poly1305KeyFormat
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, CreateAeadFailsWithOpenSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:194,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:195,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:198,1
    - Dst: XChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:199,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:203,1
    - Dst: crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:206,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:207,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:209,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - StatusOr::key_value
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
    - XChaCha20Poly1305KeyFormat
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyManagerTest, CreateAeadSucceedsWithBoringSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:40,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:42,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:45,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:49,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:50,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:61,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - AesGcmSivParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const AesGcmSivParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:70,1
    - Dst: size
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:71,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:74,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:75,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:80,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:81,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:87,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:88,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:89,1
    - Dst: crypto::tink::AesGcmSivKey::AesGcmSivKey
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - AesGcmSivParameters
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 93
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 93
    functionName: crypto::tink::AesGcmSivKey::Create
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::AesGcmSivKey::AesGcmSivKey
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    - KeySizeInBytes
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<AesGcmSivKey>
    signature: "util::StatusOr<AesGcmSivKey> AesGcmSivKey::Create(\n    const AesGcmSivParameters&
      parameters, const RestrictedData& key_bytes,\n    absl::optional<int> id_requirement,
      PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesGcmSivKey*>
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:96,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:100,1
    - Dst: AesGcmSivKey*::GetParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_key.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: AesGcmSivKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKey*::GetParameters
    - dynamic_cast<const AesGcmSivKey*>
    - GetParameters
    linkageType: ''
    returnType: bool
    signature: bool AesGcmSivKey::operator==(const Key& other) const
  - 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: crypto::tink::AeadConfig::AeadConfig
    functionSourceFile: /src/tink/cc/aead/aead_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AeadConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:58,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:59,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:59,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:60,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:60,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:61,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesGcmKey
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: crypto::tink::AesGcmKeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - key_value
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      google::crypto::tink::AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CordAesGcmBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:68,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:69,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:70,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:70,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:71,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesGcmKey
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: crypto::tink::AesGcmKeyManager::CordAeadFactory::Create
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - key_value
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - crypto::tink::internal::CordAesGcmBoringSsl::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<CordAead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<CordAead>> Create(\n
      \       const google::crypto::tink::AesGcmKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AesGcmKeyManager::AeadFactory>
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:76,1
    - Dst: absl::make_unique<AesGcmKeyManager::CordAeadFactory>
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: crypto::tink::AesGcmKeyManager::AesGcmKeyManager
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AesGcmKeyManager::CordAeadFactory>
    - absl::make_unique<AesGcmKeyManager::AeadFactory>
    linkageType: ''
    returnType: void
    signature: void AesGcmKeyManager()
  - 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: crypto::tink::AesGcmKeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: crypto::tink::AesGcmKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:93,1
    - Dst: version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:93,1
    - Dst: crypto::tink::AesGcmKeyManager::get_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:93,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:94,1
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:95,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesGcmKey
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: crypto::tink::AesGcmKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - ValidateAesKeySize
    - ValidateVersion
    - key_value
    - crypto::tink::AesGcmKeyManager::get_version
    - version
    - crypto::tink::util::Status::ok
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::AesGcmKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:100,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: crypto::tink::AesGcmKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - ValidateAesKeySize
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::AesGcmKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:106,1
    - Dst: crypto::tink::AesGcmKeyManager::get_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:106,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:107,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:108,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesGcmKeyFormat
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: crypto::tink::AesGcmKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmKey::set_version
    - crypto::tink::AesGcmKeyManager::get_version
    - google::crypto::tink::AesGcmKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesGcmKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesGcmKey> CreateKey(\n
      \     const google::crypto::tink::AesGcmKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:116,1
    - Dst: version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:116,1
    - Dst: crypto::tink::AesGcmKeyManager::get_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:116,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:117,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:120,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:120,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:121,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:123,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:127,1
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:130,1
    - Dst: crypto::tink::AesGcmKeyManager::get_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:130,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:131,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager.h:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::AesGcmKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: crypto::tink::AesGcmKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - google::crypto::tink::AesGcmKey::set_version
    - crypto::tink::util::StatusOr<std::string>::status
    - crypto::tink::AesGcmKeyManager::get_version
    - version
    - google::crypto::tink::AesGcmKey::set_key_value
    - crypto::tink::util::StatusOr<std::string>::value
    - crypto::tink::util::Status::ok
    - key_size
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesGcmKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesGcmKey> DeriveKey(\n
      \     const google::crypto::tink::AesGcmKeyFormat& key_format,\n      InputStream*
      input_stream) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: crypto::tink::AesGcmKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc:31,1
    - Dst: std::set*::find
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc:33,1
    - Dst: std::set*::end
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc:33,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc:34,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: crypto::tink::XChaCha20Poly1305Parameters::Create
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc
    functionUses: 3
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
    linkageType: ''
    returnType: util::StatusOr<XChaCha20Poly1305Parameters>
    signature: "util::StatusOr<XChaCha20Poly1305Parameters> XChaCha20Poly1305Parameters::Create(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const XChaCha20Poly1305Parameters*>
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: XChaCha20Poly1305Parameters::operator==(const Parameters& other)
      const
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const XChaCha20Poly1305Parameters*>
    linkageType: ''
    returnType: bool
    signature: bool XChaCha20Poly1305Parameters::operator==(const Parameters& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:76,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:87,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:89,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:90,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:93,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:101,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:101,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:102,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:102,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:103,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:103,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:104,1
    - Dst: util::StatusOr::GetAesKeyBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:104,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:104,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:105,1
    - Dst: util::StatusOr::GetHmacKeyBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:105,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:105,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - util::StatusOr::GetAesKeyBytes
    - IsOk
    - util::StatusOr::GetHmacKeyBytes
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadKeyTest, BuildKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:119,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:122,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:125,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:125,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:130,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:132,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildKeyWithMismatchedAesKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:137,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:140,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:141,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:145,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:147,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildKeyWithoutSettingAParametersFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:161,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:165,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:165,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:169,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:171,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildKeyWithoutSettingAesKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:185,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:189,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:190,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:194,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:196,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 198
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildKeyWithoutSettingHmacKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:211,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:214,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:215,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:217,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:217,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:222,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:224,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 226
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildKeyWithMismatchedHmacKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:238,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:240,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:243,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:244,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:249,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:251,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildNoPrefixKeyWithIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:266,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:268,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:269,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:271,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:271,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:275,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:277,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, BuildTinkKeyWithoutIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:283,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:286,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:294,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:296,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:297,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:300,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:306,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:309,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:314,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:315,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:315,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:317,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:318,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 321
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:325,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:333,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:344,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:346,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:347,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:350,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:355,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:356,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:356,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:359,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:365,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:368,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:369,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 371
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, DifferentParametersKeysNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:383,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:385,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:386,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:387,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:389,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:394,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:395,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:395,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:398,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:403,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:404,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:404,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:406,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:407,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:408,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 410
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, DifferentAesKeyMaterialNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:414,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:422,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:422,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:424,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:425,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:426,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:428,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:433,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:434,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:434,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:437,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:442,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:443,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:443,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:445,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:446,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:447,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 449
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, DifferentHmacKeyMaterialNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:461,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:463,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:464,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:466,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:471,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:472,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:472,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:475,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:480,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:481,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:481,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:483,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:484,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:485,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 487
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyTest, DifferentIdRequirementKeysNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/failing_aead.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: crypto::tink::AlwaysFailAead::AlwaysFailAead
    functionSourceFile: /src/tink/cc/aead/failing_aead.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailAead(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/failing_aead.cc:43,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/failing_aead.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: crypto::tink::AlwaysFailAead::Encrypt
    functionSourceFile: /src/tink/cc/aead/failing_aead.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Encrypt(\n      absl::string_view plaintext,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/failing_aead.cc:52,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/failing_aead.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: crypto::tink::AlwaysFailAead::Decrypt
    functionSourceFile: /src/tink/cc/aead/failing_aead.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Decrypt(\n      absl::string_view ciphertext,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailAead>
      Src: /src/tink/cc/aead/failing_aead.cc:65,1
    - Dst: std::string
      Src: /src/tink/cc/aead/failing_aead.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: crypto::tink::CreateAlwaysFailingAead
    functionSourceFile: /src/tink/cc/aead/failing_aead.cc
    functionUses: 4
    functionsReached:
    - absl::make_unique<AlwaysFailAead>
    - std::string
    linkageType: ''
    returnType: std::unique_ptr<Aead>
    signature: std::unique_ptr<Aead> CreateAlwaysFailingAead(absl::string_view message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/aead/aead_config_test.cc:83,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: crypto::tink::AeadConfigTest::SetUp
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:89,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:92,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/aead/aead_config_test.cc:92,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_config_test.cc:92,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:95,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:96,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/aead/aead_config_test.cc:96,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_config_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - IsOk
    - StatusIs
    - EXPECT_THAT
    - GTEST_SKIP
    - Registry::get_key_manager<Aead>
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, RegisterWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:104,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:108,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:108,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_config_test.cc:111,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_config_test.cc:111,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_config_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:113,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:113,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/aead_config_test.cc:115,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_config_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:117,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:118,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_config_test.cc:118,1
    - Dst: IsNull
      Src: /src/tink/cc/aead/aead_config_test.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - crypto::tink::KeyGenConfigGlobalRegistry
    - StatusOr::status
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - GTEST_SKIP
    - IsNull
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, WrappersRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:123,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/aead/aead_config_test.cc:123,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:127,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:127,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/aead_config_test.cc:130,1
    - Dst: AeadKeyTemplates::Aes256Eax
      Src: /src/tink/cc/aead/aead_config_test.cc:130,1
    - Dst: AeadKeyTemplates::Aes128GcmSiv
      Src: /src/tink/cc/aead/aead_config_test.cc:131,1
    - Dst: AeadKeyTemplates::Aes256GcmSiv
      Src: /src/tink/cc/aead/aead_config_test.cc:131,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/aead/aead_config_test.cc:132,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_config_test.cc:137,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_config_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:138,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_config_test.cc:138,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmSiv
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - IsOk
    - StatusIs
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AeadKeyTemplates::Aes128Eax
    - AeadKeyTemplates::Aes128GcmSiv
    - ASSERT_THAT
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - GTEST_SKIP
    - EXPECT_THAT
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::internal::IsFipsEnabledInSsl
    - AeadKeyTemplates::Aes256Eax
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:144,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/aead/aead_config_test.cc:144,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:148,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:148,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_config_test.cc:151,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_config_test.cc:152,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/aead/aead_config_test.cc:153,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/aead/aead_config_test.cc:154,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_config_test.cc:159,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_config_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - GTEST_SKIP
    - AeadKeyTemplates::Aes256CtrHmacSha256
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, RegisterFipsValidTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:165,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/aead/aead_config_test.cc:165,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:170,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/aead/aead_config_test.cc:170,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_config_test.cc:170,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:173,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:173,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - StatusIs
    - EXPECT_THAT
    - GTEST_SKIP
    - Registry::get_key_manager<Aead>
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, RegisterFailsIfBoringCryptoNotAvailable)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:177,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:178,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:183,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_config_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:185,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:190,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:190,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:190,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:199,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:204,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:204,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:207,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:207,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:212,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesGcmProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:221,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:222,1
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aead_config_test.cc:226,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aead_config_test.cc:227,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:227,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:230,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:232,1
    - Dst: google::crypto::tink::AesGcmKey::SerializeAsString
      Src: /src/tink/cc/aead/aead_config_test.cc:232,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:235,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:238,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:240,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:240,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:249,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:252,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:253,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:253,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:254,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aead_config_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:256,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:259,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:262,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:262,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:264,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:264,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:267,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:269,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:272,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 276
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesGcmKey::SerializeAsString
    - google::crypto::tink::AesGcmKey::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::AesGcmKey::set_key_value
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesGcmKey::Create
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesGcmProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:279,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:280,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:285,1
    - Dst: AeadKeyTemplates::Aes256GcmSiv
      Src: /src/tink/cc/aead/aead_config_test.cc:286,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:287,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:292,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:292,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:292,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:296,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:301,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:301,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:304,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:304,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:309,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:309,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmSiv
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - GTEST_SKIP
    - crypto::tink::AesGcmSivParameters::Create
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesGcmSivProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:318,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:319,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aead_config_test.cc:323,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aead_config_test.cc:324,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:324,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:327,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:329,1
    - Dst: google::crypto::tink::AesGcmSivKey::SerializeAsString
      Src: /src/tink/cc/aead/aead_config_test.cc:329,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:330,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:332,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:332,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:335,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:337,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:337,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:337,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:341,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:341,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:344,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:345,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:345,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:346,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aead_config_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:348,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:348,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:351,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:354,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:354,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:356,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:356,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:356,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:359,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:361,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:361,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:364,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 368
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmSivKey::SerializeAsString
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::AesGcmSivKey::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - GTEST_SKIP
    - crypto::tink::AesGcmSivParameters::Create
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesGcmSivKey::set_version
    - crypto::tink::AeadConfig::Register
    - google::crypto::tink::AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesGcmSivProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:371,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:372,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:377,1
    - Dst: AeadKeyTemplates::Aes256Eax
      Src: /src/tink/cc/aead/aead_config_test.cc:378,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:379,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:382,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:384,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:384,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:384,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:387,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:393,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:393,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:398,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:398,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:399,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:401,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:401,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:404,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:406,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:409,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:411,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 412
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - AeadKeyTemplates::Aes256Eax
    - crypto::tink::AeadConfig::Register
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesEaxProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:415,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:416,1
    - Dst: google::crypto::tink::AesEaxKey::set_version
      Src: /src/tink/cc/aead/aead_config_test.cc:420,1
    - Dst: google::crypto::tink::AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aead_config_test.cc:421,1
    - Dst: google::crypto::tink::AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aead_config_test.cc:422,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:422,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:425,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:427,1
    - Dst: google::crypto::tink::AesEaxKey::SerializeAsString
      Src: /src/tink/cc/aead/aead_config_test.cc:427,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:428,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:430,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:430,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:433,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:434,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:435,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:435,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:435,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:438,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:444,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:444,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:447,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:448,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:448,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:449,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aead_config_test.cc:450,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:451,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:451,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:454,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:456,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:457,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:457,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:457,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:459,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:459,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:462,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:463,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:464,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:464,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:467,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:469,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:470,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 471
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::AesEaxKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesEaxKey::mutable_params
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::AesEaxKey::SerializeAsString
    - crypto::tink::AesEaxKey::Create
    - StatusIs
    - google::crypto::tink::AesEaxKey::set_version
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesEaxProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:474,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:475,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:481,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/aead/aead_config_test.cc:482,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:483,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:483,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:486,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:488,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:488,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:488,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:491,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:493,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:493,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:496,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:498,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:498,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:499,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:501,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:501,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:501,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:504,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:506,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:506,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:509,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:511,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 512
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, XChaCha20Poly1305ProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:515,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:516,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_config_test.cc:520,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/aead/aead_config_test.cc:520,1
    - Dst: crypto::tink::KeyGenConfigAeadV0
      Src: /src/tink/cc/aead/aead_config_test.cc:521,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:522,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:522,1
    - Dst: reinterpret_cast<const internal::LegacyProtoKey*>
      Src: /src/tink/cc/aead/aead_config_test.cc:526,1
    - Dst: GetPrimary
      Src: /src/tink/cc/aead/aead_config_test.cc:527,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:528,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_config_test.cc:528,1
    - Dst: IsNull
      Src: /src/tink/cc/aead/aead_config_test.cc:528,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:530,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:532,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:532,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:533,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aead_config_test.cc:534,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:535,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:538,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:538,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/aead/aead_config_test.cc:539,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:543,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aead_config_test.cc:544,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:546,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:546,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:546,1
    - Dst: reinterpret_cast<const XChaCha20Poly1305Key*>
      Src: /src/tink/cc/aead/aead_config_test.cc:549,1
    - Dst: GetPrimary
      Src: /src/tink/cc/aead/aead_config_test.cc:550,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:551,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_config_test.cc:551,1
    - Dst: IsNull
      Src: /src/tink/cc/aead/aead_config_test.cc:551,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:553,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:553,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/aead/aead_config_test.cc:554,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 558
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeyGenConfigAeadV0
    - crypto::tink::InsecureSecretKeyAccess::Get
    - KeysetHandleBuilder
    - ASSERT_THAT
    - IsNull
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - RestrictedData
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - reinterpret_cast<const XChaCha20Poly1305Key*>
    - crypto::tink::XChaCha20Poly1305Key::Create
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - HasSubstr
    - GetPrimary
    - reinterpret_cast<const internal::LegacyProtoKey*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, XChaCha20Poly1305ProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:561,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:562,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aead_config_test.cc:568,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/aead/aead_config_test.cc:569,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:570,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:570,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:573,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:575,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:575,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:575,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:578,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:586,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:586,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:589,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:591,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_config_test.cc:591,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:592,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:594,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:594,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:594,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:597,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:599,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:599,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aead_config_test.cc:602,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:604,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 605
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GTEST_SKIP
    - AeadKeyTemplates::Aes256CtrHmacSha256
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesCtrHmacAeadProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config_test.cc:608,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/aead_config_test.cc:609,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_config_test.cc:613,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/aead/aead_config_test.cc:613,1
    - Dst: crypto::tink::KeyGenConfigAeadV0
      Src: /src/tink/cc/aead/aead_config_test.cc:614,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:615,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:615,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:618,1
    - Dst: dynamic_cast<const internal::LegacyProtoKey*>
      Src: /src/tink/cc/aead/aead_config_test.cc:618,1
    - Dst: GetPrimary
      Src: /src/tink/cc/aead/aead_config_test.cc:619,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_config_test.cc:620,1
    - Dst: IsNull
      Src: /src/tink/cc/aead/aead_config_test.cc:620,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:623,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:631,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:631,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:634,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:636,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:636,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:637,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aead_config_test.cc:638,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aead_config_test.cc:638,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aead_config_test.cc:639,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aead_config_test.cc:641,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:642,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:642,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:645,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:645,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/aead/aead_config_test.cc:646,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_config_test.cc:650,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aead_config_test.cc:651,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:653,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_config_test.cc:653,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:653,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_config_test.cc:656,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/aead/aead_config_test.cc:656,1
    - Dst: crypto::tink::KeyGenConfigAeadV0
      Src: /src/tink/cc/aead/aead_config_test.cc:657,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:658,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:658,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:661,1
    - Dst: dynamic_cast<const AesCtrHmacAeadKey*>
      Src: /src/tink/cc/aead/aead_config_test.cc:661,1
    - Dst: GetPrimary
      Src: /src/tink/cc/aead/aead_config_test.cc:662,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_config_test.cc:663,1
    - Dst: IsNull
      Src: /src/tink/cc/aead/aead_config_test.cc:663,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_config_test.cc:665,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/aead/aead_config_test.cc:665,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/aead/aead_config_test.cc:666,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_config_test.cc:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 670
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeyGenConfigAeadV0
    - crypto::tink::InsecureSecretKeyAccess::Get
    - KeysetHandleBuilder
    - ASSERT_THAT
    - AeadKeyTemplates::Aes256CtrHmacSha256
    - IsNull
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::AeadConfig::Register
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - dynamic_cast<const AesCtrHmacAeadKey*>
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - dynamic_cast<const internal::LegacyProtoKey*>
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - HasSubstr
    - GetPrimary
    linkageType: ''
    returnType: void
    signature: void TEST_F(AeadConfigTest, AesCtrHmacAeadProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:50,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:51,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:52,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:52,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' kms_aead_key'
    argTypes:
    - google::crypto::tink::KmsAeadKey
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: crypto::tink::KmsAeadKeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - params
    - auto::value
    - crypto::tink::KmsClients::Get
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      google::crypto::tink::KmsAeadKey& kms_aead_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: crypto::tink::KmsAeadKeyManager::KmsAeadKeyManager
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void KmsAeadKeyManager()
  - 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: crypto::tink::KmsAeadKeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: crypto::tink::KmsAeadKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:71,1
    - Dst: version
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:71,1
    - Dst: crypto::tink::KmsAeadKeyManager::get_version
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:71,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:72,1
    - Dst: crypto::tink::KmsAeadKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:73,1
    - Dst: params
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::KmsAeadKey
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: crypto::tink::KmsAeadKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::KmsAeadKeyManager::get_version
    - ValidateVersion
    - params
    - version
    - crypto::tink::util::Status::ok
    - crypto::tink::KmsAeadKeyManager::ValidateKeyFormat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::KmsAeadKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_uri
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:79,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::KmsAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: crypto::tink::KmsAeadKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 1
    functionsReached:
    - key_uri
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::KmsAeadKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:88,1
    - Dst: crypto::tink::KmsAeadKeyManager::get_version
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:88,1
    - Dst: google::crypto::tink::KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::KmsAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: crypto::tink::KmsAeadKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::KmsAeadKeyManager::get_version
    - google::crypto::tink::KmsAeadKey::set_version
    - google::crypto::tink::KmsAeadKey::mutable_params
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::KmsAeadKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::KmsAeadKey> CreateKey(\n
      \     const google::crypto::tink::KmsAeadKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CordAeadWrapper::Wrap
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:53,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:54,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:55,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:55,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:56,1
    - Dst: std::string
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:57,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - CordAeadWrapper::Wrap
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CordAeadWrapper::Wrap
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:62,1
    - Dst: absl::make_unique<PrimitiveSet<CordAead>>
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:62,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:63,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:64,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:64,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:65,1
    - Dst: std::string
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:66,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - CordAeadWrapper::Wrap
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - absl::make_unique<PrimitiveSet<CordAead>>
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:74,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:75,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:76,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:77,1
    - Dst: PrimitiveSet<CordAead>::PrimitiveSet<CordAead>
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:80,1
    - Dst: absl::make_unique<DummyCordAead>
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:82,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:84,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:84,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:85,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: crypto::tink::setup_keyset
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyCordAead>
    - std::unique_ptr::set_primary
    - std::move
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo*::set_key_id
    - auto::value
    - KeysetInfo::KeyInfo*::set_status
    - PrimitiveSet<CordAead>::PrimitiveSet<CordAead>
    - KeysetInfo::add_key_info
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    linkageType: ''
    returnType: std::unique_ptr<PrimitiveSet<CordAead>>
    signature: std::unique_ptr<PrimitiveSet<CordAead>> setup_keyset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::setup_keyset
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:91,1
    - Dst: CordAeadWrapper::Wrap
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:93,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:95,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:97,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:99,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:102,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:102,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:103,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:106,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:106,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - CordAeadWrapper::Wrap
    - crypto::tink::setup_keyset
    - auto::ok
    - EXPECT_EQ
    - IsOk
    - std::move
    - auto::Decrypt
    - ASSERT_THAT
    - auto::value
    - auto::Encrypt
    - absl::Cord::Append
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapperEncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::setup_keyset
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:112,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:116,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:118,1
    - Dst: auto::get_primary
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:120,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:121,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:121,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:121,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:123,1
    - Dst: auto::get_primary
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:123,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:124,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:124,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:130,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:131,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:132,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:133,1
    - Dst: absl::make_unique<DummyCordAead>
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:135,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:137,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:137,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:137,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:138,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:138,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:138,1
    - Dst: CordAeadWrapper::Wrap
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:142,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:143,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:144,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:144,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:150,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - ASSERT_THAT
    - auto::status
    - std::unique_ptr::Encrypt
    - auto::AddPrimitive
    - IsOk
    - KeysetInfo::KeyInfo*::set_status
    - crypto::tink::setup_keyset
    - absl::make_unique<DummyCordAead>
    - EXPECT_EQ
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - auto::get_primary
    - KeysetInfo::key_info
    - CordAeadWrapper::Wrap
    - KeysetInfo::KeyInfo*::set_key_id
    - auto::value
    - KeysetInfo::add_key_info
    - absl::Cord::Append
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapperEncryptDecryptMultipleKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::setup_keyset
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:155,1
    - Dst: CordAeadWrapper::Wrap
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:158,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:159,1
    - Dst: std::to_string
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:163,1
    - Dst: absl::MakeFragmentedCord
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:166,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:166,1
    - Dst: absl::ByLength
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:166,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:168,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:171,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:171,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:171,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:172,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:175,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:175,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:176,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 177
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - absl::ByLength
    - CordAeadWrapper::Wrap
    - EXPECT_TRUE
    - crypto::tink::setup_keyset
    - auto::ok
    - EXPECT_EQ
    - absl::MakeFragmentedCord
    - IsOk
    - std::move
    - auto::Decrypt
    - ASSERT_THAT
    - absl::StrSplit
    - auto::value
    - std::to_string
    - auto::Encrypt
    - absl::Cord::Append
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapperEncryptDecryptManyChunks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::setup_keyset
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:181,1
    - Dst: CordAeadWrapper::Wrap
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:183,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:184,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:185,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:185,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:187,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:189,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:192,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:194,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:195,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:195,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:196,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:196,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:197,1
    - Dst: testing::HasSubstr
      Src: /src/tink/cc/aead/cord_aead_wrapper_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - CordAeadWrapper::Wrap
    - crypto::tink::setup_keyset
    - auto::ok
    - EXPECT_EQ
    - IsOk
    - std::move
    - auto::Decrypt
    - ASSERT_THAT
    - auto::value
    - testing::HasSubstr
    - EXPECT_THAT
    - StatusIs
    - EXPECT_FALSE
    - absl::Cord::Append
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapperEncryptBadDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:63,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:74,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:75,1
    - Dst: util::StatusOr::IvSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:76,1
    - Dst: util::StatusOr::TagSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:77,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:78,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::TagSizeInBytes
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::IvSizeInBytes
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmParametersBuildTest, Build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:82,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithoutSettingVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:92,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:105,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:105,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithoutSettingKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:115,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:123,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:123,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:131,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:131,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:139,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:139,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:147,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:147,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:155,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 163
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:166,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:166,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithoutSettingIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:176,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:176,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithInvalidIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:187,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:187,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithoutSettingTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:198,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:198,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:207,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:207,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, BuildWithInvalidTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:228,1
    - Dst: AesGcmParameters::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:228,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:229,1
    - Dst: AesGcmParameters::IvSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:229,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:230,1
    - Dst: AesGcmParameters::TagSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:230,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:231,1
    - Dst: AesGcmParameters::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:231,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:232,1
    - Dst: AesGcmParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:232,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmParameters::TagSizeInBytes
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - AesGcmParameters::IvSizeInBytes
    - AesGcmParameters::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - AesGcmParameters::HasIdRequirement
    - IsTrue
    - AesGcmParameters::GetVariant
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:246,1
    - Dst: AesGcmParameters::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:246,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:247,1
    - Dst: AesGcmParameters::IvSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:247,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:247,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:248,1
    - Dst: AesGcmParameters::TagSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:248,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:248,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:249,1
    - Dst: AesGcmParameters::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:249,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:250,1
    - Dst: AesGcmParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:250,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmParameters::TagSizeInBytes
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - AesGcmParameters::IvSizeInBytes
    - AesGcmParameters::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - AesGcmParameters::HasIdRequirement
    - IsTrue
    - AesGcmParameters::GetVariant
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:267,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:267,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:276,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmParametersVariantTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:301,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:310,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 314
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, KeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:324,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:333,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:335,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 337
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, IvSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:347,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:350,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:356,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:356,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:358,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, TagSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:370,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:370,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:373,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:379,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:381,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_parameters_test.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305Key(const ChaCha20Poly1305Key& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const ChaCha20Poly1305Key& other)'
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChaCha20Poly1305Key
    signature: ChaCha20Poly1305Key & operator=(const ChaCha20Poly1305Key& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305Key(ChaCha20Poly1305Key&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(ChaCha20Poly1305Key&& other)'
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChaCha20Poly1305Key
    signature: ChaCha20Poly1305Key & operator=(ChaCha20Poly1305Key&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::ChaCha20Poly1305Key::GetOutputPrefix
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChaCha20Poly1305Parameters
    signature: ChaCha20Poly1305Parameters & GetParameters() 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: crypto::tink::ChaCha20Poly1305Key::GetIdRequirement
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/chacha20_poly1305_key.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - ChaCha20Poly1305Parameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChaCha20Poly1305Key(const ChaCha20Poly1305Parameters& parameters,\n
      \                     const RestrictedData& key_bytes,\n                      absl::optional<int>
      id_requirement,\n                      std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters.cc:31,1
    - Dst: std::set*::find
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters.cc:33,1
    - Dst: std::set*::end
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters.cc:33,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters.cc:34,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: crypto::tink::ChaCha20Poly1305Parameters::Create
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
    linkageType: ''
    returnType: util::StatusOr<ChaCha20Poly1305Parameters>
    signature: "util::StatusOr<ChaCha20Poly1305Parameters> ChaCha20Poly1305Parameters::Create(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ChaCha20Poly1305Parameters*>
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: ChaCha20Poly1305Parameters::operator==(const Parameters& other)
      const
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ChaCha20Poly1305Parameters*>
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305Parameters::operator==(const Parameters& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::BigEndianStore32
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:53,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:54,1
    - Dst: std::string
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:54,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - encrypted_dek
    - encrypted_plaintext
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: crypto::tink::GetEnvelopeCiphertext
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::string_view::size
    - crypto::tink::subtle::BigEndianStore32
    - reinterpret_cast<const char*>
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string GetEnvelopeCiphertext(absl::string_view encrypted_dek,\n
      \                                 absl::string_view encrypted_plaintext)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:65,1
    - Dst: type_url
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:66,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:71,1
    - Dst: Registry::get_key_manager<Aead>
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:74,1
    - Dst: type_url
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:75,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:75,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:77,1
    - Dst: KmsEnvelopeAead::KmsEnvelopeAead
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ' dek_template'
    - remote_aead
    argTypes:
    - google::crypto::tink::KeyTemplate
    - std::unique_ptr<Aead>
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: crypto::tink::KmsEnvelopeAead::New
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead.cc
    functionUses: 2
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - type_url
    - Registry::get_key_manager<Aead>
    - crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
    - KmsEnvelopeAead::KmsEnvelopeAead
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> KmsEnvelopeAead::New(\n    const
      google::crypto::tink::KeyTemplate& dek_template,\n    std::unique_ptr<Aead>
      remote_aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:83,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:84,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:85,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:85,1
    - Dst: crypto::tink::KmsEnvelopeAead::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:89,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:89,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:90,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:90,1
    - Dst: Registry::GetPrimitive<Aead>
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:94,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:95,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:97,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:97,1
    - Dst: GetEnvelopeCiphertext
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:100,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:100,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: crypto::tink::KmsEnvelopeAead::Encrypt
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::KmsEnvelopeAead::Encrypt
    - auto::status
    - auto::ok
    - std::move
    - auto::value
    - Registry::GetPrimitive<Aead>
    - auto::Encrypt
    - GetEnvelopeCiphertext
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> KmsEnvelopeAead::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:108,1
    - Dst: absl::big_endian::Load32
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:111,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:112,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:112,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:115,1
    - Dst: crypto::tink::KmsEnvelopeAead::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:119,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:122,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:123,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:124,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:125,1
    - Dst: google::crypto::tink::KeyData::set_type_url
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:130,1
    - Dst: type_url
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:130,1
    - Dst: google::crypto::tink::KeyData::set_value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:131,1
    - Dst: google::crypto::tink::KeyData::set_key_material_type
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:132,1
    - Dst: Registry::GetPrimitive<Aead>
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:135,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:136,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:136,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:137,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:137,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:138,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/kms_envelope_aead.cc:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 141
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 141
    functionName: crypto::tink::KmsEnvelopeAead::Decrypt
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - google::crypto::tink::KeyData::set_value
    - google::crypto::tink::KeyData::set_type_url
    - absl::string_view::size
    - absl::big_endian::Load32
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::KeyData::set_key_material_type
    - crypto::tink::KmsEnvelopeAead::Decrypt
    - std::move
    - auto::Decrypt
    - absl::string_view::substr
    - auto::value
    - type_url
    - Registry::GetPrimitive<Aead>
    - absl::StrCat
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> KmsEnvelopeAead::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XChaCha20Poly1305Key(const XChaCha20Poly1305Key& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const XChaCha20Poly1305Key& other)'
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XChaCha20Poly1305Key
    signature: XChaCha20Poly1305Key & operator=(const XChaCha20Poly1305Key& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XChaCha20Poly1305Key(XChaCha20Poly1305Key&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Key
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(XChaCha20Poly1305Key&& other)'
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XChaCha20Poly1305Key
    signature: XChaCha20Poly1305Key & operator=(XChaCha20Poly1305Key&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::XChaCha20Poly1305Key::GetOutputPrefix
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XChaCha20Poly1305Parameters
    signature: XChaCha20Poly1305Parameters & GetParameters() 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: crypto::tink::XChaCha20Poly1305Key::GetIdRequirement
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - XChaCha20Poly1305Parameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void XChaCha20Poly1305Key(const XChaCha20Poly1305Parameters& parameters,\n
      \                      const RestrictedData& key_bytes,\n                       absl::optional<int>
      id_requirement,\n                       std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:51,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:51,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:51,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:52,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:52,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:53,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:54,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:54,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesEaxKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:59,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:59,1
    - Dst: AesEaxKey
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:59,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesEaxKeyManager
    - EXPECT_THAT
    - AesEaxKey
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:63,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:63,1
    - Dst: AesEaxKeyFormat
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:63,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesEaxKeyFormat
    - Not
    - IsOk
    - AesEaxKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:69,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:71,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:76,1
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:81,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:84,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:84,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidKeyFormatKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:92,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:97,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:100,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:100,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidKeyFormatIvSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:108,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:109,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:112,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:112,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:112,1
    - Dst: AesEaxKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:113,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:113,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:113,1
    - Dst: AesEaxKeyFormat::params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AesEaxKeyFormat::key_size
    - IsOk
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - ASSERT_THAT
    - AesEaxKeyManager
    - auto::value
    - EXPECT_THAT
    - AesEaxKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:118,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:119,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:122,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - ASSERT_THAT
    - AesEaxKeyManager
    - auto::value
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, CreateKeyIsValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:128,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:129,1
    - Dst: AesEaxKeyManager::CreateKey
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:131,1
    - Dst: AesEaxKeyManager::CreateKey
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:134,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:134,1
    - Dst: Ne
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:134,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Ne
    - IsOk
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - ASSERT_THAT
    - auto::value
    - AesEaxKeyManager::CreateKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, MultipleCreateCallsCreateDifferentKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:139,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:139,1
    - Dst: AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:141,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - IsOk
    - AesEaxKeyManager
    - AesEaxKey::mutable_params
    - EXPECT_THAT
    - AesEaxKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:146,1
    - Dst: AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:149,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:151,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:154,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:154,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - IsOk
    - Not
    - AesEaxKeyManager
    - AesEaxKey::mutable_params
    - EXPECT_THAT
    - AesEaxKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidateKeyKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:162,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:162,1
    - Dst: AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:167,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:170,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:170,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - IsOk
    - Not
    - AesEaxKeyManager
    - AesEaxKey::mutable_params
    - EXPECT_THAT
    - AesEaxKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyManagerTest, ValidateKeyIvLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:178,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:179,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:181,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:184,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:186,1
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:189,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:190,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:190,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:194,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:194,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:194,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_manager_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 197
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - IsOk
    - StatusOr::value
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - ASSERT_THAT
    - AesEaxKeyManager
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::AesEaxBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: "& AesEaxParameters::Builder::SetKeySizeInBytes(\n    int key_size)"
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters::Builder
    signature: "AesEaxParameters::Builder & AesEaxParameters::Builder::SetKeySizeInBytes(\n
      \   int key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iv_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: "& AesEaxParameters::Builder::SetIvSizeInBytes(\n    int iv_size)"
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters::Builder
    signature: "AesEaxParameters::Builder & AesEaxParameters::Builder::SetIvSizeInBytes(\n
      \   int iv_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tag_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: "& AesEaxParameters::Builder::SetTagSizeInBytes(\n    int tag_size)"
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters::Builder
    signature: "AesEaxParameters::Builder & AesEaxParameters::Builder::SetTagSizeInBytes(\n
      \   int tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: "& AesEaxParameters::Builder::SetVariant(\n    Variant variant)"
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters::Builder
    signature: "AesEaxParameters::Builder & AesEaxParameters::Builder::SetVariant(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:55,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:60,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:64,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:65,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:76,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:82,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:83,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:87,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:89,1
    - Dst: absl::flat_hash_set<Variant>::flat_hash_set<Variant>
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:93,1
    - Dst: auto*::contains
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:96,1
    - Dst: AesEaxParameters
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 102
    functionName: AesEaxParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.cc
    functionUses: 0
    functionsReached:
    - has_value
    - crypto::tink::internal::ExtractStatus
    - auto*::contains
    - absl::StrCat
    - AesEaxParameters
    - absl::flat_hash_set<Variant>::flat_hash_set<Variant>
    linkageType: ''
    returnType: util::StatusOr<AesEaxParameters>
    signature: util::StatusOr<AesEaxParameters> AesEaxParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesEaxParameters*>
      Src: /src/tink/cc/aead/aes_eax_parameters.cc:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: AesEaxParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesEaxParameters*>
    linkageType: ''
    returnType: bool
    signature: bool AesEaxParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:53,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:59,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:60,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - util::StatusOr::GetVariant
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305ParametersTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:64,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:64,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305ParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:78,1
    - Dst: ChaCha20Poly1305Parameters::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:80,1
    - Dst: ChaCha20Poly1305Parameters::HasIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:80,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - IsOk
    - ASSERT_THAT
    - ChaCha20Poly1305Parameters::GetVariant
    - EXPECT_THAT
    - ChaCha20Poly1305Parameters::HasIdRequirement
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305ParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:90,1
    - Dst: ChaCha20Poly1305Parameters::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:92,1
    - Dst: ChaCha20Poly1305Parameters::HasIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:92,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - IsOk
    - ASSERT_THAT
    - ChaCha20Poly1305Parameters::GetVariant
    - EXPECT_THAT
    - ChaCha20Poly1305Parameters::HasIdRequirement
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305ParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:96,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:100,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:104,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - IsOk
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305ParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:116,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305ParametersTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305Parameters(const ChaCha20Poly1305Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: "& operator=(\n      const ChaCha20Poly1305Parameters& other)"
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChaCha20Poly1305Parameters
    signature: "ChaCha20Poly1305Parameters & operator=(\n      const ChaCha20Poly1305Parameters&
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305Parameters(ChaCha20Poly1305Parameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - ChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: '& operator=(ChaCha20Poly1305Parameters&& other)'
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ChaCha20Poly1305Parameters
    signature: ChaCha20Poly1305Parameters & operator=(ChaCha20Poly1305Parameters&&
      other)
  - 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: crypto::tink::ChaCha20Poly1305Parameters::GetVariant
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - 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: crypto::tink::ChaCha20Poly1305Parameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305Parameters(Variant variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:35,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:37,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:40,1
    - Dst: std::set*::find
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:42,1
    - Dst: std::set*::end
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:42,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:43,1
    - Dst: crypto::tink::AesGcmSivParameters::AesGcmSivParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - key_size_in_bytes
    - variant
    argTypes:
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: crypto::tink::AesGcmSivParameters::Create
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.cc
    functionUses: 4
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - crypto::tink::AesGcmSivParameters::AesGcmSivParameters
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<AesGcmSivParameters>
    signature: "util::StatusOr<AesGcmSivParameters> AesGcmSivParameters::Create(\n
      \   int key_size_in_bytes, Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesGcmSivParameters*>
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters.cc:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: AesGcmSivParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesGcmSivParameters*>
    linkageType: ''
    returnType: bool
    signature: bool AesGcmSivParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/config_v0_test.cc:59,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/config_v0_test.cc:59,1
    - Dst: crypto::tink::KeyGenConfigAeadV0
      Src: /src/tink/cc/aead/config_v0_test.cc:59,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:60,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/config_v0_test.cc:63,1
    - Dst: crypto::tink::ConfigAeadV0
      Src: /src/tink/cc/aead/config_v0_test.cc:63,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:64,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/config_v0_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:69,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/config_v0_test.cc:69,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/config_v0_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::KeyGenConfigAeadV0
    - crypto::tink::Decrypt
    - IsOk
    - crypto::tink::ConfigAeadV0
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/config_v0_test.cc:74,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/config_v0_test.cc:74,1
    - Dst: crypto::tink::KeyGenConfigAeadV0
      Src: /src/tink/cc/aead/config_v0_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:75,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/config_v0_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:79,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/config_v0_test.cc:79,1
    - Dst: crypto::tink::ConfigAeadV0
      Src: /src/tink/cc/aead/config_v0_test.cc:79,1
    - Dst: Not
      Src: /src/tink/cc/aead/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:79,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/config_v0_test.cc:84,1
    - Dst: crypto::tink::ConfigAeadV0
      Src: /src/tink/cc/aead/config_v0_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:85,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/config_v0_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/config_v0_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/config_v0_test.cc:90,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/config_v0_test.cc:90,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/config_v0_test.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::KeyGenConfigAeadV0
    - crypto::tink::Decrypt
    - IsOk
    - crypto::tink::ConfigAeadV0
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0BoringSslTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesEaxBoringSsl::New
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:50,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:51,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:51,1
    - Dst: params
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesEaxKey
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: crypto::tink::AesEaxKeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::AesEaxBoringSsl::New
    - params
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      google::crypto::tink::AesEaxKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: crypto::tink::AesEaxKeyManager::AesEaxKeyManager
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void AesEaxKeyManager()
  - 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: crypto::tink::AesEaxKeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::AesEaxKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:70,1
    - Dst: version
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:70,1
    - Dst: crypto::tink::AesEaxKeyManager::get_version
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:70,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:71,1
    - Dst: crypto::tink::AesEaxKeyManager::ValidateKeySize
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:72,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:72,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:73,1
    - Dst: crypto::tink::AesEaxKeyManager::ValidateIvSize
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:74,1
    - Dst: params
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesEaxKey
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: crypto::tink::AesEaxKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::AesEaxKeyManager::get_version
    - ValidateVersion
    - key_value
    - params
    - version
    - crypto::tink::AesEaxKeyManager::ValidateKeySize
    - crypto::tink::AesEaxKeyManager::ValidateIvSize
    - crypto::tink::util::Status::ok
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::AesEaxKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesEaxKeyManager::ValidateKeySize
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:79,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:79,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:80,1
    - Dst: crypto::tink::AesEaxKeyManager::ValidateIvSize
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:81,1
    - Dst: params
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesEaxKeyFormat
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: crypto::tink::AesEaxKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached:
    - params
    - crypto::tink::AesEaxKeyManager::ValidateKeySize
    - crypto::tink::AesEaxKeyManager::ValidateIvSize
    - crypto::tink::util::Status::ok
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::AesEaxKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesEaxKey::set_version
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:87,1
    - Dst: crypto::tink::AesEaxKeyManager::get_version
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:87,1
    - Dst: google::crypto::tink::AesEaxKey::set_key_value
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:88,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:89,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:89,1
    - Dst: google::crypto::tink::AesEaxKey::mutable_params
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:90,1
    - Dst: params
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesEaxKeyFormat
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: crypto::tink::AesEaxKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::AesEaxKeyManager::get_version
    - params
    - google::crypto::tink::AesEaxKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesEaxKey::set_version
    - key_size
    - google::crypto::tink::AesEaxKey::mutable_params
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesEaxKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesEaxKey> CreateKey(\n
      \     const google::crypto::tink::AesEaxKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:98,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:100,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: crypto::tink::AesEaxKeyManager::ValidateKeySize
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateKeySize(uint32_t key_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:110,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/aes_eax_key_manager.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - iv_size
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: crypto::tink::AesEaxKeyManager::ValidateIvSize
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_manager.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateIvSize(uint32_t iv_size) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:57,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:63,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:64,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:65,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivParametersCreateTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:69,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:69,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:78,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:79,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:83,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:84,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:88,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:89,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:93,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:94,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivParametersTest, CreateWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:106,1
    - Dst: AesGcmSivParameters::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:106,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:107,1
    - Dst: AesGcmSivParameters::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:107,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:108,1
    - Dst: AesGcmSivParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:108,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivParameters::KeySizeInBytes
    - AesGcmSivParameters::GetVariant
    - IsOk
    - AesGcmSivParameters::HasIdRequirement
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:117,1
    - Dst: AesGcmSivParameters::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:117,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:118,1
    - Dst: AesGcmSivParameters::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:119,1
    - Dst: AesGcmSivParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:119,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivParameters::KeySizeInBytes
    - AesGcmSivParameters::GetVariant
    - IsOk
    - AesGcmSivParameters::HasIdRequirement
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:134,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:134,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:138,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:144,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:145,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - std::tie
    - crypto::tink::AesGcmSivParameters::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivParametersVariantTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:153,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:158,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:160,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, KeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:167,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:172,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: crypto::tink::XChaCha20Poly1305ProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:78,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:79,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(XChaCha20Poly1305ProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:98,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:98,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:101,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:104,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:107,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:113,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:113,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:113,1
    - Dst: dynamic_cast<const XChaCha20Poly1305Parameters*>
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:116,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:117,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:118,1
    - Dst: XChaCha20Poly1305Parameters*::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const XChaCha20Poly1305Parameters*>
    - XChaCha20Poly1305KeyFormat::set_version
    - ASSERT_THAT
    - XChaCha20Poly1305Parameters*::GetVariant
    - EXPECT_THAT
    - HasIdRequirement
    - NotNull
    - XChaCha20Poly1305KeyFormat::SerializeAsString
    - GetParam
    - Eq
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305ProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:123,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:123,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:126,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:131,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:136,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:136,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - XChaCha20Poly1305KeyFormat::set_version
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(XChaCha20Poly1305ProtoSerializationTest,\n       ParseParametersWithInvalidSerialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:141,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:141,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:144,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:147,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:150,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:155,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - XChaCha20Poly1305KeyFormat::set_version
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - XChaCha20Poly1305KeyFormat::SerializeAsString
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(XChaCha20Poly1305ProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:160,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:160,1
    - Dst: XChaCha20Poly1305KeyFormat::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:163,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:166,1
    - Dst: XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:169,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:174,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:174,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - XChaCha20Poly1305KeyFormat::set_version
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - XChaCha20Poly1305KeyFormat::SerializeAsString
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(XChaCha20Poly1305ProtoSerializationTest,\n       ParseParametersWithInvalidVersion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:183,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:190,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:190,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:193,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:195,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:195,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:196,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:196,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:197,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:197,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:201,1
    - Dst: XChaCha20Poly1305KeyFormat::ParseFromString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:202,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:202,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:204,1
    - Dst: XChaCha20Poly1305KeyFormat::version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:204,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 205
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - XChaCha20Poly1305KeyFormat::version
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - XChaCha20Poly1305KeyFormat::ParseFromString
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305ProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:209,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:209,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:211,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:213,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:214,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:215,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:216,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:216,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:222,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:225,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:228,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:228,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:229,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:229,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:230,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:234,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:237,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:238,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:239,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:239,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:243,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::GetVariant
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
    - GetParameters
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - Eq
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::XChaCha20Poly1305Key::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305ProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:247,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:247,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:249,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:251,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:252,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:253,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:254,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:254,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:261,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:264,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:266,1
    - Dst: dynamic_cast<const XChaCha20Poly1305Key*>
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:269,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:270,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:271,1
    - Dst: XChaCha20Poly1305Key*::GetParameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:271,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 273
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - dynamic_cast<const XChaCha20Poly1305Key*>
    - ASSERT_THAT
    - XChaCha20Poly1305Key*::GetParameters
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - EXPECT_THAT
    - NotNull
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(XChaCha20Poly1305ProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:277,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:277,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:280,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:280,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:286,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:286,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:289,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:291,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:291,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 292
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    linkageType: ''
    returnType: void
    signature: "void TEST_F(XChaCha20Poly1305ProtoSerializationTest,\n       ParseKeyWithInvalidSerialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:297,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:299,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:300,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:301,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:302,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:302,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:308,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:313,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:313,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 314
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(XChaCha20Poly1305ProtoSerializationTest, ParseKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:319,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:321,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:322,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:323,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:330,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:330,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:333,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:335,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:335,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::XChaCha20Poly1305Key::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::XChaCha20Poly1305Key::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::XChaCha20Poly1305Key::set_key_value
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(XChaCha20Poly1305ProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:340,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:340,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:344,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:346,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:347,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:348,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:349,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:349,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:350,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:351,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:351,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:354,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:356,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:357,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:357,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:358,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:358,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:358,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:361,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:362,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:363,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:363,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:364,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:364,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:364,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:365,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:365,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:366,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:366,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:368,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:368,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:368,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:371,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::ParseFromString
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:371,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:372,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:373,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:374,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:375,1
    - Dst: google::crypto::tink::XChaCha20Poly1305Key::key_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:375,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 376
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::XChaCha20Poly1305Key::ParseFromString
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - google::crypto::tink::XChaCha20Poly1305Key::key_value
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - Eq
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::XChaCha20Poly1305Key::Create
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305ProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:379,1
    - Dst: crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:379,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:382,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:384,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:384,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:386,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:387,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:388,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:389,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:389,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:390,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:391,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:391,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:394,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:396,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:396,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - util::StatusOr::status
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::XChaCha20Poly1305Key::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(XChaCha20Poly1305ProtoSerializationTest, SerializeKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:69,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:70,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key_info
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - KeysetInfo::KeyInfo*
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 3
    functionsReached:
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::KeyInfo*::set_status
    - KeysetInfo::KeyInfo*::set_key_id
    linkageType: ''
    returnType: void
    signature: "void PopulateKeyInfo(KeysetInfo::KeyInfo* key_info, uint32_t key_id,\n
      \                    OutputPrefixType out_prefix_type, KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:77,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:77,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:80,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:80,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:83,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadWrapper::Wrap
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:92,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:93,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:94,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - AeadWrapper::Wrap
    - util::StatusOr::status
    - EXPECT_PRED_FORMAT2
    - std::string
    - Not
    - IsOk
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadWrapper::Wrap
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:101,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:103,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:103,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:104,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:105,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - AeadWrapper::Wrap
    - absl::make_unique<PrimitiveSet<Aead>>
    - util::StatusOr::status
    - EXPECT_PRED_FORMAT2
    - Not
    - IsOk
    - std::string
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:109,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:113,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:114,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:116,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:117,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:118,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:119,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:119,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:120,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:121,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:122,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:125,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:125,1
    - Dst: AeadWrapper::Wrap
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:130,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:131,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:132,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:137,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:139,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:144,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:147,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:148,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:148,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:149,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:150,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 152
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - AeadWrapper::Wrap
    - absl::make_unique<PrimitiveSet<Aead>>
    - std::unique_ptr::Encrypt
    - EXPECT_PRED_FORMAT2
    - auto::AddPrimitive
    - IsOk
    - std::move
    - std::unique_ptr::Decrypt
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - EXPECT_EQ
    - Not
    - absl::make_unique<DummyAead>
    - EXPECT_THAT
    - util::StatusOr::status
    - std::string
    - StatusIs
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:155,1
    - Dst: PrimitiveSet<Aead>::PrimitiveSet<Aead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:159,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:160,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:166,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:168,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:168,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:170,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:170,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:174,1
    - Dst: std::unique_ptr::get_primary
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:174,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:176,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:177,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:177,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:178,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:179,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:180,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:180,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:183,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:183,1
    - Dst: AeadWrapper::Wrap
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:188,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:189,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:191,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:191,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 198
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - AeadWrapper::Wrap
    - std::unique_ptr::Encrypt
    - IsOk
    - std::unique_ptr::set_primary
    - std::move
    - std::unique_ptr::Decrypt
    - crypto::tink::CreateTestKeysetInfo
    - std::unique_ptr::AddPrimitive
    - ASSERT_THAT
    - std::unique_ptr::get_primary
    - absl::make_unique<DummyAead>
    - EXPECT_THAT
    - absl::StrCat
    - PrimitiveSet<Aead>::PrimitiveSet<Aead>
    - HasSubstr
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: void TEST(AeadSetWrapperTest, DecryptNonPrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:206,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:208,1
    - Dst: absl::make_unique<StrictMock<MockMonitoringClient>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:211,1
    - Dst: auto::get
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:212,1
    - Dst: absl::make_unique<StrictMock<MockMonitoringClient>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:214,1
    - Dst: auto::get
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:215,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:217,1
    - Dst: New
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:217,1
    - Dst: Return
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:219,1
    - Dst: ByMove
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:219,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:219,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:220,1
    - Dst: Return
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:222,1
    - Dst: ByMove
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:222,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:222,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:225,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:225,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:229,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:230,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:231,1
    - Dst: IsNull
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 232
    functionName: crypto::tink::AeadSetWrapperTestWithMonitoring::SetUp
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - absl::make_unique<StrictMock<MockMonitoringClient>>
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: crypto::tink::AeadSetWrapperTestWithMonitoring::TearDown
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:245,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:249,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:249,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:250,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:254,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:254,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:255,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:258,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:261,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:261,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:264,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:264,1
    - Dst: AeadWrapper
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:269,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:270,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:274,1
    - Dst: Log
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:275,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:275,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:278,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:282,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:283,1
    - Dst: Log
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:284,1
    - Dst: auto::size
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:285,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::Decrypt
    - AeadWrapper
    - auto::size
    - absl::string_view::size
    - absl::make_unique<PrimitiveSet<Aead>>
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - absl::make_unique<DummyAead>
    - Log
    - EXPECT_THAT
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AeadSetWrapperTestWithMonitoring,\n       WrapKeysetWithMonitoringEncryptDecryptSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:292,1
    - Dst: absl::make_unique<PrimitiveSet<Aead>>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:297,1
    - Dst: absl::make_unique<MockAead>
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:300,1
    - Dst: ON_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:304,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:304,1
    - Dst: Return
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:305,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:305,1
    - Dst: ON_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:307,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:307,1
    - Dst: Return
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:308,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:308,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:312,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:312,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:314,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:316,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:316,1
    - Dst: AeadWrapper
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:319,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:320,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:320,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:323,1
    - Dst: LogFailure
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:323,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:326,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:326,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:326,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:331,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:331,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:332,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:332,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:334,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:337,1
    - Dst: LogFailure
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:337,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:338,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:339,1
    - Dst: Not
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_wrapper_test.cc:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 341
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - ASSERT_THAT
    - absl::StrCat
    - crypto::tink::Decrypt
    - auto::AddPrimitive
    - IsOk
    - Not
    - crypto::tink::CreateTestKeysetInfo
    - EXPECT_THAT
    - absl::make_unique<MockAead>
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - LogFailure
    - EXPECT_CALL
    - Return
    - KeysetInfo::key_info
    - AeadWrapper
    - absl::make_unique<PrimitiveSet<Aead>>
    - crypto::tink::internal::ExtractStatus
    - auto::set_primary
    - crypto::tink::Encrypt
    - ON_CALL
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AeadSetWrapperTestWithMonitoring,\n       WrapKeysetWithMonitoringEncryptDecryptFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:59,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:63,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:65,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:66,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:71,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:71,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:71,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:72,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:73,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:74,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - util::StatusOr::GetKeyBytes
    - IsOk
    - crypto::tink::XChaCha20Poly1305Key::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305KeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:78,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:78,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:81,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::XChaCha20Poly1305Key::Create
    - RestrictedData
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyTest, CreateKeyWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:91,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:91,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::XChaCha20Poly1305Key::Create
    - RestrictedData
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyTest, CreateKeyWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:101,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:101,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:106,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:106,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:108,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::XChaCha20Poly1305Key::Create
    - RestrictedData
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:114,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:116,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:118,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:121,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:123,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:129,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:130,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::XChaCha20Poly1305Key::Create
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305KeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:135,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:137,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:140,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:142,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:148,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:149,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::XChaCha20Poly1305Key::Create
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:154,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:155,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:157,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:160,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:162,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::XChaCha20Poly1305Key::Create
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:174,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:176,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:179,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:181,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::XChaCha20Poly1305Key::Create
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305KeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:53,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:59,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:60,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - util::StatusOr::GetVariant
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305ParametersTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:64,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:64,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305ParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:78,1
    - Dst: XChaCha20Poly1305Parameters::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:80,1
    - Dst: XChaCha20Poly1305Parameters::HasIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:80,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - IsOk
    - XChaCha20Poly1305Parameters::GetVariant
    - ASSERT_THAT
    - XChaCha20Poly1305Parameters::HasIdRequirement
    - EXPECT_THAT
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305ParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:90,1
    - Dst: XChaCha20Poly1305Parameters::GetVariant
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:92,1
    - Dst: XChaCha20Poly1305Parameters::HasIdRequirement
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:92,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - IsOk
    - XChaCha20Poly1305Parameters::GetVariant
    - ASSERT_THAT
    - XChaCha20Poly1305Parameters::HasIdRequirement
    - EXPECT_THAT
    - IsTrue
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305ParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:96,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:100,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:104,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:108,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - IsOk
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(XChaCha20Poly1305ParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:116,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:123,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(XChaCha20Poly1305ParametersTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: "& AesGcmParameters::Builder::SetKeySizeInBytes(\n    int key_size)"
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters::Builder
    signature: "AesGcmParameters::Builder & AesGcmParameters::Builder::SetKeySizeInBytes(\n
      \   int key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iv_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: "& AesGcmParameters::Builder::SetIvSizeInBytes(\n    int iv_size)"
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters::Builder
    signature: "AesGcmParameters::Builder & AesGcmParameters::Builder::SetIvSizeInBytes(\n
      \   int iv_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tag_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: "& AesGcmParameters::Builder::SetTagSizeInBytes(\n    int tag_size)"
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters::Builder
    signature: "AesGcmParameters::Builder & AesGcmParameters::Builder::SetTagSizeInBytes(\n
      \   int tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: "& AesGcmParameters::Builder::SetVariant(\n    Variant variant)"
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters::Builder
    signature: "AesGcmParameters::Builder & AesGcmParameters::Builder::SetVariant(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:57,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:63,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:64,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:68,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:70,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:73,1
    - Dst: std::set*::find
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:75,1
    - Dst: std::set*::end
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:76,1
    - Dst: AesGcmParameters
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: AesGcmParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - AesGcmParameters
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<AesGcmParameters>
    signature: util::StatusOr<AesGcmParameters> AesGcmParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesGcmParameters*>
      Src: /src/tink/cc/aead/aes_gcm_parameters.cc:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: AesGcmParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesGcmParameters*>
    linkageType: ''
    returnType: bool
    signature: bool AesGcmParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: crypto::tink::AesCtrHmacAeadKeyManager::AesCtrHmacAeadKeyManager
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacAeadKeyManager()
  - 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: crypto::tink::AesCtrHmacAeadKeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::AesCtrHmacAeadKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: crypto::tink::AesCtrHmacAeadKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_eax_key.cc:40,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_eax_key.cc:42,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_eax_key.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key.cc:45,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_key.cc:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_eax_key.cc:49,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_eax_key.cc:50,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_eax_key.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_key.cc:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_eax_key.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_eax_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_key.cc:61,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_eax_key.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - AesEaxParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const AesEaxParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeySizeInBytes
      Src: /src/tink/cc/aead/aes_eax_key.cc:71,1
    - Dst: size
      Src: /src/tink/cc/aead/aes_eax_key.cc:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key.cc:72,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_eax_key.cc:76,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_eax_key.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key.cc:77,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_eax_key.cc:82,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_eax_key.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_key.cc:83,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/aead/aes_eax_key.cc:89,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_key.cc:90,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_key.cc:91,1
    - Dst: crypto::tink::AesEaxKey::AesEaxKey
      Src: /src/tink/cc/aead/aes_eax_key.cc:93,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_eax_key.cc:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - AesEaxParameters
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 95
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 95
    functionName: crypto::tink::AesEaxKey::Create
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.cc
    functionUses: 5
    functionsReached:
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - GetKeySizeInBytes
    - util::StatusOr::ok
    - crypto::tink::AesEaxKey::AesEaxKey
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<AesEaxKey>
    signature: "util::StatusOr<AesEaxKey> AesEaxKey::Create(const AesEaxParameters&
      parameters,\n                                            const RestrictedData&
      key_bytes,\n                                            absl::optional<int>
      id_requirement,\n                                            PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesEaxKey*>
      Src: /src/tink/cc/aead/aes_eax_key.cc:98,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_eax_key.cc:102,1
    - Dst: AesEaxKey*::GetParameters
      Src: /src/tink/cc/aead/aes_eax_key.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: AesEaxKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesEaxKey*>
    - GetParameters
    - AesEaxKey*::GetParameters
    linkageType: ''
    returnType: bool
    signature: bool AesEaxKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_gcm_key.cc:40,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_gcm_key.cc:42,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_key.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key.cc:45,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_key.cc:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_gcm_key.cc:49,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_gcm_key.cc:50,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_key.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_key.cc:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_gcm_key.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_gcm_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_gcm_key.cc:61,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_gcm_key.cc:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - AesGcmParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const AesGcmParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_key.cc:71,1
    - Dst: size
      Src: /src/tink/cc/aead/aes_gcm_key.cc:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key.cc:72,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_key.cc:75,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key.cc:76,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_key.cc:81,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_gcm_key.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_key.cc:82,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/aead/aes_gcm_key.cc:88,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_key.cc:89,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_key.cc:90,1
    - Dst: crypto::tink::AesGcmKey::AesGcmKey
      Src: /src/tink/cc/aead/aes_gcm_key.cc:92,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_gcm_key.cc:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - AesGcmParameters
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 94
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 94
    functionName: crypto::tink::AesGcmKey::Create
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::AesGcmKey::AesGcmKey
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    - KeySizeInBytes
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> AesGcmKey::Create(const AesGcmParameters&
      parameters,\n                                            const RestrictedData&
      key_bytes,\n                                            absl::optional<int>
      id_requirement,\n                                            PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesGcmKey*>
      Src: /src/tink/cc/aead/aes_gcm_key.cc:97,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_key.cc:101,1
    - Dst: AesGcmKey*::GetParameters
      Src: /src/tink/cc/aead/aes_gcm_key.cc:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: AesGcmKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesGcmKey*>
    - AesGcmKey*::GetParameters
    - GetParameters
    linkageType: ''
    returnType: bool
    signature: bool AesGcmKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::AesGcmKey::AesGcmKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmKey(const AesGcmKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const AesGcmKey& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmKey
    signature: AesGcmKey & operator=(const AesGcmKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::AesGcmKey::AesGcmKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmKey(AesGcmKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(AesGcmKey&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmKey
    signature: AesGcmKey & operator=(AesGcmKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::AesGcmKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters
    signature: AesGcmParameters & GetParameters() const override
  - 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: crypto::tink::AesGcmKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_gcm_key.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - AesGcmParameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: crypto::tink::AesGcmKey::AesGcmKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesGcmKey(const AesGcmParameters& parameters, const RestrictedData&
      key_bytes,\n            absl::optional<int> id_requirement,\n            std::string
      output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/aead/aead_config.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:45,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/aead/aead_config.cc:50,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/aead/aead_config.cc:50,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:51,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:57,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:58,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:59,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:63,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:65,1
    - Dst: RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aead_config.cc:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:70,1
    - Dst: RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aead_config.cc:74,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:75,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/aead/aead_config.cc:79,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/aead_config.cc:80,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:84,1
    - Dst: absl::make_unique<AesGcmSivKeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:85,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:86,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:90,1
    - Dst: absl::make_unique<AesEaxKeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:92,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:96,1
    - Dst: absl::make_unique<XChaCha20Poly1305KeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:97,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:98,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:102,1
    - Dst: absl::make_unique<KmsAeadKeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:103,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:104,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/aead/aead_config.cc:108,1
    - Dst: absl::make_unique<KmsEnvelopeAeadKeyManager>
      Src: /src/tink/cc/aead/aead_config.cc:109,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:110,1
    - Dst: RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aead_config.cc:114,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:115,1
    - Dst: RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/aead/aead_config.cc:119,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:120,1
    - Dst: RegisterXChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/aead_config.cc:124,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_config.cc:125,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/aead_config.cc:129,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 130
    functionName: crypto::tink::AeadConfig::Register
    functionSourceFile: /src/tink/cc/aead/aead_config.cc
    functionUses: 18
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - auto::ok
    - RegisterAesEaxProtoSerialization
    - absl::make_unique<AeadWrapper>
    - RegisterAesGcmSivProtoSerialization
    - absl::make_unique<AesEaxKeyManager>
    - RegisterAesGcmProtoSerialization
    - RegisterAesCtrHmacAeadProtoSerialization
    - crypto::tink::util::OkStatus
    - absl::make_unique<AesGcmSivKeyManager>
    - crypto::tink::MacConfig::Register
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - absl::make_unique<XChaCha20Poly1305KeyManager>
    - RegisterXChaCha20Poly1305ProtoSerialization
    - absl::make_unique<KmsAeadKeyManager>
    - absl::make_unique<KmsEnvelopeAeadKeyManager>
    - IsFipsModeEnabled
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AeadConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:64,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:64,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:68,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:70,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:71,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:75,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:76,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:77,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - GetParam
    - crypto::tink::AesGcmSivKey::Create
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:84,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:89,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:90,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:91,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - StatusIs
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:100,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:104,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:108,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:109,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:110,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:113,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:113,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - StatusIs
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:123,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:123,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:127,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:129,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:131,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:135,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:135,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetKeyBytes
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - GetParam
    - crypto::tink::AesGcmSivKey::Create
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivKeyTest, GetKeyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:141,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:141,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:145,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:147,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:148,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:150,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:152,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:157,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - crypto::tink::AesGcmSivParameters::Create
    - GetParam
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:166,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:170,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:172,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:174,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:177,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:180,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:185,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:186,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:193,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:195,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:196,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:198,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:200,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:202,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:208,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:215,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:217,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:219,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:221,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:223,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:225,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:228,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_siv_key_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - ASSERT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivParameters
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::AesGcmSivParameters::AesGcmSivParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmSivParameters(const AesGcmSivParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivParameters
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(const AesGcmSivParameters& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmSivParameters
    signature: AesGcmSivParameters & operator=(const AesGcmSivParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivParameters
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: crypto::tink::AesGcmSivParameters::AesGcmSivParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmSivParameters(AesGcmSivParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmSivParameters
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(AesGcmSivParameters&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmSivParameters
    signature: AesGcmSivParameters & operator=(AesGcmSivParameters&& other)
  - 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: crypto::tink::AesGcmSivParameters::KeySizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KeySizeInBytes() 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: crypto::tink::AesGcmSivParameters::GetVariant
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::AesGcmSivParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_size_in_bytes
    - variant
    argTypes:
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: crypto::tink::AesGcmSivParameters::AesGcmSivParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmSivParameters(int key_size_in_bytes, Variant variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/aead/aead_factory.cc:39,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/aead/aead_factory.cc:39,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aead_factory.cc:40,1
    - Dst: crypto::tink::AeadFactory::GetPrimitive
      Src: /src/tink/cc/aead/aead_factory.cc:43,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_factory.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: crypto::tink::AeadFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/aead/aead_factory.cc
    functionUses: 3
    functionsReached:
    - util::Status::ok
    - ConfigGlobalRegistry
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AeadWrapper>
    - crypto::tink::AeadFactory::GetPrimitive
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AeadFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/aead/aead_factory.cc:51,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/aead/aead_factory.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aead_factory.cc:52,1
    - Dst: crypto::tink::AeadFactory::GetPrimitive
      Src: /src/tink/cc/aead/aead_factory.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<Aead>*
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: crypto::tink::AeadFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/aead/aead_factory.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::AeadFactory::GetPrimitive
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - util::Status::ok
    - absl::make_unique<AeadWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> AeadFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle,\n    const KeyManager<Aead>* custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aes_key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: '&

      AesCtrHmacAeadParameters::Builder::SetAesKeySizeInBytes(int aes_key_size)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters::Builder
    signature: 'AesCtrHmacAeadParameters::Builder &

      AesCtrHmacAeadParameters::Builder::SetAesKeySizeInBytes(int aes_key_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hmac_key_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: '&

      AesCtrHmacAeadParameters::Builder::SetHmacKeySizeInBytes(int hmac_key_size)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters::Builder
    signature: 'AesCtrHmacAeadParameters::Builder &

      AesCtrHmacAeadParameters::Builder::SetHmacKeySizeInBytes(int hmac_key_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iv_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: '&

      AesCtrHmacAeadParameters::Builder::SetIvSizeInBytes(int iv_size)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters::Builder
    signature: 'AesCtrHmacAeadParameters::Builder &

      AesCtrHmacAeadParameters::Builder::SetIvSizeInBytes(int iv_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tag_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '&

      AesCtrHmacAeadParameters::Builder::SetTagSizeInBytes(int tag_size)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters::Builder
    signature: 'AesCtrHmacAeadParameters::Builder &

      AesCtrHmacAeadParameters::Builder::SetTagSizeInBytes(int tag_size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: '&

      AesCtrHmacAeadParameters::Builder::SetHashType(HashType hash_type)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters::Builder
    signature: 'AesCtrHmacAeadParameters::Builder &

      AesCtrHmacAeadParameters::Builder::SetHashType(HashType hash_type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: '&

      AesCtrHmacAeadParameters::Builder::SetVariant(Variant variant)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters::Builder
    signature: 'AesCtrHmacAeadParameters::Builder &

      AesCtrHmacAeadParameters::Builder::SetVariant(Variant variant)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:71,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:76,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:81,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:86,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:90,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:91,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:96,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:101,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:103,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:107,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:113,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:115,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:119,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:121,1
    - Dst: absl::flat_hash_map<HashType, uint32_t>::flat_hash_map<HashType, uint32_t>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:126,1
    - Dst: absl::flat_hash_map*::find
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:131,1
    - Dst: absl::flat_hash_map*::end
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:132,1
    - Dst: absl::flat_hash_map*::at
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:136,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:137,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:138,1
    - Dst: absl::c_linear_search
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:144,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:145,1
    - Dst: AesCtrHmacAeadParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 152
    functionName: AesCtrHmacAeadParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadParameters
    - absl::flat_hash_map*::at
    - has_value
    - crypto::tink::internal::ExtractStatus
    - absl::c_linear_search
    - absl::flat_hash_map<HashType, uint32_t>::flat_hash_map<HashType, uint32_t>
    - absl::StrCat
    - absl::flat_hash_map*::find
    - absl::flat_hash_map*::end
    linkageType: ''
    returnType: util::StatusOr<AesCtrHmacAeadParameters>
    signature: util::StatusOr<AesCtrHmacAeadParameters> AesCtrHmacAeadParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesCtrHmacAeadParameters*>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: AesCtrHmacAeadParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesCtrHmacAeadParameters*>
    linkageType: ''
    returnType: bool
    signature: bool AesCtrHmacAeadParameters::operator==(const Parameters& other)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:43,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:46,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:49,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:50,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - variant
    - id_requirement
    argTypes:
    - ChaCha20Poly1305Parameters::Variant
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    ChaCha20Poly1305Parameters::Variant
      variant,\n    absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:71,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:76,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:83,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:89,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:90,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:91,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:94,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:96,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - variant
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - ChaCha20Poly1305Parameters::Variant
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: crypto::tink::ChaCha20Poly1305Key::Create
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    - absl::optional<int>::has_value
    - crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
    - ComputeOutputPrefix
    linkageType: ''
    returnType: util::StatusOr<ChaCha20Poly1305Key>
    signature: "util::StatusOr<ChaCha20Poly1305Key> ChaCha20Poly1305Key::Create(\n
      \   ChaCha20Poly1305Parameters::Variant variant,\n    const RestrictedData&
      key_bytes, absl::optional<int> id_requirement,\n    PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const ChaCha20Poly1305Key*>
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:104,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:108,1
    - Dst: ChaCha20Poly1305Key*::GetParameters
      Src: /src/tink/cc/aead/chacha20_poly1305_key.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: ChaCha20Poly1305Key::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const ChaCha20Poly1305Key*>
    - GetParameters
    - ChaCha20Poly1305Key*::GetParameters
    linkageType: ''
    returnType: bool
    signature: bool ChaCha20Poly1305Key::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:47,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/aead/aead_key_templates.cc:48,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates.cc:50,1
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aead_key_templates.cc:52,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aead_key_templates.cc:53,1
    - Dst: AesEaxKeyFormat::SerializeToString
      Src: /src/tink/cc/aead/aead_key_templates.cc:54,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/aead/aead_key_templates.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key_size_in_bytes
    - iv_size_in_bytes
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: crypto::tink::NewAesEaxKeyTemplate
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyFormat::mutable_params
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - AesEaxKeyFormat::SerializeToString
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate * NewAesEaxKeyTemplate(int key_size_in_bytes, int iv_size_in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:60,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/aead/aead_key_templates.cc:61,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates.cc:63,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aead_key_templates.cc:65,1
    - Dst: AesGcmKeyFormat::SerializeToString
      Src: /src/tink/cc/aead/aead_key_templates.cc:66,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/aead/aead_key_templates.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key_size_in_bytes
    - output_prefix_type
    argTypes:
    - int
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: crypto::tink::NewAesGcmKeyTemplate
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyFormat::SerializeToString
    - KeyTemplate*::mutable_value
    - AesGcmKeyFormat::set_key_size
    - KeyTemplate*::set_type_url
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewAesGcmKeyTemplate(int key_size_in_bytes,\n                                  OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:71,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/aead/aead_key_templates.cc:72,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates.cc:74,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aead_key_templates.cc:76,1
    - Dst: AesGcmSivKeyFormat::SerializeToString
      Src: /src/tink/cc/aead/aead_key_templates.cc:77,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/aead/aead_key_templates.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: crypto::tink::NewAesGcmSivKeyTemplate
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyFormat::set_key_size
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - AesGcmSivKeyFormat::SerializeToString
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate * NewAesGcmSivKeyTemplate(int key_size_in_bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:86,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/aead/aead_key_templates.cc:87,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates.cc:89,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aead_key_templates.cc:91,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/aead/aead_key_templates.cc:92,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aead_key_templates.cc:93,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates.cc:94,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/aead/aead_key_templates.cc:95,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aead_key_templates.cc:96,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aead_key_templates.cc:97,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeToString
      Src: /src/tink/cc/aead/aead_key_templates.cc:98,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/aead/aead_key_templates.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - aes_key_size_in_bytes
    - iv_size_in_bytes
    - hmac_key_size_in_bytes
    - tag_size_in_bytes
    - hash_type
    argTypes:
    - int
    - int
    - int
    - int
    - HashType
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: crypto::tink::NewAesCtrHmacAeadKeyTemplate
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - KeyTemplate*::mutable_value
    - AesCtrHmacAeadKeyFormat::SerializeToString
    - auto::set_key_size
    - KeyTemplate*::set_type_url
    - auto::mutable_params
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewAesCtrHmacAeadKeyTemplate(int aes_key_size_in_bytes,\n
      \                                         int iv_size_in_bytes,\n                                          int
      hmac_key_size_in_bytes,\n                                          int tag_size_in_bytes,\n
      \                                         HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:103,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/aead/aead_key_templates.cc:104,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: crypto::tink::NewXChaCha20Poly1305KeyTemplate
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - KeyTemplate*::set_type_url
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate * NewXChaCha20Poly1305KeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesEaxKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: '& AeadKeyTemplates::Aes128Eax()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesEaxKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes128Eax()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesEaxKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: '& AeadKeyTemplates::Aes256Eax()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesEaxKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes256Eax()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: '& AeadKeyTemplates::Aes128Gcm()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes128Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: '& AeadKeyTemplates::Aes128GcmNoPrefix()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes128GcmNoPrefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: '& AeadKeyTemplates::Aes256Gcm()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes256Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: '& AeadKeyTemplates::Aes256GcmNoPrefix()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes256GcmNoPrefix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmSivKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: '& AeadKeyTemplates::Aes128GcmSiv()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmSivKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes128GcmSiv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmSivKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: '& AeadKeyTemplates::Aes256GcmSiv()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmSivKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes256GcmSiv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCtrHmacAeadKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: '& AeadKeyTemplates::Aes128CtrHmacSha256()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCtrHmacAeadKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes128CtrHmacSha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCtrHmacAeadKeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: '& AeadKeyTemplates::Aes256CtrHmacSha256()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCtrHmacAeadKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::Aes256CtrHmacSha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewXChaCha20Poly1305KeyTemplate
      Src: /src/tink/cc/aead/aead_key_templates.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: '& AeadKeyTemplates::XChaCha20Poly1305()'
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewXChaCha20Poly1305KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & AeadKeyTemplates::XChaCha20Poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/aead/aead_key_templates.cc:200,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates.cc:202,1
    - Dst: KmsEnvelopeAeadKeyFormat::set_kek_uri
      Src: /src/tink/cc/aead/aead_key_templates.cc:204,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aead_key_templates.cc:204,1
    - Dst: KmsEnvelopeAeadKeyFormat::mutable_dek_template
      Src: /src/tink/cc/aead/aead_key_templates.cc:205,1
    - Dst: KmsEnvelopeAeadKeyFormat::SerializeToString
      Src: /src/tink/cc/aead/aead_key_templates.cc:206,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/aead/aead_key_templates.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - kek_uri
    - ' dek_template'
    argTypes:
    - absl::string_view
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
    functionSourceFile: /src/tink/cc/aead/aead_key_templates.cc
    functionUses: 1
    functionsReached:
    - KmsEnvelopeAeadKeyFormat::SerializeToString
    - std::string
    - KeyTemplate::set_output_prefix_type
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - KmsEnvelopeAeadKeyFormat::set_kek_uri
    - KmsEnvelopeAeadKeyFormat::mutable_dek_template
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate AeadKeyTemplates::KmsEnvelopeAead(absl::string_view kek_uri,\n
      \                                             const KeyTemplate& dek_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::AesEaxKey::AesEaxKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesEaxKey(const AesEaxKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const AesEaxKey& other)'
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxKey
    signature: AesEaxKey & operator=(const AesEaxKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::AesEaxKey::AesEaxKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesEaxKey(AesEaxKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(AesEaxKey&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxKey
    signature: AesEaxKey & operator=(AesEaxKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::AesEaxKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters
    signature: AesEaxParameters & GetParameters() const override
  - 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: crypto::tink::AesEaxKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_eax_key.h:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - AesEaxParameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: crypto::tink::AesEaxKey::AesEaxKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_key.h
    functionUses: 1
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesEaxKey(const AesEaxParameters& parameters, const RestrictedData&
      key_bytes,\n            absl::optional<int> id_requirement,\n            std::string
      output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:54,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:54,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:55,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:57,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:62,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:62,1
    - Dst: KmsAeadKey
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:62,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyManager
    - EXPECT_THAT
    - KmsAeadKey
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:68,1
    - Dst: KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:70,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKey::set_version
    - IsOk
    - KmsAeadKeyManager
    - EXPECT_THAT
    - KmsAeadKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:75,1
    - Dst: KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:77,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:77,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKey::set_version
    - Not
    - KmsAeadKeyManager
    - IsOk
    - EXPECT_THAT
    - KmsAeadKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:83,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:83,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKey::set_version
    - Not
    - KmsAeadKeyManager
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateNoUri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:87,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:87,1
    - Dst: KmsAeadKeyFormat
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:87,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyManager
    - EXPECT_THAT
    - KmsAeadKeyFormat
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateKeyFormatEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKeyFormat::set_key_uri
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:94,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyManager
    - IsOk
    - KmsAeadKeyFormat::set_key_uri
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateKeyFormatValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:99,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:99,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, ValidateKeyFormatNoUri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKeyFormat::set_key_uri
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:104,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:107,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:107,1
    - Dst: KmsAeadKeyFormat::key_uri
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyManager
    - IsOk
    - KmsAeadKeyFormat::key_uri
    - ASSERT_THAT
    - auto::value
    - KmsAeadKeyFormat::set_key_uri
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(KmsAeadKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:116,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:117,1
    - Dst: abort
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:119,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:120,1
    - Dst: absl::make_unique<DummyKmsClient>
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:120,1
    - Dst: abort
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: crypto::tink::KmsAeadKeyManagerCreateTest::SetUpTestSuite
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KmsClients::Add
    - abort
    - absl::make_unique<DummyKmsClient>
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:127,1
    - Dst: KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:128,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:135,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:136,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - KmsAeadKey::set_version
    - IsOk
    - KmsAeadKeyManager
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - KmsAeadKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsAeadKeyManagerCreateTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:142,1
    - Dst: KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:143,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:146,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKey::set_version
    - Not
    - KmsAeadKeyManager
    - IsOk
    - ASSERT_THAT
    - KmsAeadKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsAeadKeyManagerCreateTest, CreateAeadWrongKeyName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:151,1
    - Dst: KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:152,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:155,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKey::set_version
    - Not
    - KmsAeadKeyManager
    - IsOk
    - ASSERT_THAT
    - KmsAeadKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsAeadKeyManagerCreateTest, CreateAeadWrongPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KmsAeadKey::set_version
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:160,1
    - Dst: KmsAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:161,1
    - Dst: KmsAeadKeyManager
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:168,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:169,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_aead_key_manager_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - KmsAeadKey::set_version
    - IsOk
    - KmsAeadKeyManager
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - KmsAeadKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsAeadKeyManagerCreateTest, CreateAeadUnboundKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: crypto::tink::AesCtrHmacAeadParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: crypto::tink::AesCtrHmacAeadParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: crypto::tink::AesCtrHmacAeadParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: crypto::tink::AesCtrHmacAeadParameters::AesCtrHmacAeadParameters
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacAeadParameters(const AesCtrHmacAeadParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: '& operator=(const AesCtrHmacAeadParameters& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters
    signature: AesCtrHmacAeadParameters & operator=(const AesCtrHmacAeadParameters&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 110
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 110
    functionName: crypto::tink::AesCtrHmacAeadParameters::AesCtrHmacAeadParameters
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacAeadParameters(AesCtrHmacAeadParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: '& operator=(AesCtrHmacAeadParameters&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadParameters
    signature: AesCtrHmacAeadParameters & operator=(AesCtrHmacAeadParameters&& other)
  - 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: crypto::tink::AesCtrHmacAeadParameters::GetAesKeySizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetAesKeySizeInBytes() 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: crypto::tink::AesCtrHmacAeadParameters::GetHmacKeySizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetHmacKeySizeInBytes() 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: crypto::tink::AesCtrHmacAeadParameters::GetIvSizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetIvSizeInBytes() 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: crypto::tink::AesCtrHmacAeadParameters::GetTagSizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetTagSizeInBytes() 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: crypto::tink::AesCtrHmacAeadParameters::GetHashType
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetHashType() 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: crypto::tink::AesCtrHmacAeadParameters::GetVariant
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - 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: crypto::tink::AesCtrHmacAeadParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - aes_key_size_in_bytes
    - hmac_key_size_in_bytes
    - iv_size_in_bytes
    - tag_size_in_bytes
    - hash_type
    - variant
    argTypes:
    - int
    - int
    - int
    - int
    - HashType
    - Variant
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: crypto::tink::AesCtrHmacAeadParameters::AesCtrHmacAeadParameters
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AesCtrHmacAeadParameters(int aes_key_size_in_bytes,\n                           int
      hmac_key_size_in_bytes, int iv_size_in_bytes,\n                           int
      tag_size_in_bytes, HashType hash_type,\n                           Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:77,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:78,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:78,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:80,1
    - Dst: AesEaxKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:80,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:81,1
    - Dst: AesEaxKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:82,1
    - Dst: AesEaxKeyFormat::params
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:82,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:86,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:91,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:91,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:91,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:93,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:93,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:94,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:94,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:94,1
    - Dst: AeadKeyTemplates::Aes256Eax
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:100,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:101,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:101,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:103,1
    - Dst: AesEaxKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:103,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:104,1
    - Dst: AesEaxKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:105,1
    - Dst: AesEaxKeyFormat::params
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:105,1
    - Dst: AeadKeyTemplates::Aes256Eax
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:109,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:114,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:114,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:114,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:116,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:117,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:117,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - internal::MakeKeyManager<Aead>
    - auto::status
    - EXPECT_TRUE
    - AesEaxKeyFormat::ParseFromString
    - auto::ok
    - EXPECT_EQ
    - AesEaxKeyFormat::key_size
    - auto::get_key_type
    - AeadKeyTemplates::Aes128Eax
    - auto::get_key_factory
    - type_url
    - value
    - AesEaxKeyFormat::params
    - output_prefix_type
    - AeadKeyTemplates::Aes256Eax
    linkageType: ''
    returnType: void
    signature: void TEST(AeadKeyTemplatesTest, testAesEaxKeyTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:122,1
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:124,1
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:124,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:125,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - EXPECT_THAT
    - AeadKeyTemplates::Aes128GcmNoPrefix
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmNoPrefix, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:129,1
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - AeadKeyTemplates::Aes128GcmNoPrefix
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmNoPrefix, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:134,1
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:134,1
    - Dst: Ref
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:135,1
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - AeadKeyTemplates::Aes128GcmNoPrefix
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmNoPrefix, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:141,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:141,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:142,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AeadKeyTemplates::Aes128GcmNoPrefix
    - AesGcmKeyManager
    - IsOk
    - value
    - EXPECT_THAT
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmNoPrefix, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:148,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:148,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:149,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:149,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AeadKeyTemplates::Aes128GcmNoPrefix
    - AesGcmKeyFormat::key_size
    - value
    - EXPECT_THAT
    - Eq
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmNoPrefix, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:153,1
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:153,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:155,1
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:155,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:156,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmNoPrefix
    - EXPECT_THAT
    - AesGcmKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmNoPrefix, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:160,1
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmNoPrefix
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmNoPrefix, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:165,1
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:165,1
    - Dst: Ref
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:166,1
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmNoPrefix
    - Ref
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmNoPrefix, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:172,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:172,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:173,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmKeyManager
    - IsOk
    - value
    - EXPECT_THAT
    - AeadKeyTemplates::Aes256GcmNoPrefix
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmNoPrefix, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes256GcmNoPrefix
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:179,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:179,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:180,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:180,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmKeyFormat::key_size
    - value
    - EXPECT_THAT
    - AeadKeyTemplates::Aes256GcmNoPrefix
    - Eq
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmNoPrefix, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:184,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:184,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:186,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:186,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:187,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - EXPECT_THAT
    - AesGcmKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256Gcm, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:191,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:191,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256Gcm, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:196,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:196,1
    - Dst: Ref
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:197,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - Ref
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256Gcm, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:201,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:203,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:203,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:204,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmKeyManager
    - IsOk
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - value
    - EXPECT_THAT
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256Gcm, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:208,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:210,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:210,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:211,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:211,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - AesGcmKeyFormat::key_size
    - value
    - EXPECT_THAT
    - Eq
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256Gcm, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:215,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:215,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:217,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:217,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:218,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128Gcm, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:222,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:222,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128Gcm, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:227,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:227,1
    - Dst: Ref
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:228,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes128Gcm
    - Ref
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128Gcm, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:232,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:234,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:234,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:234,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:235,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmKeyManager
    - IsOk
    - AeadKeyTemplates::Aes128Gcm
    - value
    - EXPECT_THAT
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128Gcm, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:239,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:241,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:241,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:242,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:242,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AeadKeyTemplates::Aes128Gcm
    - AesGcmKeyFormat::key_size
    - value
    - EXPECT_THAT
    - Eq
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128Gcm, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128GcmSiv
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:251,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:252,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:252,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:254,1
    - Dst: AesGcmSivKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:254,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:255,1
    - Dst: AesGcmSivKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:255,1
    - Dst: AeadKeyTemplates::Aes128GcmSiv
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:259,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:264,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:264,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:264,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:266,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:266,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:267,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:267,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:267,1
    - Dst: AeadKeyTemplates::Aes256GcmSiv
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:272,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:273,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:274,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:274,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:276,1
    - Dst: AesGcmSivKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:276,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:277,1
    - Dst: AesGcmSivKeyFormat::key_size
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:277,1
    - Dst: AeadKeyTemplates::Aes256GcmSiv
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:281,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:286,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:286,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:286,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:288,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:288,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:289,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:289,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - internal::MakeKeyManager<Aead>
    - auto::status
    - EXPECT_TRUE
    - AeadKeyTemplates::Aes256GcmSiv
    - auto::ok
    - EXPECT_EQ
    - AesGcmSivKeyFormat::ParseFromString
    - auto::get_key_type
    - AesGcmSivKeyFormat::key_size
    - AeadKeyTemplates::Aes128GcmSiv
    - auto::get_key_factory
    - type_url
    - value
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(AeadKeyTemplatesTest, testAesGcmSivKeyTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:300,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:300,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:301,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:301,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:303,1
    - Dst: AesCtrHmacAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:303,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:304,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:305,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:306,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:307,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:308,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:308,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:312,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:316,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:317,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:317,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:317,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:319,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:319,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:320,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:320,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:320,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:325,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:326,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:327,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:327,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:329,1
    - Dst: AesCtrHmacAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:329,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:329,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:330,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:330,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:331,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:332,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:332,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:333,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:333,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:334,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:334,1
    - Dst: AeadKeyTemplates::Aes256CtrHmacSha256
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:338,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:342,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:343,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:343,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:343,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:345,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:345,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:346,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:346,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 348
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - internal::MakeKeyManager<Aead>
    - auto::status
    - EXPECT_TRUE
    - AesCtrHmacAeadKeyFormat::ParseFromString
    - auto::ok
    - EXPECT_EQ
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - auto::get_key_type
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - auto::get_key_factory
    - type_url
    - value
    - AesCtrHmacAeadKeyFormat::hmac_key_format
    - AeadKeyTemplates::Aes256CtrHmacSha256
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(AeadKeyTemplatesTest, testAesCtrHmacAeadKeyTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:355,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:356,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:357,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:357,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:360,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:361,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:366,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:366,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:366,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:368,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:368,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:369,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:369,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - internal::MakeKeyManager<Aead>
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - auto::get_key_type
    - auto::get_key_factory
    - type_url
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - value
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(AeadKeyTemplatesTest, testXChaCha20Poly1305KeyTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:376,1
    - Dst: crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:380,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:381,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:382,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:382,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:385,1
    - Dst: KmsEnvelopeAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:385,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:386,1
    - Dst: KmsEnvelopeAeadKeyFormat::kek_uri
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:387,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:387,1
    - Dst: KmsEnvelopeAeadKeyFormat::dek_template
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:387,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:388,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:388,1
    - Dst: KmsEnvelopeAeadKeyFormat::dek_template
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:388,1
    - Dst: internal::MakeKeyManager<Aead>
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:392,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:393,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:393,1
    - Dst: type_url
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:393,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:395,1
    - Dst: value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:395,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:396,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:396,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - internal::MakeKeyManager<Aead>
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - KmsEnvelopeAeadKeyFormat::dek_template
    - auto::get_key_type
    - KmsEnvelopeAeadKeyFormat::ParseFromString
    - AeadKeyTemplates::Aes128Gcm
    - KmsEnvelopeAeadKeyFormat::kek_uri
    - type_url
    - value
    - auto::get_key_factory
    - crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(AeadKeyTemplatesTest, testKmsEnvelopeAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:401,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:401,1
    - Dst: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:403,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:404,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:404,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:404,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:405,1
    - Dst: crypto::tink::test::FakeKmsClient::RegisterNewClient
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:406,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:411,1
    - Dst: crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:414,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:416,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:416,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:417,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:417,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:418,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:418,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:420,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:420,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:421,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:421,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:422,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:422,1
    - Dst: crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:425,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:427,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:427,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:428,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:428,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:429,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:429,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:431,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:431,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:432,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:432,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:433,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:433,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:435,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:435,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aead_key_templates_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 436
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::EncryptThenDecrypt
    - auto::ok
    - IsOk
    - crypto::tink::test::FakeKmsClient::RegisterNewClient
    - std::move
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - EXPECT_THAT
    - ASSERT_TRUE
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
    - crypto::tink::AeadConfig::Register
    - auto::GetPrimitive
    linkageType: ''
    returnType: void
    signature: void TEST(AeadKeyTemplatesTest, testKmsEnvelopeAeadMultipleKeysSameKek)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesEaxParameters::Variant>
    signature: "util::StatusOr<AesEaxParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - AesEaxParameters::Variant
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 12
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    AesEaxParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:105,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:106,1
    - Dst: AesEaxParams::set_iv_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:112,1
    - Dst: GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesEaxParameters
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: crypto::tink::GetProtoParams
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - GetTagSizeInBytes
    - AesEaxParams::set_iv_size
    - crypto::tink::internal::ExtractStatus
    - GetIvSizeInBytes
    linkageType: ''
    returnType: util::StatusOr<AesEaxParams>
    signature: "util::StatusOr<AesEaxParams> GetProtoParams(\n    const AesEaxParameters&
      parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:120,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:122,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:123,1
    - Dst: AesEaxKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:127,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:128,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:129,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:134,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:135,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:138,1
    - Dst: AesEaxKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:140,1
    - Dst: AesEaxKeyFormat::params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesEaxKeyFormat::ParseFromString
    - util::StatusOr::status
    - AesEaxKeyFormat::key_size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - GetKeyTemplate
    - absl::StrCat
    - crypto::tink::ToVariant
    - AesEaxKeyFormat::params
    linkageType: ''
    returnType: util::StatusOr<AesEaxParameters>
    signature: "util::StatusOr<AesEaxParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetProtoParams
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:148,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:149,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:149,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:152,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:152,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:153,1
    - Dst: AesEaxKeyFormat::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:156,1
    - Dst: AesEaxKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:157,1
    - Dst: GetKeySizeInBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:157,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:159,1
    - Dst: AesEaxKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesEaxParameters
    constantsTouched: []
    func_position:
      end: 161
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 161
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetProtoParams
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - AesEaxKeyFormat::mutable_params
    - AesEaxKeyFormat::set_key_size
    - AesEaxKeyFormat::SerializeAsString
    - GetKeySizeInBytes
    - GetVariant
    - util::StatusOr::ok
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const AesEaxParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:166,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:167,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:170,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:171,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:175,1
    - Dst: SecretProto::ParseFromString
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:176,1
    - Dst: GetSecret
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:176,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:177,1
    - Dst: SecretProto::version
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:180,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:181,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:186,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:186,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:187,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:187,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:190,1
    - Dst: SecretProto::key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:192,1
    - Dst: SecretProto::params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:193,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:197,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:197,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:199,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:200,1
    - Dst: SecretProto::key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:200,1
    - Dst: IdRequirement
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:201,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 202
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 202
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - SecretProto::params
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - SecretProto::key_value
    - crypto::tink::internal::ExtractStatus
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - crypto::tink::AesEaxKey::Create
    - SecretProto::ParseFromString
    - GetOutputPrefixType
    - SecretProto::version
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<AesEaxKey>
    signature: "util::StatusOr<AesEaxKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetProtoParams
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:206,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:206,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:207,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:207,1
    - Dst: GetKeyBytes
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:210,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:210,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:211,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:211,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:212,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:213,1
    - Dst: SecretProto::set_version
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:218,1
    - Dst: SecretProto::set_key_value
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:219,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:219,1
    - Dst: SecretProto::mutable_params
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:220,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:223,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:223,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:224,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:224,1
    - Dst: SecretProto::SerializeAsSecretData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:226,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:227,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:227,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:229,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:229,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:230,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - AesEaxKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 233
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 233
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - crypto::tink::GetProtoParams
    - crypto::tink::GetPartialKeyAccess
    - GetParameters
    - util::StatusOr::status
    - GetKeyBytes
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - SecretProto::set_version
    - SecretDataAsStringView
    - GetIdRequirement
    - SecretProto::set_key_value
    - SecretProto::mutable_params
    - SecretProto::SerializeAsSecretData
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      AesEaxKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxProtoParametersParserImpl::AesEaxProtoParametersParserImpl
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: crypto::tink::AesEaxProtoParametersParser
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesEaxProtoParametersParserImpl::AesEaxProtoParametersParserImpl
    linkageType: ''
    returnType: AesEaxProtoParametersParserImpl
    signature: AesEaxProtoParametersParserImpl * AesEaxProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxProtoParametersSerializerImpl::AesEaxProtoParametersSerializerImpl
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: crypto::tink::AesEaxProtoParametersSerializer
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesEaxProtoParametersSerializerImpl::AesEaxProtoParametersSerializerImpl
    linkageType: ''
    returnType: AesEaxProtoParametersSerializerImpl
    signature: AesEaxProtoParametersSerializerImpl * AesEaxProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxProtoKeyParserImpl::AesEaxProtoKeyParserImpl
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: crypto::tink::AesEaxProtoKeyParser
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesEaxProtoKeyParserImpl::AesEaxProtoKeyParserImpl
    linkageType: ''
    returnType: AesEaxProtoKeyParserImpl
    signature: AesEaxProtoKeyParserImpl * AesEaxProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesEaxProtoKeySerializerImpl::AesEaxProtoKeySerializerImpl
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: crypto::tink::AesEaxProtoKeySerializer
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesEaxProtoKeySerializerImpl::AesEaxProtoKeySerializerImpl
    linkageType: ''
    returnType: AesEaxProtoKeySerializerImpl
    signature: AesEaxProtoKeySerializerImpl * AesEaxProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:261,1
    - Dst: crypto::tink::AesEaxProtoParametersParser
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:262,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:263,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:265,1
    - Dst: crypto::tink::AesEaxProtoParametersSerializer
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:266,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:267,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:269,1
    - Dst: crypto::tink::AesEaxProtoKeyParser
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:270,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:271,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:273,1
    - Dst: crypto::tink::AesEaxProtoKeySerializer
      Src: /src/tink/cc/aead/aes_eax_proto_serialization.cc:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: crypto::tink::RegisterAesEaxProtoSerialization
    functionSourceFile: /src/tink/cc/aead/aes_eax_proto_serialization.cc
    functionUses: 14
    functionsReached:
    - util::Status::ok
    - crypto::tink::AesEaxProtoParametersParser
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesEaxProtoParametersSerializer
    - crypto::tink::AesEaxProtoKeyParser
    - crypto::tink::AesEaxProtoKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterAesEaxProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/aead/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/aead/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddAeadV0
      Src: /src/tink/cc/aead/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigAeadV0
    functionSourceFile: /src/tink/cc/aead/config_v0.cc
    functionUses: 2
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddAeadV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigAeadV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:58,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:59,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:61,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:66,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:66,1
    - Dst: AesGcmKey
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:66,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - AesGcmKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:72,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:74,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - IsOk
    - EXPECT_THAT
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, ValidateValid16ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:79,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:81,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - IsOk
    - EXPECT_THAT
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, ValidateValid32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:86,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:88,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:88,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - EXPECT_THAT
    - StatusIs
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, InvalidKeySizes15Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:94,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:96,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:96,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - EXPECT_THAT
    - StatusIs
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, InvalidKeySizes17Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:102,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:104,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - EXPECT_THAT
    - StatusIs
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, InvalidKeySizes24Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:110,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:112,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:112,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - EXPECT_THAT
    - StatusIs
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, InvalidKeySizes31Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:118,1
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:120,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:120,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKey::set_version
    - AesGcmKeyManager
    - EXPECT_THAT
    - StatusIs
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, InvalidKeySizes33Bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:128,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:128,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:129,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:132,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:133,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:136,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:136,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:137,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:140,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:140,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:143,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:143,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:144,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:147,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:147,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:148,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:151,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:151,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:154,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:154,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - IsOk
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:160,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:165,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:165,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:165,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::key_size
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, Create16ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:170,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:175,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:175,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:175,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::key_size
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, Create32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:180,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:182,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:185,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:187,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:190,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:191,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:194,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:194,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:194,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - AesGcmKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - crypto::tink::util::SecretDataFromStringView
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:201,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:203,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:206,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:208,1
    - Dst: crypto::tink::internal::CordAesGcmBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:211,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:212,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:215,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:215,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:215,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - AesGcmKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::CordAesGcmBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, CreateCordAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:222,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:223,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:226,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:231,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:231,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesGcmKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - Eq
    - AesGcmKeyFormat::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, DeriveShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:236,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:237,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:239,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:245,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:245,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesGcmKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - Eq
    - AesGcmKeyFormat::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, DeriveLongKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:251,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:252,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:257,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:257,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesGcmKeyManager
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - StatusIs
    - AesGcmKeyFormat::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:263,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:264,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:269,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:270,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:271,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_gcm_key_manager_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesGcmKeyManager
    - ASSERT_THAT
    - AesGcmKeyFormat::set_key_size
    - HasSubstr
    - StatusIs
    - AesGcmKeyFormat::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:66,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:66,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:75,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:77,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:78,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:82,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:83,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:84,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - Eq
    - std::tie
    - EXPECT_THAT
    - GetParam
    - crypto::tink::AesGcmKey::Create
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:96,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:101,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:101,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:115,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:124,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:128,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:128,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:129,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:132,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:133,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:134,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:143,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:143,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:152,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:154,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:156,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:160,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:160,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetKeyBytes
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - Eq
    - std::tie
    - EXPECT_THAT
    - GetParam
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmKeyTest, GetKeyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:167,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:167,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:176,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:178,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:179,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:181,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:183,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:201,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:210,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:212,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:215,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:217,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:220,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:224,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 228
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:238,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:240,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:241,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:243,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:245,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:247,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:249,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:251,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:253,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:265,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:267,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:269,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:271,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:273,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:275,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:277,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:278,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_gcm_key_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_gcm_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: crypto::tink::ChaCha20Poly1305ProtoSerializationTest::ChaCha20Poly1305ProtoSerializationTest
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void ChaCha20Poly1305ProtoSerializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:78,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:79,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ChaCha20Poly1305ProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:98,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:98,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:101,1
    - Dst: ChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:104,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:110,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:110,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:110,1
    - Dst: dynamic_cast<const ChaCha20Poly1305Parameters*>
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:113,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:114,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:115,1
    - Dst: ChaCha20Poly1305Parameters*::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - dynamic_cast<const ChaCha20Poly1305Parameters*>
    - EXPECT_THAT
    - HasIdRequirement
    - NotNull
    - ChaCha20Poly1305Parameters*::GetVariant
    - GetParam
    - ChaCha20Poly1305KeyFormat
    - Eq
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305ProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:120,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:120,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:125,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:130,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:130,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(ChaCha20Poly1305ProtoSerializationTest,\n       ParseParametersWithInvalidSerialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:135,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:135,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:138,1
    - Dst: ChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:141,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:146,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:146,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - ChaCha20Poly1305KeyFormat
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(ChaCha20Poly1305ProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:151,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:151,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:155,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:158,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:162,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:162,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:165,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:167,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:168,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:169,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:169,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:173,1
    - Dst: ChaCha20Poly1305KeyFormat::ParseFromString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:174,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:174,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - ChaCha20Poly1305KeyFormat::ParseFromString
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305ProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:180,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:180,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:182,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:184,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:185,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:186,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:187,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:187,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:193,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:196,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:199,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:199,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:200,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:200,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:201,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:205,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:208,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:209,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:210,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:210,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:214,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::ChaCha20Poly1305Key::set_key_value
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::GetVariant
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - IsOk
    - crypto::tink::ChaCha20Poly1305Key::Create
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::ChaCha20Poly1305Key::set_version
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - Eq
    - google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305ProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:218,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:218,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:220,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:222,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:223,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:224,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:225,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:225,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:232,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:235,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:237,1
    - Dst: dynamic_cast<const ChaCha20Poly1305Key*>
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:240,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:241,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:242,1
    - Dst: ChaCha20Poly1305Key*::GetParameters
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:242,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::ChaCha20Poly1305Key::set_key_value
    - google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
    - util::StatusOr::get
    - crypto::tink::internal::ProtoKeySerialization::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - dynamic_cast<const ChaCha20Poly1305Key*>
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - NotNull
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    - google::crypto::tink::ChaCha20Poly1305Key::set_version
    - ChaCha20Poly1305Key*::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_F(ChaCha20Poly1305ProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:248,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:248,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:251,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:251,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:257,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:260,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:262,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:262,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(ChaCha20Poly1305ProtoSerializationTest,\n       ParseKeyWithInvalidSerialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:266,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:266,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:268,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:270,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:271,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:272,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:273,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:273,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:279,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:284,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::ChaCha20Poly1305Key::set_key_value
    - google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::ChaCha20Poly1305Key::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(ChaCha20Poly1305ProtoSerializationTest, ParseKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:288,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:288,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:290,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:292,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:293,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:294,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:301,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:304,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:306,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:306,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 307
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::ChaCha20Poly1305Key::set_key_value
    - google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::ChaCha20Poly1305Key::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(ChaCha20Poly1305ProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:311,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:311,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:314,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:315,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:315,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:318,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:319,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:320,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:320,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:322,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:325,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:328,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:329,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:329,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:329,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:332,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:333,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:334,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:335,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:335,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:335,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:336,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:336,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:337,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:337,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:339,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:339,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:342,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::ParseFromString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:342,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:343,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:344,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:345,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:346,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:346,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 347
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::ChaCha20Poly1305Key::ParseFromString
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - crypto::tink::ChaCha20Poly1305Key::Create
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - google::crypto::tink::ChaCha20Poly1305Key::key_value
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305ProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:350,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:357,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:358,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:359,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:360,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:360,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:362,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:367,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:367,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 369
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - util::StatusOr::GetVariant
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(ChaCha20Poly1305ProtoSerializationTest, SerializeKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:38,1
    - Dst: PrimitiveSet<CordAead>*::get_primary
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:41,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:42,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - PrimitiveSet<CordAead>*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<CordAead>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<CordAead>* aead_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<CordAead>>
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: crypto::tink::CordAeadSetWrapper::CordAeadSetWrapper
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void CordAeadSetWrapper(std::unique_ptr<PrimitiveSet<CordAead>> aead_set)
  - 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: ~CordAeadSetWrapper() override
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CordAeadSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:67,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:69,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:69,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:71,1
    - Dst: get_primary
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:71,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:72,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::Cord
    - absl::Cord
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: crypto::tink::CordAeadSetWrapper::Encrypt
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - get_primary
    - auto::ok
    - auto::value
    - absl::Cord::Append
    linkageType: ''
    returnType: util::StatusOr<absl::Cord>
    signature: "util::StatusOr<absl::Cord> CordAeadSetWrapper::Encrypt(\n    absl::Cord
      plaintext, absl::Cord associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:78,1
    - Dst: std::string
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:80,1
    - Dst: absl::Cord::Subcord
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:80,1
    - Dst: get_primitives
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:81,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:82,1
    - Dst: absl::Cord::Subcord
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:84,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:84,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:84,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:85,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:86,1
    - Dst: crypto::tink::CordAeadSetWrapper::Decrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:87,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:88,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:89,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:89,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:97,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:98,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:99,1
    - Dst: crypto::tink::CordAeadSetWrapper::Decrypt
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:102,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::Cord
    - absl::Cord
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: crypto::tink::CordAeadSetWrapper::Decrypt
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_primitive
    - get_raw_primitives
    - std::string
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - get_primitives
    - absl::Cord::size
    - std::move
    - auto::value
    - std::string::size
    - absl::Cord::Subcord
    - crypto::tink::CordAeadSetWrapper::Decrypt
    linkageType: ''
    returnType: util::StatusOr<absl::Cord>
    signature: "util::StatusOr<absl::Cord> CordAeadSetWrapper::Decrypt(\n    absl::Cord
      ciphertext, absl::Cord associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:112,1
    - Dst: std::unique_ptr<PrimitiveSet<CordAead>>::get
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:112,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:113,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:114,1
    - Dst: CordAeadSetWrapper::CordAeadSetWrapper
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:114,1
    - Dst: std::move
      Src: /src/tink/cc/aead/cord_aead_wrapper.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<CordAead>>
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: crypto::tink::CordAeadWrapper::Wrap
    functionSourceFile: /src/tink/cc/aead/cord_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - std::move
    - std::unique_ptr<PrimitiveSet<CordAead>>::get
    - Validate
    - CordAeadSetWrapper::CordAeadSetWrapper
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<CordAead>>
    signature: "util::StatusOr<std::unique_ptr<CordAead>> CordAeadWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<CordAead>> aead_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 12
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<ChaCha20Poly1305Parameters::Variant>
    signature: "util::StatusOr<ChaCha20Poly1305Parameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - ChaCha20Poly1305Parameters::Variant
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 14
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    ChaCha20Poly1305Parameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:99,1
    - Dst: ChaCha20Poly1305KeyFormat::ParseFromString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:105,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:107,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:112,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:113,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - GetKeyTemplate
    - crypto::tink::ToVariant
    - ChaCha20Poly1305KeyFormat::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<ChaCha20Poly1305Parameters>
    signature: "util::StatusOr<ChaCha20Poly1305Parameters> ParseParameters(\n    const
      internal::ProtoParametersSerialization& serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:121,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:121,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:122,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:122,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:124,1
    - Dst: ChaCha20Poly1305KeyFormat
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - ChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - GetVariant
    - util::StatusOr::ok
    - ChaCha20Poly1305KeyFormat
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const ChaCha20Poly1305Parameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:132,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:133,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:136,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:137,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:141,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::ParseFromString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:142,1
    - Dst: GetSecret
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:142,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:143,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::version
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:147,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:152,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:152,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:153,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:156,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:157,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:157,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:159,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:160,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:160,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:160,1
    - Dst: IdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:161,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::ChaCha20Poly1305Key::version
    - util::StatusOr::GetVariant
    - crypto::tink::ChaCha20Poly1305Key::Create
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - google::crypto::tink::ChaCha20Poly1305Key::ParseFromString
    - GetOutputPrefixType
    - google::crypto::tink::ChaCha20Poly1305Key::key_value
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<ChaCha20Poly1305Key>
    signature: "util::StatusOr<ChaCha20Poly1305Key> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:168,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:168,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:169,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:169,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:170,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:171,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_version
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:176,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::set_key_value
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:177,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:177,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:180,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:180,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:181,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:181,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:184,1
    - Dst: google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:184,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:185,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - ChaCha20Poly1305Key
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 188
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 188
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - google::crypto::tink::ChaCha20Poly1305Key::set_key_value
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::ChaCha20Poly1305Key::SerializeAsString
    - GetParameters
    - util::StatusOr::status
    - GetKeyBytes
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - GetIdRequirement
    - google::crypto::tink::ChaCha20Poly1305Key::set_version
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      ChaCha20Poly1305Key& key,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20Poly1305ProtoParametersParserImpl::ChaCha20Poly1305ProtoParametersParserImpl
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: crypto::tink::ChaCha20Poly1305ProtoParametersParser
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - ChaCha20Poly1305ProtoParametersParserImpl::ChaCha20Poly1305ProtoParametersParserImpl
    linkageType: ''
    returnType: ChaCha20Poly1305ProtoParametersParserImpl
    signature: 'ChaCha20Poly1305ProtoParametersParserImpl *

      ChaCha20Poly1305ProtoParametersParser()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20Poly1305ProtoParametersSerializerImpl::ChaCha20Poly1305ProtoParametersSerializerImpl
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: crypto::tink::ChaCha20Poly1305ProtoParametersSerializer
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - ChaCha20Poly1305ProtoParametersSerializerImpl::ChaCha20Poly1305ProtoParametersSerializerImpl
    linkageType: ''
    returnType: ChaCha20Poly1305ProtoParametersSerializerImpl
    signature: 'ChaCha20Poly1305ProtoParametersSerializerImpl *

      ChaCha20Poly1305ProtoParametersSerializer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20Poly1305ProtoKeyParserImpl::ChaCha20Poly1305ProtoKeyParserImpl
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: crypto::tink::ChaCha20Poly1305ProtoKeyParser
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - ChaCha20Poly1305ProtoKeyParserImpl::ChaCha20Poly1305ProtoKeyParserImpl
    linkageType: ''
    returnType: ChaCha20Poly1305ProtoKeyParserImpl
    signature: ChaCha20Poly1305ProtoKeyParserImpl * ChaCha20Poly1305ProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20Poly1305ProtoKeySerializerImpl::ChaCha20Poly1305ProtoKeySerializerImpl
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: crypto::tink::ChaCha20Poly1305ProtoKeySerializer
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - ChaCha20Poly1305ProtoKeySerializerImpl::ChaCha20Poly1305ProtoKeySerializerImpl
    linkageType: ''
    returnType: ChaCha20Poly1305ProtoKeySerializerImpl
    signature: ChaCha20Poly1305ProtoKeySerializerImpl * ChaCha20Poly1305ProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:220,1
    - Dst: crypto::tink::ChaCha20Poly1305ProtoParametersParser
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:221,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:222,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:224,1
    - Dst: crypto::tink::ChaCha20Poly1305ProtoParametersSerializer
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:226,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:227,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:229,1
    - Dst: crypto::tink::ChaCha20Poly1305ProtoKeyParser
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:230,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:231,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:233,1
    - Dst: crypto::tink::ChaCha20Poly1305ProtoKeySerializer
      Src: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
    functionUses: 12
    functionsReached:
    - util::Status::ok
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::ChaCha20Poly1305ProtoParametersSerializer
    - crypto::tink::ChaCha20Poly1305ProtoKeySerializer
    - crypto::tink::ChaCha20Poly1305ProtoKeyParser
    - crypto::tink::ChaCha20Poly1305ProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterChaCha20Poly1305ProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: crypto::tink::AesGcmProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:77,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:78,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc: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: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterAesGcmProtoSerialization
    - IsOk
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:97,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:97,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:100,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:101,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:104,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:107,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:113,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:113,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:113,1
    - Dst: dynamic_cast<const AesGcmParameters*>
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:116,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:117,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:118,1
    - Dst: AesGcmParameters*::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:119,1
    - Dst: AesGcmParameters*::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:119,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:120,1
    - Dst: AesGcmParameters*::IvSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:121,1
    - Dst: AesGcmParameters*::TagSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:121,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - AesGcmKeyFormat::SerializeAsString
    - AesGcmParameters*::IvSizeInBytes
    - AesGcmParameters*::TagSizeInBytes
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - IsOk
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - GetParam
    - AesGcmKeyFormat::set_version
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterAesGcmProtoSerialization
    - Eq
    - util::StatusOr::get
    - AesGcmParameters*::KeySizeInBytes
    - dynamic_cast<const AesGcmParameters*>
    - NotNull
    - AesGcmParameters*::GetVariant
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:125,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:125,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:128,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:129,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:135,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:140,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - StatusIs
    - AesGcmKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:144,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:144,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:147,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:148,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:151,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:155,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:160,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:160,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - AesGcmKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:164,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:164,1
    - Dst: AesGcmKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:167,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:168,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:171,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:175,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:180,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:180,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - AesGcmKeyFormat::set_key_size
    - AesGcmKeyFormat::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - AesGcmKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseParametersWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:185,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:185,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:194,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:201,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:201,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:202,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:205,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:207,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:208,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:208,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:210,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:210,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:214,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:215,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:215,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:217,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:217,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - AesGcmKeyFormat::key_size
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:221,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:221,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:230,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:236,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:236,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 238
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, SerializeParametersWithDisallowedIvSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:241,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:241,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:250,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:256,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:256,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 258
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, SerializeParametersWithDisallowedTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:262,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:262,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:264,1
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:266,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:267,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:268,1
    - Dst: google::crypto::tink::AesGcmKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:269,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:269,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:275,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:278,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:281,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:281,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:282,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:282,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:283,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:286,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:292,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:294,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:296,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:296,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:298,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:300,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 301
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesGcmKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - google::crypto::tink::AesGcmKey::set_key_value
    - EXPECT_THAT
    - GetIdRequirement
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - crypto::tink::AesGcmKey::Create
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - google::crypto::tink::AesGcmKey::set_version
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::RegisterAesGcmProtoSerialization
    - Eq
    - crypto::tink::GetPartialKeyAccess
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:304,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:304,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:306,1
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:308,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:309,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:310,1
    - Dst: google::crypto::tink::AesGcmKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:311,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:311,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:314,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:317,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:320,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:322,1
    - Dst: dynamic_cast<const AesGcmKey*>
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:324,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:325,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:326,1
    - Dst: AesGcmKey*::GetParameters
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:326,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 328
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesGcmKey*>
    - util::StatusOr::get
    - crypto::tink::internal::ProtoKeySerialization::Create
    - AesGcmKey*::GetParameters
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesGcmKey::SerializeAsString
    - google::crypto::tink::AesGcmKey::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - google::crypto::tink::AesGcmKey::set_key_value
    - EXPECT_THAT
    - NotNull
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:331,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:331,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:334,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:334,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:341,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:341,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:344,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:345,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:346,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:346,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 347
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:350,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:352,1
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:354,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:355,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:356,1
    - Dst: google::crypto::tink::AesGcmKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:357,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:357,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:364,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:369,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:369,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 370
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesGcmKey::SerializeAsString
    - google::crypto::tink::AesGcmKey::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - google::crypto::tink::AesGcmKey::set_key_value
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:373,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:373,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:375,1
    - Dst: google::crypto::tink::AesGcmKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:377,1
    - Dst: google::crypto::tink::AesGcmKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:378,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:379,1
    - Dst: google::crypto::tink::AesGcmKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:380,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:380,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:383,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:387,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:390,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:391,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:392,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:392,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 393
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesGcmKey::SerializeAsString
    - google::crypto::tink::AesGcmKey::set_version
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - google::crypto::tink::AesGcmKey::set_key_value
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:397,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:397,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:397,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:406,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:408,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:409,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:411,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:411,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:412,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:413,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:413,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:416,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:419,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:419,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:420,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:420,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:421,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:424,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:425,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:426,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:426,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:427,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:427,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:428,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:429,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:429,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:429,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:430,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:430,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:431,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:432,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:432,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:432,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:435,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:435,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:436,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:437,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:438,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:439,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:439,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 440
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesGcmKey::ParseFromString
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - google::crypto::tink::AesGcmKey::key_value
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - crypto::tink::AesGcmKey::Create
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::RegisterAesGcmProtoSerialization
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:443,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:443,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:443,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:446,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:452,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:452,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:454,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:455,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:458,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:459,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:462,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:464,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:465,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:465,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 467
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, SerializeKeyWithDisallowedIvSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:470,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:470,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:470,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:473,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:479,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:479,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:481,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:482,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:484,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:484,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:485,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:486,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:489,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:491,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:492,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:492,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 494
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, SerializeKeyWithDisallowedTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:497,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:497,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:497,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:500,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:506,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:506,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:508,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:509,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:511,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:511,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:512,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:513,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:513,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:516,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:518,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:518,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 520
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesGcmProtoSerialization
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmProtoSerializationTest, SerializeKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XChaCha20Poly1305Parameters(const XChaCha20Poly1305Parameters&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: "& operator=(\n      const XChaCha20Poly1305Parameters& other)"
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XChaCha20Poly1305Parameters
    signature: "XChaCha20Poly1305Parameters & operator=(\n      const XChaCha20Poly1305Parameters&
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XChaCha20Poly1305Parameters(XChaCha20Poly1305Parameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - XChaCha20Poly1305Parameters
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: '& operator=(XChaCha20Poly1305Parameters&& other)'
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XChaCha20Poly1305Parameters
    signature: XChaCha20Poly1305Parameters & operator=(XChaCha20Poly1305Parameters&&
      other)
  - 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: crypto::tink::XChaCha20Poly1305Parameters::GetVariant
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::XChaCha20Poly1305Parameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void XChaCha20Poly1305Parameters(Variant variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:43,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:46,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:49,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:49,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:50,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:56,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:56,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:59,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - variant
    - id_requirement
    argTypes:
    - XChaCha20Poly1305Parameters::Variant
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    XChaCha20Poly1305Parameters::Variant
      variant,\n    absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:71,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:76,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:83,1
    - Dst: crypto::tink::XChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:89,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:90,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:91,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:94,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:96,1
    - Dst: crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - variant
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - XChaCha20Poly1305Parameters::Variant
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: crypto::tink::XChaCha20Poly1305Key::Create
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.cc
    functionUses: 13
    functionsReached:
    - crypto::tink::XChaCha20Poly1305Parameters::Create
    - size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
    - std::move
    - util::StatusOr::ok
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    linkageType: ''
    returnType: util::StatusOr<XChaCha20Poly1305Key>
    signature: "util::StatusOr<XChaCha20Poly1305Key> XChaCha20Poly1305Key::Create(\n
      \   XChaCha20Poly1305Parameters::Variant variant,\n    const RestrictedData&
      key_bytes, absl::optional<int> id_requirement,\n    PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const XChaCha20Poly1305Key*>
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:104,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:108,1
    - Dst: XChaCha20Poly1305Key*::GetParameters
      Src: /src/tink/cc/aead/xchacha20_poly1305_key.cc:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: XChaCha20Poly1305Key::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/aead/xchacha20_poly1305_key.cc
    functionUses: 0
    functionsReached:
    - XChaCha20Poly1305Key*::GetParameters
    - GetParameters
    - dynamic_cast<const XChaCha20Poly1305Key*>
    linkageType: ''
    returnType: bool
    signature: bool XChaCha20Poly1305Key::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: crypto::tink::AesEaxParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: crypto::tink::AesEaxParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: crypto::tink::AesEaxParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxParameters
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: crypto::tink::AesEaxParameters::AesEaxParameters
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesEaxParameters(const AesEaxParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxParameters
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const AesEaxParameters& other)'
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters
    signature: AesEaxParameters & operator=(const AesEaxParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxParameters
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: crypto::tink::AesEaxParameters::AesEaxParameters
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesEaxParameters(AesEaxParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesEaxParameters
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& operator=(AesEaxParameters&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesEaxParameters
    signature: AesEaxParameters & operator=(AesEaxParameters&& other)
  - 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: crypto::tink::AesEaxParameters::GetKeySizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetKeySizeInBytes() 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: crypto::tink::AesEaxParameters::GetIvSizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetIvSizeInBytes() 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: crypto::tink::AesEaxParameters::GetTagSizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetTagSizeInBytes() 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: crypto::tink::AesEaxParameters::GetVariant
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: crypto::tink::AesEaxParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - key_size_in_bytes
    - iv_size_in_bytes
    - tag_size_in_bytes
    - variant
    argTypes:
    - int
    - int
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: crypto::tink::AesEaxParameters::AesEaxParameters
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AesEaxParameters(int key_size_in_bytes, int iv_size_in_bytes,\n
      \                  int tag_size_in_bytes, Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::KmsEnvelopeAeadKeyManager::KmsEnvelopeAeadKeyManager
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void KmsEnvelopeAeadKeyManager()
  - 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: crypto::tink::KmsEnvelopeAeadKeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::KmsEnvelopeAeadKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:67,1
    - Dst: version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:67,1
    - Dst: crypto::tink::KmsEnvelopeAeadKeyManager::get_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:67,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:68,1
    - Dst: crypto::tink::KmsEnvelopeAeadKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:69,1
    - Dst: params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::KmsEnvelopeAeadKey
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: crypto::tink::KmsEnvelopeAeadKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::KmsEnvelopeAeadKeyManager::ValidateKeyFormat
    - ValidateVersion
    - params
    - crypto::tink::KmsEnvelopeAeadKeyManager::get_version
    - version
    - crypto::tink::util::Status::ok
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::KmsEnvelopeAeadKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kek_uri
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:76,1
    - Dst: crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:79,1
    - Dst: dek_template
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:81,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - google::crypto::tink::KmsEnvelopeAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: crypto::tink::KmsEnvelopeAeadKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 1
    functionsReached:
    - kek_uri
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
    - crypto::tink::util::OkStatus
    - dek_template
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::KmsEnvelopeAeadKeyFormat&
      format)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KmsEnvelopeAeadKey::set_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:91,1
    - Dst: crypto::tink::KmsEnvelopeAeadKeyManager::get_version
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:91,1
    - Dst: google::crypto::tink::KmsEnvelopeAeadKey::mutable_params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::KmsEnvelopeAeadKeyFormat
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: crypto::tink::KmsEnvelopeAeadKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::KmsEnvelopeAeadKey::set_version
    - google::crypto::tink::KmsEnvelopeAeadKey::mutable_params
    - crypto::tink::KmsEnvelopeAeadKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::KmsEnvelopeAeadKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::KmsEnvelopeAeadKey>
      CreateKey(const google::crypto::tink::KmsEnvelopeAeadKeyFormat& key_format)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: crypto::tink::KmsEnvelopeAeadKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:66,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:75,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:77,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:78,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:82,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:83,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:84,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:85,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:85,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - util::StatusOr::GetKeyBytes
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:97,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:102,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:102,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:116,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:125,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:131,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:131,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:137,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:138,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:139,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:145,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:154,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:156,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:157,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:158,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:159,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:161,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:163,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:166,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:167,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:179,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:188,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:190,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:193,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:195,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:198,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:202,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:204,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 206
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyTest, DifferentParametersKeysNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:216,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:218,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:219,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:222,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:224,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:227,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:232,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:233,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 235
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyTest, DifferentSecretDataKeysNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:245,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:247,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:250,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:252,1
    - Dst: crypto::tink::AesEaxKey::Create
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:255,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:257,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:259,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:260,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:261,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_key_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::AesEaxKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxKeyTest, DifferentIdRequirementKeysNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:65,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:66,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:68,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:68,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - AesCtrHmacAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:73,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:73,1
    - Dst: AesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:73,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - AesCtrHmacAeadKey
    - AesCtrHmacAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKey::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:79,1
    - Dst: AesCtrHmacAeadKey::mutable_aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:80,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:81,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:81,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:82,1
    - Dst: AesCtrHmacAeadKey::mutable_hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:83,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:84,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:84,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:85,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: crypto::tink::CreateValidKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 9
    functionsReached:
    - AesCtrHmacAeadKey::mutable_hmac_key
    - AesCtrHmacAeadKey::mutable_aes_ctr_key
    - std::string
    - auto::set_key_value
    - auto::mutable_params
    - AesCtrHmacAeadKey::set_version
    linkageType: ''
    returnType: AesCtrHmacAeadKey
    signature: AesCtrHmacAeadKey CreateValidKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:91,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:91,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    - AesCtrHmacAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:95,1
    - Dst: AesCtrHmacAeadKey::mutable_aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:97,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:99,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:102,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKey::mutable_aes_ctr_key
    - std::string
    - AesCtrHmacAeadKeyManager
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, AesKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:109,1
    - Dst: AesCtrHmacAeadKey::mutable_hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:111,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:113,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:116,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:116,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 120
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKey::mutable_hmac_key
    - std::string
    - AesCtrHmacAeadKeyManager
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, HmacKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:124,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:125,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:126,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:127,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:128,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:129,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 7
    functionsReached:
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - auto::set_key_size
    - auto::mutable_params
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    linkageType: ''
    returnType: AesCtrHmacAeadKeyFormat
    signature: AesCtrHmacAeadKeyFormat CreateValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:136,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:137,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    - AesCtrHmacAeadKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:142,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:143,1
    - Dst: AesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:143,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat
    - AesCtrHmacAeadKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:148,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:150,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:156,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:159,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:163,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:163,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:166,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:167,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesCtrHmacAeadKeyManager
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, ValidateKeyFormatKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:174,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:176,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:182,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:185,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:189,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:189,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:192,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:193,1
    - Dst: Not
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyManager
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, ValidateKeyFormatHmacKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:200,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:203,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:205,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:207,1
    - Dst: aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:208,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:209,1
    - Dst: aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:209,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:210,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:211,1
    - Dst: hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:211,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:212,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:213,1
    - Dst: hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:213,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:214,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:215,1
    - Dst: hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:215,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:216,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - hmac_key
    - AesCtrHmacAeadKeyManager
    - IsOk
    - StatusOr::value
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - ASSERT_THAT
    - EXPECT_THAT
    - AesCtrHmacAeadKeyFormat::hmac_key_format
    - Eq
    - crypto::tink::CreateValidKeyFormat
    - aes_ctr_key
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:220,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:224,1
    - Dst: crypto::tink::subtle::AesCtrBoringSsl::New
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:226,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:227,1
    - Dst: AesCtrHmacAeadKey::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:227,1
    - Dst: AesCtrHmacAeadKey::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:229,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:231,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:232,1
    - Dst: AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:232,1
    - Dst: AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:233,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:234,1
    - Dst: AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:235,1
    - Dst: crypto::tink::subtle::EncryptThenAuthenticate::New
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:237,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:238,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:238,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:238,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:238,1
    - Dst: AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:242,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:242,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:242,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - crypto::tink::subtle::AesCtrBoringSsl::New
    - crypto::tink::subtle::HmacBoringSsl::New
    - AesCtrHmacAeadKeyManager
    - IsOk
    - AesCtrHmacAeadKey::aes_ctr_key
    - std::move
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::EncryptThenAuthenticate::New
    - AesCtrHmacAeadKey::hmac_key
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, CreateAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:249,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:250,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:251,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:252,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:253,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:255,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:257,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:263,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:263,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:265,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:265,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:267,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:267,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:269,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:269,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:271,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:271,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:272,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 273
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyManager
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - IsOk
    - StatusOr::value
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - ASSERT_THAT
    - EXPECT_THAT
    - AesCtrHmacAeadKeyFormat::hmac_key_format
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, Derive16ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:277,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:278,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:279,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:280,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:281,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:283,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:285,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:291,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:291,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:293,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:293,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 295
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyManager
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, Derive32ByteKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:299,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:300,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:301,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:302,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:303,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:305,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:310,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:311,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyManager
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, DeriveKeyNotEnoughRandomnessForAesCtrKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:317,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:318,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:319,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:320,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:321,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:323,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:328,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:329,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 331
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyManager
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacAeadKeyManagerTest, DeriveKeyNotEnoughRandomnessForHmacKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc: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: crypto::tink::AesCtrHmacAeadProtoSerializationTest::AesCtrHmacAeadProtoSerializationTest
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacAeadProtoSerializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:126,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:128,1
    - Dst: mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:130,1
    - Dst: set_iv_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:131,1
    - Dst: set_key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:132,1
    - Dst: mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:134,1
    - Dst: set_hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:135,1
    - Dst: set_tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:136,1
    - Dst: set_key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:137,1
    - Dst: set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - aes_key_size
    - hmac_key_size
    - iv_size
    - tag_size
    - proto_hash_type
    - hmac_version
    argTypes:
    - int
    - int
    - int
    - int
    - HashType
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 141
    functionName: crypto::tink::BuildAesCtrHmacAeadKeyFormat
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - set_tag_size
    - set_iv_size
    - mutable_params
    - set_version
    - set_key_size
    - set_hash
    linkageType: ''
    returnType: AesCtrHmacAeadKeyFormat
    signature: "AesCtrHmacAeadKeyFormat BuildAesCtrHmacAeadKeyFormat(int aes_key_size,\n
      \                                                    int hmac_key_size,\n                                                     int
      iv_size, int tag_size,\n                                                     HashType
      proto_hash_type,\n                                                     int hmac_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::mutable_hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:148,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::mutable_aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:149,1
    - Dst: mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:151,1
    - Dst: set_iv_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:152,1
    - Dst: set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:153,1
    - Dst: set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:154,1
    - Dst: mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:156,1
    - Dst: set_hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:157,1
    - Dst: set_tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:158,1
    - Dst: set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:159,1
    - Dst: set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - aes_key_bytes
    - hmac_key_bytes
    - iv_size
    - tag_size
    - proto_hash_type
    - aes_ctr_version
    - hmac_version
    argTypes:
    - absl::string_view
    - absl::string_view
    - int
    - int
    - HashType
    - int
    - int
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: crypto::tink::BuildAesCtrHmacAeadKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_key_value
    - set_tag_size
    - set_iv_size
    - google::crypto::tink::AesCtrHmacAeadKey::mutable_aes_ctr_key
    - mutable_params
    - set_version
    - google::crypto::tink::AesCtrHmacAeadKey::mutable_hmac_key
    - set_hash
    linkageType: ''
    returnType: google::crypto::tink::AesCtrHmacAeadKey
    signature: "google::crypto::tink::AesCtrHmacAeadKey BuildAesCtrHmacAeadKey(\n
      \   absl::string_view aes_key_bytes, absl::string_view hmac_key_bytes,\n    int
      iv_size, int tag_size, HashType proto_hash_type, int aes_ctr_version,\n    int
      hmac_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:166,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:167,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrHmacAeadProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:172,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:172,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:175,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:180,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:183,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:189,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:189,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:190,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:190,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - TestCase::id_requirement::has_value
    - AesCtrHmacAeadKeyFormat::SerializeAsString
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::BuildAesCtrHmacAeadKeyFormat
    - ASSERT_THAT
    - EXPECT_THAT
    - HasIdRequirement
    - GetParam
    - Eq
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:207,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:207,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:209,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:218,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:219,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:222,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::BuildAesCtrHmacAeadKeyFormat
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:228,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:228,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:230,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:235,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:240,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:241,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:244,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::SerializeAsString
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::BuildAesCtrHmacAeadKeyFormat
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:251,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:251,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:253,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:258,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:263,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:264,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:267,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::SerializeAsString
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::BuildAesCtrHmacAeadKeyFormat
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseParametersWithUnkownHashTypeFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:274,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:274,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKeyFormat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:276,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:281,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:286,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:286,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:289,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::SerializeAsString
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::BuildAesCtrHmacAeadKeyFormat
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseParametersWithInvalidHmacVersionFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:306,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:312,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:313,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:313,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:313,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:316,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:318,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:320,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:320,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:320,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:321,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:321,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:322,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:325,1
    - Dst: AesCtrHmacAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:325,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:326,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:328,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:328,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:329,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:330,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:331,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:333,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:333,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:335,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:336,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:338,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:338,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 340
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - AesCtrHmacAeadKeyFormat::ParseFromString
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - AesCtrHmacAeadKeyFormat::hmac_key_format
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:344,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:344,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:346,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:347,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:348,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:353,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:354,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:354,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:360,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:363,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:367,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:367,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:368,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:368,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:369,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:369,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:372,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:380,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:382,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:385,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:385,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:387,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:387,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:390,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:392,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 393
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - TestCase::id_requirement::has_value
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::ProtoKeySerialization::Create
    - GetParameters
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - crypto::tink::BuildAesCtrHmacAeadKey
    - RestrictedData
    - google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:396,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:396,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:398,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:400,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:404,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:405,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:405,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:408,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:411,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:411,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:414,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:415,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:416,1
    - Dst: dynamic_cast<const AesCtrHmacAeadKey*>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:419,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:419,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:420,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:420,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:421,1
    - Dst: AesCtrHmacAeadKey*::GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:421,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 423
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesCtrHmacAeadKey*>
    - util::StatusOr::get
    - AesCtrHmacAeadKey*::GetParameters
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - crypto::tink::BuildAesCtrHmacAeadKey
    - RestrictedData
    - google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - EXPECT_THAT
    - NotNull
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrHmacAeadProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:427,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:427,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:427,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:430,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:430,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:433,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:436,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:436,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:439,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:440,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:442,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:442,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:443,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 445
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:448,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:448,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:448,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:450,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:451,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:452,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:456,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:460,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:463,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:463,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:466,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:468,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:468,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:468,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 470
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - crypto::tink::BuildAesCtrHmacAeadKey
    - RestrictedData
    - google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrHmacAeadProtoSerializationTest, ParseKeyNoSecretKeyAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:473,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:473,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:473,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:475,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:476,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:477,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:481,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:482,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:483,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:483,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:486,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:489,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:489,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:492,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:494,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:494,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:495,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 497
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCtrHmacAeadKey::set_version
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - crypto::tink::BuildAesCtrHmacAeadKey
    - RestrictedData
    - google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCtrHmacAeadProtoSerializationTest, ParseKeyWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:501,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:501,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:501,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:503,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:504,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:505,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:509,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:510,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:510,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:513,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:516,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:516,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:519,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:520,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:521,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:522,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:523,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - crypto::tink::BuildAesCtrHmacAeadKey
    - RestrictedData
    - google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseKeyWithInvalidAesCtrKeyVersionFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:530,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:530,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:530,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:532,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:533,1
    - Dst: crypto::tink::BuildAesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:534,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:538,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:539,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:539,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:542,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:545,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:545,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:548,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:549,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:550,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:551,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:552,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 554
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - crypto::tink::BuildAesCtrHmacAeadKey
    - RestrictedData
    - google::crypto::tink::AesCtrHmacAeadKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       ParseKeyWithInvalidHmacKeyVersionFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:557,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:558,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:558,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:558,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:560,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:561,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:563,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:571,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:571,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:574,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:577,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:577,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:579,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:579,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:581,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:582,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:582,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:585,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:587,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:588,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:588,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:589,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:589,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:589,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:592,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:593,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:594,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:594,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:595,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:595,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:595,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:596,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:596,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:596,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:597,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:597,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:598,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:599,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:599,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:600,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:603,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::ParseFromString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:603,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:604,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:605,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:606,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:607,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:607,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:607,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:608,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:608,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:609,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:610,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:610,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:610,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:611,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:611,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:611,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:612,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKey::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:612,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 614
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::AesCtrHmacAeadKey::aes_ctr_key
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - google::crypto::tink::AesCtrHmacAeadKey::ParseFromString
    - google::crypto::tink::AesCtrHmacAeadKey::hmac_key
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCtrHmacAeadProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:618,1
    - Dst: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:618,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:618,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:620,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:621,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:623,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:631,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:631,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:634,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:637,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:637,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:639,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:639,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:641,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:642,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:642,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:645,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:647,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:647,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:648,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 650
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesCtrHmacAeadProtoSerializationTest,\n       SerializeKeyNoSecretKeyAccessFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:59,1
    - Dst: crypto::tink::ChaCha20Poly1305Parameters::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:63,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:65,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:66,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:71,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:71,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:71,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:72,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:73,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:74,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::ChaCha20Poly1305Parameters::Create
    - util::StatusOr::GetKeyBytes
    - IsOk
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305KeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:78,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:78,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:81,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305KeyTest, CreateKeyWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:91,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:91,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305KeyTest, CreateKeyWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:101,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:101,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:106,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:106,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:108,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305KeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:114,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:116,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:118,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:121,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:123,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:128,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:129,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:130,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChaCha20Poly1305KeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:135,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:137,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:140,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:142,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:148,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:149,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305KeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:154,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:155,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:157,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:160,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:162,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305KeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:174,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:176,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:179,1
    - Dst: crypto::tink::ChaCha20Poly1305Key::Create
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:181,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:187,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/chacha20_poly1305_key_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - RestrictedData
    - crypto::tink::ChaCha20Poly1305Key::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(ChaCha20Poly1305KeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesGcmSivBoringSsl::New
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:50,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:51,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesGcmSivKey
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: crypto::tink::AesGcmSivKeyManager::AeadFactory::Create
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::AesGcmSivBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> Create(\n        const
      google::crypto::tink::AesGcmSivKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AeadFactory>
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: crypto::tink::AesGcmSivKeyManager::AesGcmSivKeyManager
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AeadFactory>
    linkageType: ''
    returnType: void
    signature: void AesGcmSivKeyManager()
  - 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: crypto::tink::AesGcmSivKeyManager::get_version
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: crypto::tink::AesGcmSivKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:69,1
    - Dst: version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:69,1
    - Dst: crypto::tink::AesGcmSivKeyManager::get_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:69,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:70,1
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:71,1
    - Dst: key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesGcmSivKey
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: crypto::tink::AesGcmSivKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - ValidateAesKeySize
    - ValidateVersion
    - key_value
    - version
    - crypto::tink::util::Status::ok
    - crypto::tink::AesGcmSivKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::AesGcmSivKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateAesKeySize
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:76,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - google::crypto::tink::AesGcmSivKeyFormat
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: crypto::tink::AesGcmSivKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - ValidateAesKeySize
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::AesGcmSivKeyFormat&
      format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:83,1
    - Dst: crypto::tink::AesGcmSivKeyManager::get_version
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:83,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:84,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:84,1
    - Dst: key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_key_manager.h:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' format'
    argTypes:
    - google::crypto::tink::AesGcmSivKeyFormat
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: crypto::tink::AesGcmSivKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmSivKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesGcmSivKeyManager::get_version
    - key_size
    - google::crypto::tink::AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesGcmSivKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesGcmSivKey> CreateKey(\n
      \     const google::crypto::tink::AesGcmSivKeyFormat& format)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 14
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesCtrHmacAeadParameters::Variant>
    signature: "util::StatusOr<AesCtrHmacAeadParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - AesCtrHmacAeadParameters::Variant
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 16
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    AesCtrHmacAeadParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: crypto::tink::ToHashType
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesCtrHmacAeadParameters::HashType>
    signature: "util::StatusOr<AesCtrHmacAeadParameters::HashType> ToHashType(\n    HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - AesCtrHmacAeadParameters::HashType
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HashType>
    signature: "util::StatusOr<HashType> ToProtoHashType(\n    AesCtrHmacAeadParameters::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:152,1
    - Dst: GetHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:152,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:153,1
    - Dst: HmacParams::set_tag_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:156,1
    - Dst: GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:156,1
    - Dst: HmacParams::set_hash
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: crypto::tink::GetHmacProtoParams
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::ToProtoHashType
    - HmacParams::set_tag_size
    - HmacParams::set_hash
    - util::StatusOr::ok
    - GetHashType
    - GetTagSizeInBytes
    linkageType: ''
    returnType: util::StatusOr<HmacParams>
    signature: "util::StatusOr<HmacParams> GetHmacProtoParams(\n    const AesCtrHmacAeadParameters&
      parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:164,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:165,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:167,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:168,1
    - Dst: AesCtrHmacAeadKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:172,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:173,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:174,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:179,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:185,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:185,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:186,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:187,1
    - Dst: crypto::tink::ToHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:191,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:191,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:192,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:193,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:196,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:197,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:198,1
    - Dst: AesCtrHmacAeadKeyFormat::aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:200,1
    - Dst: AesCtrHmacAeadKeyFormat::hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 205
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 205
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyFormat::ParseFromString
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - AesCtrHmacAeadKeyFormat::aes_ctr_key_format
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - GetKeyTemplate
    - absl::StrCat
    - AesCtrHmacAeadKeyFormat::hmac_key_format
    - crypto::tink::ToVariant
    - crypto::tink::ToHashType
    linkageType: ''
    returnType: util::StatusOr<AesCtrHmacAeadParameters>
    signature: "util::StatusOr<AesCtrHmacAeadParameters> ParseParameters(\n    const
      internal::ProtoParametersSerialization& serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:210,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:210,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:211,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:212,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:217,1
    - Dst: AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:219,1
    - Dst: crypto::tink::GetHmacProtoParams
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:221,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:222,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:223,1
    - Dst: mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:226,1
    - Dst: set_key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:227,1
    - Dst: GetHmacKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:227,1
    - Dst: mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:229,1
    - Dst: set_iv_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:230,1
    - Dst: GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:230,1
    - Dst: set_key_size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:231,1
    - Dst: GetAesKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:231,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:233,1
    - Dst: AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - GetAesKeySizeInBytes
    - AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - GetHmacKeySizeInBytes
    - AesCtrHmacAeadKeyFormat::SerializeAsString
    - GetVariant
    - util::StatusOr::ok
    - set_iv_size
    - crypto::tink::GetHmacProtoParams
    - mutable_params
    - set_key_size
    - GetIvSizeInBytes
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const AesCtrHmacAeadParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:241,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:242,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:245,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:246,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:250,1
    - Dst: SecretProto::ParseFromString
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:251,1
    - Dst: RestrictedData::GetSecret
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:251,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:252,1
    - Dst: SecretProto::version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:255,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:256,1
    - Dst: SecretProto::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:259,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:260,1
    - Dst: SecretProto::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:263,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:264,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:269,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:269,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:270,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:271,1
    - Dst: crypto::tink::ToHashType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:275,1
    - Dst: SecretProto::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:275,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:276,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:277,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:281,1
    - Dst: SecretProto::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:282,1
    - Dst: SecretProto::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:283,1
    - Dst: SecretProto::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:284,1
    - Dst: SecretProto::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:285,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:289,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:289,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:291,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:294,1
    - Dst: SecretProto::aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:294,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:296,1
    - Dst: SecretProto::hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:296,1
    - Dst: IdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:297,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 299
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 299
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - SecretProto::hmac_key
    - crypto::tink::internal::ExtractStatus
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - SecretProto::aes_ctr_key
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - SecretProto::ParseFromString
    - GetOutputPrefixType
    - SecretProto::version
    - RestrictedData::GetSecret
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - crypto::tink::ToHashType
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<AesCtrHmacAeadKey>
    signature: "util::StatusOr<AesCtrHmacAeadKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:303,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:304,1
    - Dst: GetAesKeyBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:309,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:309,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:310,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:311,1
    - Dst: GetHmacKeyBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:315,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:315,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:316,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:317,1
    - Dst: SecretProto::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:321,1
    - Dst: SecretProto::set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:322,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:322,1
    - Dst: SecretProto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:323,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:324,1
    - Dst: crypto::tink::GetHmacProtoParams
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:327,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:327,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:328,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:329,1
    - Dst: SecretProto::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:333,1
    - Dst: SecretProto::set_key_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:334,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:334,1
    - Dst: SecretProto::mutable_params
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:335,1
    - Dst: SecretProto::set_version
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:339,1
    - Dst: SecretProto::mutable_aes_ctr_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:340,1
    - Dst: SecretProto::mutable_hmac_key
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:341,1
    - Dst: SecretProto::SerializeAsSecretData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:344,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:345,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:345,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:347,1
    - Dst: SecretDataAsStringView
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:347,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:350,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:350,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:351,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:351,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:353,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - AesCtrHmacAeadKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 356
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 356
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - SecretProto::set_key_value
    - crypto::tink::GetHmacProtoParams
    - SecretProto::SerializeAsSecretData
    - util::StatusOr::GetSecret
    - util::StatusOr::ok
    - GetIdRequirement
    - GetParameters
    - GetHmacKeyBytes
    - RestrictedData
    - SecretProto::mutable_aes_ctr_key
    - absl::optional<SecretKeyAccessToken>::has_value
    - SecretProto::set_version
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - SecretDataAsStringView
    - SecretProto::mutable_hmac_key
    - GetAesKeyBytes
    - SecretProto::mutable_params
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      AesCtrHmacAeadKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadProtoParametersParserImpl::AesCtrHmacAeadProtoParametersParserImpl
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: crypto::tink::AesCtrHmacAeadProtoParametersParser
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadProtoParametersParserImpl::AesCtrHmacAeadProtoParametersParserImpl
    linkageType: ''
    returnType: AesCtrHmacAeadProtoParametersParserImpl
    signature: AesCtrHmacAeadProtoParametersParserImpl & AesCtrHmacAeadProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadProtoParametersSerializerImpl::AesCtrHmacAeadProtoParametersSerializerImpl
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: crypto::tink::AesCtrHmacAeadProtoParametersSerializer
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadProtoParametersSerializerImpl::AesCtrHmacAeadProtoParametersSerializerImpl
    linkageType: ''
    returnType: AesCtrHmacAeadProtoParametersSerializerImpl
    signature: 'AesCtrHmacAeadProtoParametersSerializerImpl &

      AesCtrHmacAeadProtoParametersSerializer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadProtoKeyParserImpl::AesCtrHmacAeadProtoKeyParserImpl
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: crypto::tink::AesCtrHmacAeadProtoKeyParser
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadProtoKeyParserImpl::AesCtrHmacAeadProtoKeyParserImpl
    linkageType: ''
    returnType: AesCtrHmacAeadProtoKeyParserImpl
    signature: AesCtrHmacAeadProtoKeyParserImpl & AesCtrHmacAeadProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacAeadProtoKeySerializerImpl::AesCtrHmacAeadProtoKeySerializerImpl
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: crypto::tink::AesCtrHmacAeadProtoKeySerializer
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadProtoKeySerializerImpl::AesCtrHmacAeadProtoKeySerializerImpl
    linkageType: ''
    returnType: AesCtrHmacAeadProtoKeySerializerImpl
    signature: AesCtrHmacAeadProtoKeySerializerImpl & AesCtrHmacAeadProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:387,1
    - Dst: crypto::tink::AesCtrHmacAeadProtoParametersParser
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:388,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:389,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:393,1
    - Dst: crypto::tink::AesCtrHmacAeadProtoParametersSerializer
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:395,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:396,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:400,1
    - Dst: crypto::tink::AesCtrHmacAeadProtoKeyParser
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:401,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:402,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:406,1
    - Dst: crypto::tink::AesCtrHmacAeadProtoKeySerializer
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 408
    functionName: crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
    functionUses: 16
    functionsReached:
    - crypto::tink::AesCtrHmacAeadProtoKeyParser
    - util::Status::ok
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesCtrHmacAeadProtoParametersSerializer
    - crypto::tink::AesCtrHmacAeadProtoKeySerializer
    - crypto::tink::AesCtrHmacAeadProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterAesCtrHmacAeadProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: crypto::tink::AesGcmSivProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:75,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:76,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:93,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:93,1
    - Dst: AesGcmSivKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:96,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:97,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:100,1
    - Dst: AesGcmSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:103,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:109,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:109,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:109,1
    - Dst: dynamic_cast<const AesGcmSivParameters*>
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:112,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:113,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:114,1
    - Dst: AesGcmSivParameters*::GetVariant
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:114,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:115,1
    - Dst: AesGcmSivParameters*::KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyFormat::set_version
    - AesGcmSivKeyFormat::SerializeAsString
    - util::StatusOr::get
    - AesGcmSivParameters*::GetVariant
    - AesGcmSivParameters*::KeySizeInBytes
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - AesGcmSivKeyFormat::set_key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - HasIdRequirement
    - NotNull
    - dynamic_cast<const AesGcmSivParameters*>
    - GetParam
    - Eq
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:120,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:120,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:126,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:131,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:131,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(AesGcmSivProtoSerializationTest,\n       ParseParametersWithInvalidSerialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:135,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:135,1
    - Dst: AesGcmSivKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:138,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:139,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:142,1
    - Dst: AesGcmSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:146,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:151,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyFormat::set_version
    - AesGcmSivKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - AesGcmSivKeyFormat::set_key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:155,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:155,1
    - Dst: AesGcmSivKeyFormat::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:158,1
    - Dst: AesGcmSivKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:159,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:162,1
    - Dst: AesGcmSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:165,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:170,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:170,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmSivKeyFormat::set_version
    - AesGcmSivKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - AesGcmSivKeyFormat::set_key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, ParseParametersWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:175,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:175,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:179,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:186,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:186,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:187,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:190,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:192,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:193,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:193,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:195,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:195,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:199,1
    - Dst: AesGcmSivKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:200,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:200,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:202,1
    - Dst: AesGcmSivKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 203
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - AesGcmSivKeyFormat::ParseFromString
    - AesGcmSivKeyFormat::key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - crypto::tink::AesGcmSivParameters::Create
    - NotNull
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:207,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:207,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:209,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:211,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:212,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:213,1
    - Dst: google::crypto::tink::AesGcmSivKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:214,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:214,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:220,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:223,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:226,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:226,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:227,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:227,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:228,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:232,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:234,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:236,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:236,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:240,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 241
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesGcmSivKey::set_key_value
    - IsOk
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - google::crypto::tink::AesGcmSivKey::set_version
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - crypto::tink::AesGcmSivParameters::Create
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::AesGcmSivKey::SerializeAsString
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:244,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:244,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:246,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:248,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:249,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:250,1
    - Dst: google::crypto::tink::AesGcmSivKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:251,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:251,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:257,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:260,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:262,1
    - Dst: dynamic_cast<const AesGcmSivKey*>
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:265,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:266,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:267,1
    - Dst: AesGcmSivKey*::GetParameters
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:267,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 269
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::ProtoKeySerialization::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - dynamic_cast<const AesGcmSivKey*>
    - AesGcmSivKey*::GetParameters
    - ASSERT_THAT
    - EXPECT_THAT
    - NotNull
    - google::crypto::tink::AesGcmSivKey::SerializeAsString
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesGcmSivKey::set_version
    - Eq
    - google::crypto::tink::AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, ParseLegacyKeyAsCrunchy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:272,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:272,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:275,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:275,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:282,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:285,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:287,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:287,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, ParseKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:291,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:291,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:293,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:295,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:296,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:297,1
    - Dst: google::crypto::tink::AesGcmSivKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:298,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:298,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:305,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:308,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:310,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:310,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 311
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - EXPECT_THAT
    - google::crypto::tink::AesGcmSivKey::SerializeAsString
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesGcmSivKey::set_version
    - google::crypto::tink::AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, ParseKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:314,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:314,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:316,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_version
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:318,1
    - Dst: google::crypto::tink::AesGcmSivKey::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:319,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:320,1
    - Dst: google::crypto::tink::AesGcmSivKey::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:321,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:321,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:328,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:331,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:332,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:333,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:333,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 334
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - EXPECT_THAT
    - google::crypto::tink::AesGcmSivKey::SerializeAsString
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesGcmSivKey::set_version
    - google::crypto::tink::AesGcmSivKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:338,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:338,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:342,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:344,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:345,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:347,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:347,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:349,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:352,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:356,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:356,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:357,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:360,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:362,1
    - Dst: NotNull
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:362,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:363,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:363,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:364,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:365,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:365,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:366,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:366,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:367,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:368,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:368,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:368,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:371,1
    - Dst: google::crypto::tink::AesGcmSivKey::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:371,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:372,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:373,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:374,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:375,1
    - Dst: google::crypto::tink::AesGcmSivKey::key_value
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:375,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 376
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::AesGcmSivKey::key_value
    - ASSERT_THAT
    - google::crypto::tink::AesGcmSivKey::ParseFromString
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::AesGcmSivParameters::Create
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesGcmSivProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:379,1
    - Dst: crypto::tink::RegisterAesGcmSivProtoSerialization
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:379,1
    - Dst: crypto::tink::AesGcmSivParameters::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:381,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:383,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:385,1
    - Dst: crypto::tink::AesGcmSivKey::Create
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:386,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:388,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:388,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:390,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:393,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:396,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:396,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterAesGcmSivProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::AesGcmSivParameters::Create
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::AesGcmSivKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesGcmSivProtoSerializationTest, SerializeKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 16
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesGcmParameters::Variant>
    signature: "util::StatusOr<AesGcmParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - variant
    argTypes:
    - AesGcmParameters::Variant
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 18
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    AesGcmParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IvSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:103,1
    - Dst: TagSizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:108,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesGcmParameters
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: crypto::tink::ValidateParamsForProto
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - TagSizeInBytes
    - IvSizeInBytes
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateParamsForProto(const AesGcmParameters& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:118,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:123,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:124,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:125,1
    - Dst: AesGcmKeyFormat::version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:128,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:129,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:134,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:135,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:139,1
    - Dst: AesGcmKeyFormat::key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - AesGcmKeyFormat::key_size
    - AesGcmKeyFormat::version
    - GetKeyTemplate
    - crypto::tink::ToVariant
    - AesGcmKeyFormat::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<AesGcmParameters>
    signature: "util::StatusOr<AesGcmParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateParamsForProto
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:149,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:150,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:153,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:153,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:154,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:154,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:157,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:157,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:159,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesGcmParameters
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - AesGcmKeyFormat::set_key_size
    - GetVariant
    - util::StatusOr::ok
    - AesGcmKeyFormat::SerializeAsString
    - KeySizeInBytes
    - crypto::tink::ValidateParamsForProto
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const AesGcmParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:166,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:167,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:170,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:171,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:175,1
    - Dst: SecretProto::ParseFromString
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:176,1
    - Dst: GetSecret
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:176,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:177,1
    - Dst: SecretProto::version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:180,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:181,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:186,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:186,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:187,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:187,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:192,1
    - Dst: SecretProto::key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:194,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:198,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:198,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:200,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:201,1
    - Dst: SecretProto::key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:201,1
    - Dst: IdRequirement
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:202,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 203
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 203
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - SecretProto::key_value
    - crypto::tink::internal::ExtractStatus
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - SecretProto::ParseFromString
    - GetOutputPrefixType
    - SecretProto::version
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - crypto::tink::AesGcmKey::Create
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<AesGcmKey>
    signature: "util::StatusOr<AesGcmKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidateParamsForProto
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:207,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:207,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:208,1
    - Dst: GetKeyBytes
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:211,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:211,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:212,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:212,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:213,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:214,1
    - Dst: SecretProto::set_version
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:219,1
    - Dst: SecretProto::set_key_value
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:220,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:220,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:223,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:223,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:224,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:224,1
    - Dst: SecretProto::SerializeAsSecretData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:226,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:227,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:228,1
    - Dst: RestrictedData
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:231,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:231,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:232,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - AesGcmKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 235
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 235
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::util::SecretDataAsStringView
    - util::Status::ok
    - GetParameters
    - GetKeyBytes
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToOutputPrefixType
    - RestrictedData
    - crypto::tink::internal::ProtoKeySerialization::Create
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - SecretProto::set_version
    - GetIdRequirement
    - SecretProto::set_key_value
    - crypto::tink::ValidateParamsForProto
    - SecretProto::SerializeAsSecretData
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      AesGcmKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmProtoParametersParserImpl::AesGcmProtoParametersParserImpl
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: crypto::tink::AesGcmProtoParametersParser
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmProtoParametersParserImpl::AesGcmProtoParametersParserImpl
    linkageType: ''
    returnType: AesGcmProtoParametersParserImpl
    signature: AesGcmProtoParametersParserImpl * AesGcmProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmProtoParametersSerializerImpl::AesGcmProtoParametersSerializerImpl
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: crypto::tink::AesGcmProtoParametersSerializer
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmProtoParametersSerializerImpl::AesGcmProtoParametersSerializerImpl
    linkageType: ''
    returnType: AesGcmProtoParametersSerializerImpl
    signature: AesGcmProtoParametersSerializerImpl * AesGcmProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmProtoKeyParserImpl::AesGcmProtoKeyParserImpl
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: crypto::tink::AesGcmProtoKeyParser
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmProtoKeyParserImpl::AesGcmProtoKeyParserImpl
    linkageType: ''
    returnType: AesGcmProtoKeyParserImpl
    signature: AesGcmProtoKeyParserImpl * AesGcmProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmProtoKeySerializerImpl::AesGcmProtoKeySerializerImpl
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 257
    functionName: crypto::tink::AesGcmProtoKeySerializer
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesGcmProtoKeySerializerImpl::AesGcmProtoKeySerializerImpl
    linkageType: ''
    returnType: AesGcmProtoKeySerializerImpl
    signature: AesGcmProtoKeySerializerImpl * AesGcmProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:263,1
    - Dst: crypto::tink::AesGcmProtoParametersParser
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:264,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:265,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:267,1
    - Dst: crypto::tink::AesGcmProtoParametersSerializer
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:268,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:269,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:271,1
    - Dst: crypto::tink::AesGcmProtoKeyParser
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:272,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:273,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:275,1
    - Dst: crypto::tink::AesGcmProtoKeySerializer
      Src: /src/tink/cc/aead/aes_gcm_proto_serialization.cc:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: crypto::tink::RegisterAesGcmProtoSerialization
    functionSourceFile: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
    functionUses: 17
    functionsReached:
    - util::Status::ok
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesGcmProtoKeySerializer
    - crypto::tink::AesGcmProtoKeyParser
    - crypto::tink::AesGcmProtoParametersSerializer
    - crypto::tink::AesGcmProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterAesGcmProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:38,1
    - Dst: crypto::tink::KmsClients::Get
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:39,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:40,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:40,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:41,1
    - Dst: auto::ok
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:42,1
    - Dst: auto::status
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:42,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:43,1
    - Dst: params
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:43,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:44,1
    - Dst: auto::value
      Src: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - KmsEnvelopeAeadKey
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: "KmsEnvelopeAeadKeyManager::AeadFactory::Create(\n    const KmsEnvelopeAeadKey&
      key) const"
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - std::move
    - params
    - auto::value
    - crypto::tink::KmsClients::Get
    - crypto::tink::KmsEnvelopeAead::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Aead>>
    signature: "StatusOr<std::unique_ptr<Aead>> KmsEnvelopeAeadKeyManager::AeadFactory::Create(\n
      \   const KmsEnvelopeAeadKey& key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:41,1
    - Dst: std::string
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:43,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:46,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:50,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:50,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:51,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:54,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:57,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:57,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:60,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:62,1
    - Dst: GetVariant
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - AesCtrHmacAeadParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const AesCtrHmacAeadParameters&
      parameters,\n    absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesCtrHmacAeadParameters
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: "& AesCtrHmacAeadKey::Builder::SetParameters(\n    const AesCtrHmacAeadParameters&
      parameters)"
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadKey::Builder
    signature: "AesCtrHmacAeadKey::Builder & AesCtrHmacAeadKey::Builder::SetParameters(\n
      \   const AesCtrHmacAeadParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' aes_key_bytes'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: "& AesCtrHmacAeadKey::Builder::SetAesKeyBytes(\n    const RestrictedData&
      aes_key_bytes)"
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadKey::Builder
    signature: "AesCtrHmacAeadKey::Builder & AesCtrHmacAeadKey::Builder::SetAesKeyBytes(\n
      \   const RestrictedData& aes_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' hmac_key_bytes'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: "& AesCtrHmacAeadKey::Builder::SetHmacKeyBytes(\n    const RestrictedData&
      hmac_key_bytes)"
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadKey::Builder
    signature: "AesCtrHmacAeadKey::Builder & AesCtrHmacAeadKey::Builder::SetHmacKeyBytes(\n
      \   const RestrictedData& hmac_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id_requirement
    argTypes:
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: "& AesCtrHmacAeadKey::Builder::SetIdRequirement(\n    absl::optional<int>
      id_requirement)"
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCtrHmacAeadKey::Builder
    signature: "AesCtrHmacAeadKey::Builder & AesCtrHmacAeadKey::Builder::SetIdRequirement(\n
      \   absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:95,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:100,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:105,1
    - Dst: GetAesKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:109,1
    - Dst: size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:110,1
    - Dst: GetHmacKeySizeInBytes
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:115,1
    - Dst: size
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:115,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:116,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:121,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:121,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:122,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:127,1
    - Dst: has_value
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:128,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:136,1
    - Dst: AesCtrHmacAeadKey
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 141
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 141
    functionName: "AesCtrHmacAeadKey::Builder::Build(\n    PartialKeyAccessToken token)"
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached:
    - GetAesKeySizeInBytes
    - util::StatusOr::status
    - size
    - has_value
    - crypto::tink::internal::ExtractStatus
    - ComputeOutputPrefix
    - AesCtrHmacAeadKey
    - std::move
    - util::StatusOr::ok
    - GetHmacKeySizeInBytes
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<AesCtrHmacAeadKey>
    signature: "util::StatusOr<AesCtrHmacAeadKey> AesCtrHmacAeadKey::Builder::Build(\n
      \   PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesCtrHmacAeadKey*>
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:145,1
    - Dst: GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:147,1
    - Dst: AesCtrHmacAeadKey*::GetParameters
      Src: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: AesCtrHmacAeadKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesCtrHmacAeadKey*>
    - AesCtrHmacAeadKey*::GetParameters
    - GetParameters
    linkageType: ''
    returnType: bool
    signature: bool AesCtrHmacAeadKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:60,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:63,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:71,1
    - Dst: util::StatusOr::GetKeySizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:71,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:72,1
    - Dst: util::StatusOr::GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:73,1
    - Dst: util::StatusOr::GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:74,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:75,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetKeySizeInBytes
    - IsOk
    - util::StatusOr::GetVariant
    - util::StatusOr::GetTagSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetIvSizeInBytes
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxParametersTest, BuildParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:79,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:79,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithoutSettingVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:89,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:102,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithoutSettingKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:112,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:112,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:121,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:121,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:130,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:130,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:139,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:139,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:148,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:148,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:157,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:157,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 165
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:168,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:168,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithoutSettingIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:178,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:178,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:187,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:187,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:196,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:196,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:205,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:205,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:214,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:214,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:223,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:223,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 231
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithInvalidIvSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:234,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:234,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithoutSettingTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:245,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:245,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:255,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:255,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, BuildWithInvalidTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:266,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:278,1
    - Dst: AesEaxParameters::GetKeySizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:278,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:279,1
    - Dst: AesEaxParameters::GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:279,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:280,1
    - Dst: AesEaxParameters::GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:280,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:281,1
    - Dst: AesEaxParameters::GetVariant
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:281,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:282,1
    - Dst: AesEaxParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesEaxParameters::GetKeySizeInBytes
    - AesEaxParameters::HasIdRequirement
    - AesEaxParameters::GetVariant
    - IsOk
    - AesEaxParameters::GetIvSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - AesEaxParameters::GetTagSizeInBytes
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:286,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:298,1
    - Dst: AesEaxParameters::GetKeySizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:298,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:299,1
    - Dst: AesEaxParameters::GetIvSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:299,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:300,1
    - Dst: AesEaxParameters::GetTagSizeInBytes
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:300,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:301,1
    - Dst: AesEaxParameters::GetVariant
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:301,1
    - Dst: Eq
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:301,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:302,1
    - Dst: AesEaxParameters::HasIdRequirement
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - AesEaxParameters::GetKeySizeInBytes
    - AesEaxParameters::HasIdRequirement
    - AesEaxParameters::GetVariant
    - IsOk
    - AesEaxParameters::GetIvSizeInBytes
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - AesEaxParameters::GetTagSizeInBytes
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:306,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:315,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:315,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:324,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:326,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 330
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesEaxParametersTest, SameParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:340,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:349,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:351,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 353
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, DifferentKeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:363,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:363,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:372,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:372,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:374,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 376
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, DifferentIvSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:380,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:386,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:386,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:395,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:395,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:397,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 399
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, DifferentTagSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:403,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:409,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:409,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:412,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:418,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:418,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:420,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/aead/aes_eax_parameters_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 422
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/aead/aes_eax_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesEaxParametersTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::AesGcmParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: crypto::tink::AesGcmParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& 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: crypto::tink::AesGcmParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmParameters
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: crypto::tink::AesGcmParameters::AesGcmParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmParameters(const AesGcmParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmParameters
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: '& operator=(const AesGcmParameters& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters
    signature: AesGcmParameters & operator=(const AesGcmParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmParameters
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: crypto::tink::AesGcmParameters::AesGcmParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesGcmParameters(AesGcmParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesGcmParameters
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: '& operator=(AesGcmParameters&& other)'
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesGcmParameters
    signature: AesGcmParameters & operator=(AesGcmParameters&& other)
  - 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: crypto::tink::AesGcmParameters::KeySizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KeySizeInBytes() 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: crypto::tink::AesGcmParameters::IvSizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IvSizeInBytes() const
  - 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: crypto::tink::AesGcmParameters::TagSizeInBytes
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TagSizeInBytes() const
  - 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: crypto::tink::AesGcmParameters::GetVariant
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: crypto::tink::AesGcmParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - key_size_in_bytes
    - iv_size_in_bytes
    - tag_size_in_bytes
    - variant
    argTypes:
    - int
    - int
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: crypto::tink::AesGcmParameters::AesGcmParameters
    functionSourceFile: /src/tink/cc/aead/aes_gcm_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AesGcmParameters(int key_size_in_bytes, int iv_size_in_bytes,\n
      \                  int tag_size_in_bytes, Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:69,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: crypto::tink::KmsEnvelopeAeadTest::SetUp
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::DeterministicAeadConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:75,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:75,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:77,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:78,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:80,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:81,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:85,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:91,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:93,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:94,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - IsOk
    - std::move
    - crypto::tink::KeyGenConfigGlobalRegistry
    - AeadKeyTemplates::Aes128Eax
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - crypto::tink::KmsEnvelopeAead::New
    - crypto::tink::ConfigGlobalRegistry
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, EncryptDecryptSucceed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:99,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:100,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:101,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes128Eax
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::KmsEnvelopeAead::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, NewFailsIfReamoteAeadIsNull)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:105,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:106,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:108,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:109,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:110,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - AeadKeyTemplates::Aes128Eax
    - absl::make_unique<DummyAead>
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - crypto::tink::Registry::Reset
    - crypto::tink::KmsEnvelopeAead::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, NewFailsIfDekKeyManagerIsNotRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:114,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:116,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:117,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:117,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:118,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - MacKeyTemplates::HmacSha256
    - std::move
    - absl::make_unique<DummyAead>
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - crypto::tink::KmsEnvelopeAead::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, NewFailsIfUsingDekTemplateOfUnsupportedKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:123,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:124,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:127,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:132,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:136,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:137,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:138,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:139,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:147,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:148,1
    - Dst: auto::substr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:149,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:151,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:156,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:157,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:158,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:161,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:161,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:162,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::Decrypt
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<DummyAead>
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - crypto::tink::KmsEnvelopeAead::New
    - auto::substr
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, DecryptFailsWithInvalidCiphertextOrAad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:167,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:168,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:171,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:176,1
    - Dst: absl::big_endian::Load32
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:180,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:181,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:181,1
    - Dst: DummyAead
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:182,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:184,1
    - Dst: DummyAead::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:189,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:193,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:193,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:194,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:194,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 195
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DummyAead
    - std::move
    - ASSERT_THAT
    - google::crypto::tink::AesGcmKey::ParseFromString
    - util::StatusOr::data
    - absl::string_view
    - SizeIs
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::AesGcmKey::key_value
    - absl::big_endian::Load32
    - DummyAead::Decrypt
    - crypto::tink::KmsEnvelopeAead::New
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<DummyAead>
    - reinterpret_cast<const uint8_t*>
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, DekMaintainsCorrectKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:198,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:199,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:201,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:202,1
    - Dst: std::vector::reserve
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:209,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:212,1
    - Dst: absl::big_endian::Load32
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:214,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:215,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:215,1
    - Dst: DummyAead
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:216,1
    - Dst: DummyAead::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:217,1
    - Dst: util::StatusOr::substr
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:220,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:223,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:223,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:224,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:224,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:224,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:225,1
    - Dst: std::vector::size
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:228,1
    - Dst: std::vector::size
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:230,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:230,1
    - Dst: Not
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:231,1
    - Dst: Eq
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:231,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 234
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - DummyAead
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - SerializeAsString
    - google::crypto::tink::AesGcmKey::ParseFromString
    - util::StatusOr::data
    - SizeIs
    - IsOk
    - Not
    - std::vector::size
    - util::StatusOr::substr
    - EXPECT_THAT
    - google::crypto::tink::AesGcmKey::key_value
    - absl::big_endian::Load32
    - DummyAead::Decrypt
    - std::vector::push_back
    - crypto::tink::KmsEnvelopeAead::New
    - std::vector::reserve
    - Eq
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    - absl::make_unique<DummyAead>
    - reinterpret_cast<const uint8_t*>
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, MultipleEncryptionsProduceDifferentDeks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:238,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: crypto::tink::KmsEnvelopeAeadDekTemplatesTest::SetUp
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::DeterministicAeadConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:244,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:244,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:246,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:248,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:249,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:251,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:253,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:254,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:260,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:262,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:263,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 264
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - IsOk
    - std::move
    - crypto::tink::KeyGenConfigGlobalRegistry
    - ASSERT_THAT
    - crypto::tink::KmsEnvelopeAead::New
    - AeadKeyTemplates::Aes128Gcm
    - crypto::tink::Encrypt
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - GetParam
    - crypto::tink::ConfigGlobalRegistry
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_P(KmsEnvelopeAeadDekTemplatesTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:268,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:269,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:270,1
    - Dst: AeadKeyTemplates::Aes128Eax
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:271,1
    - Dst: AeadKeyTemplates::Aes128GcmNoPrefix
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:272,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:274,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:275,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:275,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:276,1
    - Dst: AeadKeyTemplates::Aes256GcmSiv
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 279
    functionName: crypto::tink::GetTestTemplates
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes256GcmSiv
    - AeadKeyTemplates::Aes128GcmNoPrefix
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - AeadKeyTemplates::Aes128Eax
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - AeadKeyTemplates::Aes128Gcm
    - std::vector::push_back
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    linkageType: ''
    returnType: std::vector<KeyTemplate>
    signature: std::vector<KeyTemplate> GetTestTemplates()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:288,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:290,1
    - Dst: crypto::tink::test::FakeKmsClient::RegisterNewClient
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:295,1
    - Dst: crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:298,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:301,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:302,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:304,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:305,1
    - Dst: crypto::tink::test::FakeKmsClient::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:310,1
    - Dst: GetAead
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:313,1
    - Dst: crypto::tink::KmsEnvelopeAead::New
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:316,1
    - Dst: std::move
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:317,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:327,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:329,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:330,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:330,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:335,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:337,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:339,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/kms_envelope_aead_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 341
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/aead/kms_envelope_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::FakeKmsClient::RegisterNewClient
    - std::move
    - ASSERT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - IsOk
    - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    - EXPECT_THAT
    - GetAead
    - crypto::tink::KeyGenConfigGlobalRegistry
    - IsOkAndHolds
    - crypto::tink::test::FakeKmsClient::New
    - crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
    - crypto::tink::KmsEnvelopeAead::New
    - crypto::tink::Encrypt
    - AeadKeyTemplates::Aes128Gcm
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KmsEnvelopeAeadTest, PrimitiveFromTemplateAndFromNewAreCompatible)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:77,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:77,1
    - Dst: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSslTest::SetUp
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:90,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:90,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:90,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:91,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - MaxEncryptionSize
    - MaxDecryptionSize
    - size
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void TEST_F(ZeroCopyAesGcmBoringSslTest,\n       MaxDecryptionSizeOfMaxEncryptionSizeOfMessageIsMessageSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:96,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:97,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:97,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:99,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:101,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:102,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:104,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:105,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:105,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:107,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - IsOk
    - std::string::size
    - ASSERT_THAT
    - MaxEncryptionSize
    - Encrypt
    - MaxDecryptionSize
    - crypto::tink::subtle::ResizeStringUninitialized
    - Decrypt
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAesGcmBoringSslTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:115,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:117,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:117,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:120,1
    - Dst: std::string::substr
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - std::string::substr
    - ASSERT_THAT
    - Decrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAesGcmBoringSslTest, DecryptEncodedCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:128,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:129,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:129,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    - EXPECT_THAT
    - StatusIs
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAesGcmBoringSslTest, EncryptBufferTooSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:138,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:138,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:139,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - Decrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAesGcmBoringSslTest, DecryptBufferTooSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::copy
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:148,1
    - Dst: begin
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:148,1
    - Dst: end
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:148,1
    - Dst: std::back_inserter
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:148,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:149,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:149,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:153,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:154,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - end
    - size
    - begin
    - std::back_inserter
    - EXPECT_THAT
    - Encrypt
    - StatusIs
    - absl::MakeSpan
    - std::copy
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAesGcmBoringSslTest, EncryptOverlappingPlaintextCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:162,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:162,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:163,1
    - Dst: memcpy
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:167,1
    - Dst: std::string::data
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:167,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:168,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:169,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:171,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:172,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - std::string::data
    - size
    - StatusIs
    - EXPECT_THAT
    - Decrypt
    - std::string::size
    - absl::MakeSpan
    - absl::HexStringToBytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAesGcmBoringSslTest, DecryptOverlappingPlaintextCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:179,1
    - Dst: WycheproofTestVector::key::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:180,1
    - Dst: WycheproofTestVector::key::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:180,1
    - Dst: WycheproofTestVector::nonce::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:181,1
    - Dst: WycheproofTestVector::tag::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:181,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:182,1
    - Dst: WycheproofTestVector::key::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:183,1
    - Dst: WycheproofTestVector::nonce::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:184,1
    - Dst: WycheproofTestVector::tag::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSslWycheproofTest::SetUp
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - WycheproofTestVector::tag::size
    - WycheproofTestVector::nonce::size
    - GTEST_SKIP
    - WycheproofTestVector::key::size
    - GetParam
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:191,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:192,1
    - Dst: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:195,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:197,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:199,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:200,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:200,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:201,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:202,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:203,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:207,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:207,1
    - Dst: AllOf
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:207,1
    - Dst: WycheproofTestVector::nonce::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:209,1
    - Dst: WycheproofTestVector::tag::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:210,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:211,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - absl::StrCat
    - MaxDecryptionSize
    - Decrypt
    - util::SecretData::size
    - WycheproofTestVector::tag::size
    - IsOk
    - Not
    - util::StatusOr::ok
    - EXPECT_THAT
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - absl::MakeSpan
    - EXPECT_EQ
    - crypto::tink::util::SecretDataFromStringView
    - Eq
    - AllOf
    - util::StatusOr::status
    - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
    - EXPECT_NE
    - WycheproofTestVector::nonce::size
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST_P(ZeroCopyAesGcmBoringSslWycheproofTest, Decrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: ~MockZeroCopyAead() override
    functionSourceFile: /src/tink/cc/aead/internal/mock_zero_copy_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockZeroCopyAead() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::flat_hash_set<std::string>::string>
      Src: /src/tink/cc/aead/internal/aead_util.cc:34,1
    - Dst: auto*::contains
      Src: /src/tink/cc/aead/internal/aead_util.cc:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_type
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
    functionSourceFile: /src/tink/cc/aead/internal/aead_util.cc
    functionUses: 2
    functionsReached:
    - auto*::contains
    - absl::flat_hash_set<std::string>::string>
    linkageType: ''
    returnType: bool
    signature: bool IsSupportedKmsEnvelopeAeadDekKeyType(absl::string_view key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_gcm
      Src: /src/tink/cc/aead/internal/aead_util.cc:48,1
    - Dst: EVP_aes_256_gcm
      Src: /src/tink/cc/aead/internal/aead_util.cc:50,1
    - Dst: ToStatusF
      Src: /src/tink/cc/aead/internal/aead_util.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::GetAesGcmCipherForKeySize
    functionSourceFile: /src/tink/cc/aead/internal/aead_util.cc
    functionUses: 1
    functionsReached:
    - EVP_aes_128_gcm
    - EVP_aes_256_gcm
    - ToStatusF
    linkageType: ''
    returnType: util::StatusOr<const EVP_CIPHER *>
    signature: "util::StatusOr<const EVP_CIPHER *> GetAesGcmCipherForKeySize(\n    uint32_t
      key_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/tink/cc/aead/internal/aead_util.cc:62,1
    - Dst: EVP_aead_aes_256_gcm
      Src: /src/tink/cc/aead/internal/aead_util.cc:64,1
    - Dst: ToStatusF
      Src: /src/tink/cc/aead/internal/aead_util.cc:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::GetAesGcmAeadForKeySize
    functionSourceFile: /src/tink/cc/aead/internal/aead_util.cc
    functionUses: 1
    functionsReached:
    - EVP_aead_aes_256_gcm
    - EVP_aead_aes_128_gcm
    - ToStatusF
    linkageType: ''
    returnType: util::StatusOr<const EVP_AEAD *>
    signature: "util::StatusOr<const EVP_AEAD *> GetAesGcmAeadForKeySize(\n    uint32_t
      key_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm_siv
      Src: /src/tink/cc/aead/internal/aead_util.cc:75,1
    - Dst: EVP_aead_aes_256_gcm_siv
      Src: /src/tink/cc/aead/internal/aead_util.cc:77,1
    - Dst: ToStatusF
      Src: /src/tink/cc/aead/internal/aead_util.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_size_in_bytes
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::GetAesGcmSivAeadCipherForKeySize
    functionSourceFile: /src/tink/cc/aead/internal/aead_util.cc
    functionUses: 0
    functionsReached:
    - ToStatusF
    - EVP_aead_aes_256_gcm_siv
    - EVP_aead_aes_128_gcm_siv
    linkageType: ''
    returnType: util::StatusOr<const EVP_AEAD *>
    signature: "util::StatusOr<const EVP_AEAD *> GetAesGcmSivAeadCipherForKeySize(\n
      \   int key_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:35,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:36,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:37,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:40,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:41,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:42,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:45,1
    - Dst: absl::make_unique<AesGcmSivKeyManager>
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:46,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:47,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:50,1
    - Dst: absl::make_unique<AesEaxKeyManager>
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:52,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:55,1
    - Dst: absl::make_unique<XChaCha20Poly1305KeyManager>
      Src: /src/tink/cc/aead/internal/key_gen_config_v0.cc:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 57
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 57
    functionName: crypto::tink::internal::AddAeadKeyGenV0
    functionSourceFile: /src/tink/cc/aead/internal/key_gen_config_v0.cc
    functionUses: 2
    functionsReached:
    - util::Status::ok
    - absl::make_unique<AesGcmSivKeyManager>
    - absl::make_unique<AesEaxKeyManager>
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - absl::make_unique<AesGcmKeyManager>
    - absl::make_unique<XChaCha20Poly1305KeyManager>
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddAeadKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:63,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:63,1
    - Dst: crypto::tink::internal::CordAesGcmBoringSsl::New
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:66,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: crypto::tink::internal::CordAesGcmBoringSslTest::SetUp
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::CordAesGcmBoringSsl::New
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:75,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:76,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:80,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:80,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:80,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:83,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - absl::Cord::Flatten
    - EXPECT_EQ
    - absl::Cord
    - IsOk
    - absl::Cord::size
    - ASSERT_THAT
    - EXPECT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(CordAesGcmBoringSslTest, EncryptDecryptCord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::MakeFragmentedCord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:88,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:88,1
    - Dst: absl::ByLength
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:88,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:89,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:93,1
    - Dst: SizeIs
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:93,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:93,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:96,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - absl::ByLength
    - absl::MakeFragmentedCord
    - absl::Cord
    - IsOk
    - absl::Cord::size
    - absl::StrSplit
    - ASSERT_THAT
    - Eq
    - EXPECT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(CordAesGcmBoringSslTest, ChunkyCordEncrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:100,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:101,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:104,1
    - Dst: absl::MakeFragmentedCord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:105,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:106,1
    - Dst: util::StatusOr::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:106,1
    - Dst: absl::ByLength
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:106,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::ByLength
    - absl::MakeFragmentedCord
    - absl::Cord
    - IsOk
    - ASSERT_THAT
    - absl::StrSplit
    - Eq
    - EXPECT_THAT
    - Decrypt
    - util::StatusOr::Flatten
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(CordAesGcmBoringSslTest, ChunkyCordDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:114,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:115,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:119,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:119,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:119,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:122,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:122,1
    - Dst: crypto::tink::subtle::AesGcmBoringSsl::New
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:127,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:129,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:130,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 133
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::Cord::Flatten
    - crypto::tink::subtle::AesGcmBoringSsl::New
    - EXPECT_EQ
    - absl::Cord
    - IsOk
    - absl::Cord::size
    - ASSERT_THAT
    - util::StatusOr::size
    - Decrypt
    - Encrypt
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(CordAesGcmBoringSslTest, CanDecryptWithStringAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:136,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:137,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:139,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:142,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:145,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:146,1
    - Dst: util::StatusOr::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:146,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:150,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:150,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:150,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:154,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:155,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:155,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:158,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:161,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:161,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:164,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:165,1
    - Dst: util::StatusOr::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:165,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:168,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:168,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::Cord::Flatten
    - std::string
    - EXPECT_EQ
    - absl::Cord
    - IsOk
    - Not
    - absl::Cord::size
    - ASSERT_THAT
    - util::StatusOr::size
    - EXPECT_THAT
    - Decrypt
    - util::StatusOr::Flatten
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(CordAesGcmBoringSslTest, ModifiedCord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: crypto::tink::internal::GetError
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - ERR_peek_last_error
    linkageType: ''
    returnType: std::string
    signature: std::string GetError()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetArray
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:188,1
    - Dst: GetArray
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:198,1
    - Dst: GetString
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:199,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:200,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:201,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:202,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:203,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:204,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:205,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:206,1
    - Dst: GetInt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:206,1
    - Dst: GetString
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:207,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:209,1
    - Dst: crypto::tink::internal::CordAesGcmBoringSsl::New
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:210,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:210,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:212,1
    - Dst: absl::Cord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:213,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:215,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:216,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:217,1
    - Dst: util::StatusOr::Flatten
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:217,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:219,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:222,1
    - Dst: ADD_FAILURE
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:227,1
    - Dst: crypto::tink::internal::GetError
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - ' root'
    argTypes:
    - rapidjson::Document
    constantsTouched: []
    func_position:
      end: 236
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 236
    functionName: crypto::tink::internal::WycheproofTest
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - GetArray
    - crypto::tink::internal::GetError
    - std::string
    - absl::Cord
    - GetInt
    - std::move
    - std::unique_ptr::Decrypt
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - GetString
    - absl::StrCat
    - crypto::tink::internal::CordAesGcmBoringSsl::New
    - ADD_FAILURE
    - util::StatusOr::Flatten
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: bool
    signature: bool WycheproofTest(const rapidjson::Document& root)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:240,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:241,1
    - Dst: crypto::tink::internal::WycheproofTest
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::WycheproofTest
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(CordAesGcmBoringSslWycheproofTest, TestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:91,1
    - Dst: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:94,1
    - Dst: crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cipher
    - ' key'
    argTypes:
    - CipherType
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::CipherFromName
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateAesGcmSivOneShotCrypter
    - crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SslOneShotAead>>
    signature: "util::StatusOr<std::unique_ptr<SslOneShotAead>> CipherFromName(\n
      \   CipherType cipher, const util::SecretData& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:105,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:106,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:107,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:111,1
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:111,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:111,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:113,1
    - Dst: PlaintextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:113,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:113,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:116,1
    - Dst: PlaintextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:118,1
    - Dst: PlaintextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CipherFromName
    - EXPECT_EQ
    - size
    - IsOk
    - ASSERT_THAT
    - CiphertextSize
    - crypto::tink::util::SecretDataFromStringView
    - PlaintextSize
    - GetParam
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, CiphertextPlaintextSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_GE
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:126,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:126,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:126,1
    - Dst: SslOneShotAead*::Encrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:127,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:130,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - aead
    - message
    - associated_data
    - tag_size
    - iv
    - ciphertext_buffer
    argTypes:
    - SslOneShotAead*
    - absl::string_view
    - absl::string_view
    - size_t
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: crypto::tink::internal::DoTestEncrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - EXPECT_EQ
    - IsOk
    - absl::Span<char>::size
    - ASSERT_GE
    - ASSERT_THAT
    - SslOneShotAead*::Encrypt
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: "void DoTestEncrypt(SslOneShotAead* aead, absl::string_view message,\n
      \                  absl::string_view associated_data, size_t tag_size,\n                   absl::string_view
      iv, absl::Span<char> ciphertext_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:139,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:139,1
    - Dst: SslOneShotAead*::Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:140,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:143,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - aead
    - message
    - associated_data
    - iv
    - ciphertext_buffer
    argTypes:
    - SslOneShotAead*
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: crypto::tink::internal::DoTestDecrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - SslOneShotAead*::Decrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: "void DoTestDecrypt(SslOneShotAead* aead, absl::string_view message,\n
      \                  absl::string_view associated_data, absl::string_view iv,\n
      \                  absl::string_view ciphertext_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:148,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:149,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:150,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:152,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:154,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:157,1
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:158,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:158,1
    - Dst: crypto::tink::internal::DoTestEncrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:159,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:159,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:160,1
    - Dst: crypto::tink::internal::DoTestDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:161,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::DoTestEncrypt
    - crypto::tink::internal::CipherFromName
    - size
    - IsOk
    - crypto::tink::internal::DoTestDecrypt
    - ASSERT_THAT
    - CiphertextSize
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:166,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input_str
    - position
    argTypes:
    - absl::string_view
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: crypto::tink::internal::ModifyString
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string ModifyString(absl::string_view input_str, int position)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:177,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:178,1
    - Dst: SslOneShotAead*::Encrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:180,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:183,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:183,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:185,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:185,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:189,1
    - Dst: SslOneShotAead*::Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:190,1
    - Dst: crypto::tink::internal::ModifyString
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:190,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:191,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:193,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:198,1
    - Dst: SslOneShotAead*::Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:199,1
    - Dst: crypto::tink::internal::ModifyString
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:199,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:200,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:202,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:208,1
    - Dst: SslOneShotAead*::Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:208,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:209,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - aead
    - tag_size
    - iv
    argTypes:
    - SslOneShotAead*
    - size_t
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 214
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 214
    functionName: crypto::tink::internal::DoTestEncryptDecryptWithModifiedCiphertext
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - IsOk
    - Not
    - std::string::size
    - ASSERT_THAT
    - SslOneShotAead*::Decrypt
    - crypto::tink::internal::ModifyString
    - SslOneShotAead*::Encrypt
    - EXPECT_THAT
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: "void DoTestEncryptDecryptWithModifiedCiphertext(SslOneShotAead* aead,\n
      \                                               size_t tag_size,\n                                                absl::string_view
      iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:217,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:218,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:221,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:222,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:223,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:225,1
    - Dst: crypto::tink::internal::DoTestEncryptDecryptWithModifiedCiphertext
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:227,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:228,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::DoTestEncryptDecryptWithModifiedCiphertext
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::HexStringToBytes
    - GTEST_SKIP
    - GetParam
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, TestModification)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:235,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:236,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:239,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:240,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:241,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:243,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:248,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:249,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:250,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:253,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:256,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:256,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:257,1
    - Dst: crypto::tink::internal::ModifyString
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:262,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:262,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:264,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:266,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 269
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - size
    - IsOk
    - Not
    - std::string::size
    - absl::MakeSpan
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::HexStringToBytes
    - GTEST_SKIP
    - crypto::tink::internal::ModifyString
    - crypto::tink::subtle::ResizeStringUninitialized
    - EXPECT_THAT
    - Decrypt
    - GetParam
    - Encrypt
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, TestBufferClearsIfDecryptionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:274,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:275,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:278,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:278,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:281,1
    - Dst: crypto::tink::internal::DoTestDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - aead
    - ciphertext
    - iv
    argTypes:
    - SslOneShotAead*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: crypto::tink::internal::TestDecryptWithEmptyAssociatedData
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - size
    - crypto::tink::internal::DoTestDecrypt
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - crypto::tink::subtle::ResizeStringUninitialized
    linkageType: ''
    returnType: void
    signature: "void TestDecryptWithEmptyAssociatedData(SslOneShotAead* aead,\n                                        absl::string_view
      ciphertext,\n                                        absl::string_view iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:291,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:294,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:295,1
    - Dst: crypto::tink::internal::DoTestEncrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:296,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:297,1
    - Dst: crypto::tink::internal::TestDecryptWithEmptyAssociatedData
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - aead
    - iv
    - tag_size
    argTypes:
    - SslOneShotAead*
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: crypto::tink::internal::DoTestWithEmptyAssociatedData
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::TestDecryptWithEmptyAssociatedData
    - crypto::tink::internal::DoTestEncrypt
    - size
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: "void DoTestWithEmptyAssociatedData(SslOneShotAead* aead, absl::string_view
      iv,\n                                   size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:303,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:304,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:306,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:307,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:308,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:310,1
    - Dst: crypto::tink::internal::DoTestWithEmptyAssociatedData
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:311,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:311,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::DoTestWithEmptyAssociatedData
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::HexStringToBytes
    - GTEST_SKIP
    - GetParam
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, EmptyAssociatedData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:321,1
    - Dst: crypto::tink::internal::DoTestEncrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:324,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:325,1
    - Dst: crypto::tink::internal::DoTestDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:326,1
    - Dst: crypto::tink::internal::DoTestEncrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:330,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:331,1
    - Dst: crypto::tink::internal::DoTestDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:332,1
    - Dst: crypto::tink::internal::DoTestEncrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:335,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:335,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:336,1
    - Dst: crypto::tink::internal::DoTestDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - aead
    - iv
    - tag_size
    argTypes:
    - SslOneShotAead*
    - absl::string_view
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 339
    functionName: crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::DoTestEncrypt
    - crypto::tink::internal::DoTestDecrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: void
    signature: "void DoTestEmptyMessageEncryptDecrypt(\n    SslOneShotAead* aead,
      absl::string_view iv, size_t tag_size,\n    absl::string_view associated_data
      = kAssociatedData)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:342,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:343,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:345,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:346,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:347,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:349,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:350,1
    - Dst: crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:351,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - IsOk
    - crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::HexStringToBytes
    - GTEST_SKIP
    - GetParam
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, EmptyMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:355,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:356,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:358,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:359,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:360,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:362,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:363,1
    - Dst: crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:366,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:366,1
    - Dst: crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:368,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:368,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:369,1
    - Dst: crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:370,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 372
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::get
    - IsOk
    - crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::HexStringToBytes
    - GTEST_SKIP
    - GetParam
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, EmptyMessageAndAssociatedData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:375,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:376,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:377,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:378,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:379,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:381,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:381,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:382,1
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:383,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:383,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:385,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:386,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:388,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:388,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:390,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::CipherFromName
    - size
    - IsOk
    - StatusIs
    - absl::MakeSpan
    - ASSERT_THAT
    - CiphertextSize
    - crypto::tink::util::SecretDataFromStringView
    - data
    - EXPECT_THAT
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - Encrypt
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, BufferOverlapEncryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:396,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:397,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:398,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:399,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:400,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:400,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:402,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:405,1
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:406,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:406,1
    - Dst: crypto::tink::internal::DoTestEncrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:407,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:407,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:408,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:410,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:411,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:414,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:414,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 417
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::DoTestEncrypt
    - crypto::tink::internal::CipherFromName
    - size
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - CiphertextSize
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - Decrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - absl::MakeSpan
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadTest, BufferOverlapDecryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:429,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:430,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:435,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 447
    functionName: crypto::tink::internal::GetSslOneShotAeadTestParams
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - crypto::tink::internal::IsBoringSsl
    linkageType: ''
    returnType: std::vector<SslOneShotAeadTestParams>
    signature: std::vector<SslOneShotAeadTestParams> GetSslOneShotAeadTestParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:457,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:458,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:464,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:466,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:466,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:468,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:468,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: void
    signature: void TEST(SslOneShotAeadTest, AesGcmTestInvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:474,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:475,1
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:477,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:478,1
    - Dst: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:484,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:486,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:488,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:488,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 491
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateAesGcmSivOneShotCrypter
    - IsOk
    - Not
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(SslOneShotAeadTest, AesGcmSivTestInvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:494,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:495,1
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:497,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:498,1
    - Dst: crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:504,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:506,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:506,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:508,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:508,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 511
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(SslOneShotAeadTest, Xchacha20Poly1305TestInvalidKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:514,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:515,1
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:517,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:518,1
    - Dst: crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:522,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:523,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:523,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:524,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:524,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
    - crypto::tink::internal::IsBoringSsl
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SslOneShotAeadTest, Xchacha20Poly1305TestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:528,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:528,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:529,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:534,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:534,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:536,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:536,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:538,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:538,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:538,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:539,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:539,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::HexStringToBytes
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: void
    signature: void TEST(SslOneShotAeadTest, AesGcmTestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:543,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:543,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:544,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:549,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:549,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:551,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:551,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:553,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:553,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:555,1
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:555,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::HexStringToBytes
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: void
    signature: void TEST(SslOneShotAeadTest, AesGcmTestTestFipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:560,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:561,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:565,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:565,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:567,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:567,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:569,1
    - Dst: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:569,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:570,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:571,1
    - Dst: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:571,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 573
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::CreateAesGcmSivOneShotCrypter
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmSivBoringSslTest, AesGcmTestSivTestFipsOnly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:589,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:590,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:592,1
    - Dst: SslOneShotAeadWycheproofTestParams::key_sizes::contains
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:595,1
    - Dst: key::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:595,1
    - Dst: nonce::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:596,1
    - Dst: tag::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:597,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:598,1
    - Dst: key::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:599,1
    - Dst: nonce::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:600,1
    - Dst: tag::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: crypto::tink::internal::SslOneShotAeadWycheproofTest::SetUp
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - tag::size
    - IsFipsModeEnabled
    - SslOneShotAeadWycheproofTestParams::key_sizes::contains
    - nonce::size
    - GTEST_SKIP
    - key::size
    - GetParam
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:607,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:609,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:611,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:612,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:612,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:614,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:616,1
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:617,1
    - Dst: msg::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:617,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:619,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:620,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:623,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:628,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:628,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:629,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:633,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:634,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:634,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:634,1
    - Dst: GTEST_SUCCEED
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - msg::size
    - EXPECT_EQ
    - IsOk
    - Not
    - absl::MakeSpan
    - ASSERT_THAT
    - Eq
    - CiphertextSize
    - crypto::tink::util::SecretDataFromStringView
    - util::StatusOr::ok
    - EXPECT_THAT
    - absl::StrCat
    - GTEST_SUCCEED
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - Encrypt
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadWycheproofTest, Encrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:642,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:644,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:646,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:647,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:647,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:649,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:651,1
    - Dst: PlaintextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:652,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:652,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:653,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:654,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:655,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:657,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:658,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:659,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:661,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:661,1
    - Dst: AllOf
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:661,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:661,1
    - Dst: Eq
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:661,1
    - Dst: nonce::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:663,1
    - Dst: tag::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:664,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:665,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 667
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - tag::size
    - ASSERT_THAT
    - absl::StrCat
    - Decrypt
    - util::SecretData::size
    - IsOk
    - Not
    - util::StatusOr::ok
    - EXPECT_THAT
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - absl::MakeSpan
    - EXPECT_EQ
    - nonce::size
    - crypto::tink::util::SecretDataFromStringView
    - Eq
    - AllOf
    - util::StatusOr::status
    - EXPECT_NE
    - std::string::size
    - PlaintextSize
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadWycheproofTest, Decrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ReadWycheproofTestVectors
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:672,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:673,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:679,1
    - Dst: crypto::tink::internal::ReadWycheproofTestVectors
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:681,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:682,1
    - Dst: crypto::tink::internal::ReadWycheproofTestVectors
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:689,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_test.cc:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 698
    functionName: crypto::tink::internal::GetWycheproofTestParams
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ReadWycheproofTestVectors
    - std::vector::push_back
    - crypto::tink::internal::IsBoringSsl
    linkageType: ''
    returnType: std::vector<SslOneShotAeadWycheproofTestParams>
    signature: std::vector<SslOneShotAeadWycheproofTestParams> GetWycheproofTestParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - partial_context
    - ' key'
    argTypes:
    - internal::SslUniquePtr<EVP_CIPHER_CTX>
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::CordAesGcmBoringSsl::CordAesGcmBoringSsl
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void CordAesGcmBoringSsl(\n      internal::SslUniquePtr<EVP_CIPHER_CTX>
      partial_context,\n      const util::SecretData& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:35,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:36,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:36,1
    - Dst: crypto::tink::internal::AeadFromZeroCopy::Encrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:37,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:38,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:38,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:39,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:40,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: crypto::tink::internal::AeadFromZeroCopy::Encrypt
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - std::string::resize
    - std::string::size
    - absl::MakeSpan
    - util::StatusOr::ok
    - crypto::tink::subtle::ResizeStringUninitialized
    - MaxEncryptionSize
    - crypto::tink::internal::AeadFromZeroCopy::Encrypt
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AeadFromZeroCopy::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:49,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:50,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:50,1
    - Dst: crypto::tink::internal::AeadFromZeroCopy::Decrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:51,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:52,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:52,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:53,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:54,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: crypto::tink::internal::AeadFromZeroCopy::Decrypt
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - std::string::resize
    - std::string::size
    - util::StatusOr::ok
    - crypto::tink::internal::AeadFromZeroCopy::Decrypt
    - MaxDecryptionSize
    - crypto::tink::subtle::ResizeStringUninitialized
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AeadFromZeroCopy::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:48,1
    - Dst: PrimitiveSet<ZeroCopyAead>*::get_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:51,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:52,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - PrimitiveSet<ZeroCopyAead>*
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: crypto::tink::internal::Validate
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<ZeroCopyAead>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<ZeroCopyAead>* aead_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<ZeroCopyAead>>
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::ZeroCopyAeadSetWrapper::ZeroCopyAeadSetWrapper
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ZeroCopyAeadSetWrapper(\n      std::unique_ptr<PrimitiveSet<ZeroCopyAead>>
      aead_set)"
  - 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: ~ZeroCopyAeadSetWrapper() override
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyAeadSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:80,1
    - Dst: get_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:82,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:83,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:84,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:84,1
    - Dst: crypto::tink::internal::ZeroCopyAeadSetWrapper::Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:88,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:89,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:90,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:90,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: crypto::tink::internal::ZeroCopyAeadSetWrapper::Encrypt
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_primary
    - absl::string_view::size
    - util::StatusOr::status
    - std::string::resize
    - absl::MakeSpan
    - util::StatusOr::ok
    - crypto::tink::subtle::ResizeStringUninitialized
    - MaxEncryptionSize
    - crypto::tink::internal::ZeroCopyAeadSetWrapper::Encrypt
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ZeroCopyAeadSetWrapper::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:98,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:100,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:100,1
    - Dst: get_primitives
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:102,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:104,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:106,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:106,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:106,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:109,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:111,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:112,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:112,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:113,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:114,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:115,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:116,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:125,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:126,1
    - Dst: get_primitive
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:128,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:130,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:131,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:131,1
    - Dst: crypto::tink::internal::ZeroCopyAeadSetWrapper::Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:133,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:133,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:134,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:135,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 142
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 142
    functionName: crypto::tink::internal::ZeroCopyAeadSetWrapper::Decrypt
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_primitive
    - get_raw_primitives
    - std::string
    - absl::string_view::size
    - crypto::tink::subtle::ResizeStringUninitialized
    - std::string::resize
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ZeroCopyAeadSetWrapper::Decrypt
    - get_primitives
    - absl::string_view::substr
    - util::StatusOr::ok
    - MaxDecryptionSize
    - std::string::size
    - absl::MakeSpan
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ZeroCopyAeadSetWrapper::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:148,1
    - Dst: std::unique_ptr<PrimitiveSet<ZeroCopyAead>>::get
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:148,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:149,1
    - Dst: absl::make_unique<ZeroCopyAeadSetWrapper>
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:151,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:151,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<ZeroCopyAead>>
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: crypto::tink::internal::ZeroCopyAeadWrapper::Wrap
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - absl::make_unique<ZeroCopyAeadSetWrapper>
    - std::move
    - std::unique_ptr<PrimitiveSet<ZeroCopyAead>>::get
    - Validate
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Aead>>
    signature: "util::StatusOr<std::unique_ptr<Aead>> ZeroCopyAeadWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<ZeroCopyAead>> aead_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockZeroCopyAead>
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:54,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:54,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:54,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:55,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:55,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:56,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:56,1
    - Dst: Invoke
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:57,1
    - Dst: memcpy
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:58,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:58,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:58,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:58,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:59,1
    - Dst: AeadFromZeroCopy::Encrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:63,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc
    functionUses: 0
    functionsReached:
    - AeadFromZeroCopy::Encrypt
    - size
    - EXPECT_EQ
    - IsOk
    - EXPECT_CALL
    - ASSERT_THAT
    - Encrypt
    - Invoke
    - std::make_unique<MockZeroCopyAead>
    - Return
    - MaxEncryptionSize
    - data
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(AeadFromZeroCopyTest, EncryptSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockZeroCopyAead>
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:70,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:70,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:70,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:71,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:71,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:72,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:72,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:74,1
    - Dst: Status
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:76,1
    - Dst: AeadFromZeroCopy::Encrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:76,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc
    functionUses: 0
    functionsReached:
    - AeadFromZeroCopy::Encrypt
    - size
    - EXPECT_CALL
    - Status
    - EXPECT_THAT
    - Encrypt
    - StatusIs
    - std::make_unique<MockZeroCopyAead>
    - Return
    - MaxEncryptionSize
    linkageType: ''
    returnType: void
    signature: void TEST(AeadFromZeroCopyTest, EncryptFailsIfZeroCopyEncryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockZeroCopyAead>
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:82,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:82,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:82,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:83,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:83,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:84,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:84,1
    - Dst: Invoke
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:85,1
    - Dst: memcpy
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:86,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:86,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:86,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:86,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:87,1
    - Dst: AeadFromZeroCopy::Decrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_EQ
    - IsOk
    - EXPECT_CALL
    - ASSERT_THAT
    - MaxDecryptionSize
    - Decrypt
    - Invoke
    - AeadFromZeroCopy::Decrypt
    - std::make_unique<MockZeroCopyAead>
    - Return
    - data
    - memcpy
    linkageType: ''
    returnType: void
    signature: void TEST(AeadFromZeroCopyTest, DecryptSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<MockZeroCopyAead>
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:97,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:98,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:98,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:98,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:99,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:100,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:100,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:102,1
    - Dst: Status
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:104,1
    - Dst: AeadFromZeroCopy::Decrypt
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc
    functionUses: 0
    functionsReached:
    - size
    - EXPECT_CALL
    - StatusIs
    - Status
    - EXPECT_THAT
    - MaxDecryptionSize
    - Decrypt
    - AeadFromZeroCopy::Decrypt
    - std::make_unique<MockZeroCopyAead>
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(AeadFromZeroCopyTest, EncryptFailsIfZeroCopyDecryptFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyAeadWrapper::Wrap
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:70,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:70,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:71,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyAeadWrapper::Wrap
    - StatusOr::status
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ZeroCopyAeadWrapperEmptyTest, Nullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyAeadWrapper::Wrap
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:77,1
    - Dst: absl::make_unique<PrimitiveSet<ZeroCopyAead>>
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:78,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:78,1
    - Dst: StatusIs
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:78,1
    - Dst: HasSubstr
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - ZeroCopyAeadWrapper::Wrap
    - StatusOr::status
    - absl::make_unique<PrimitiveSet<ZeroCopyAead>>
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ZeroCopyAeadWrapperEmptyTest, Empty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:87,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:88,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:89,1
    - Dst: PrimitiveSet<ZeroCopyAead>::PrimitiveSet<ZeroCopyAead>
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:94,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:95,1
    - Dst: crypto::tink::internal::ZeroCopyAeadWrapperTest::SetUpMockZeroCopyAead
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:97,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: crypto::tink::internal::ZeroCopyAeadWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::ZeroCopyAeadWrapperTest::SetUpMockZeroCopyAead
    - std::unique_ptr::set_primary
    - std::move
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo::set_key_id
    - ASSERT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - PrimitiveSet<ZeroCopyAead>::PrimitiveSet<ZeroCopyAead>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockZeroCopyAead>
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:105,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:107,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:107,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:107,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:108,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:108,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:109,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:109,1
    - Dst: Invoke
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:110,1
    - Dst: memcpy
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:111,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:111,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:111,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:111,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:112,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:114,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:114,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:114,1
    - Dst: Return
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:115,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:116,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:116,1
    - Dst: Invoke
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:117,1
    - Dst: std::memcpy
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:118,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:118,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:118,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:118,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 123
    functionName: crypto::tink::internal::ZeroCopyAeadWrapperTest::SetUpMockZeroCopyAead
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 1
    functionsReached:
    - size
    - EXPECT_CALL
    - Encrypt
    - Invoke
    - MaxDecryptionSize
    - Decrypt
    - std::memcpy
    - Return
    - MaxEncryptionSize
    - data
    - memcpy
    - absl::make_unique<MockZeroCopyAead>
    linkageType: ''
    returnType: std::unique_ptr<MockZeroCopyAead>
    signature: std::unique_ptr<MockZeroCopyAead> SetUpMockZeroCopyAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyAeadWrapper::Wrap
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:130,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:131,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:134,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ZeroCopyAeadWrapper::Wrap
    - IsOk
    - std::move
    - ASSERT_THAT
    - Decrypt
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAeadWrapperTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:142,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:144,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:146,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:146,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:147,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:149,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:151,1
    - Dst: get_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:152,1
    - Dst: std::memcpy
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:153,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:153,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:153,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:154,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:154,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:158,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:159,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:160,1
    - Dst: absl::make_unique<MockZeroCopyAead>
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:162,1
    - Dst: AddPrimitive
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:162,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:163,1
    - Dst: ZeroCopyAeadWrapper::Wrap
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:165,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:166,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - std::move
    - ASSERT_THAT
    - Encrypt
    - AddPrimitive
    - data
    - ZeroCopyAeadWrapper::Wrap
    - IsOk
    - crypto::tink::subtle::ResizeStringUninitialized
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - absl::MakeSpan
    - get_primary
    - size
    - EXPECT_EQ
    - KeysetInfo::KeyInfo::set_key_id
    - absl::make_unique<MockZeroCopyAead>
    - std::string::size
    - std::memcpy
    - MaxEncryptionSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAeadWrapperTest, EncryptMultipleKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:179,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:180,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:181,1
    - Dst: AddPrimitive
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:182,1
    - Dst: SetUpMockZeroCopyAead
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:184,1
    - Dst: set_primary
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:184,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:190,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:190,1
    - Dst: front
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:191,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:193,1
    - Dst: MaxEncryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:194,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:194,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:196,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:197,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:198,1
    - Dst: ZeroCopyAeadWrapper::Wrap
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:203,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:204,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:207,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:208,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:212,1
    - Dst: MaxDecryptionSize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:213,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:213,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:215,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:216,1
    - Dst: std::string::resize
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:218,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 224
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - std::move
    - ASSERT_THAT
    - MaxDecryptionSize
    - Decrypt
    - Encrypt
    - AddPrimitive
    - ZeroCopyAeadWrapper::Wrap
    - IsOk
    - set_primary
    - front
    - crypto::tink::subtle::ResizeStringUninitialized
    - KeysetInfo::KeyInfo::set_status
    - absl::MakeSpan
    - get_raw_primitives
    - SetUpMockZeroCopyAead
    - EXPECT_EQ
    - size
    - std::string::size
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - MaxEncryptionSize
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAeadWrapperTest, EncryptDecryptRawKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ZeroCopyAeadWrapper::Wrap
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:228,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:229,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:232,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:233,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ZeroCopyAeadWrapper::Wrap
    - IsOk
    - std::move
    - StatusOr::status
    - ASSERT_THAT
    - Decrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(ZeroCopyAeadWrapperTest, EncryptBadDecrypt)
  - 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: ~SslOneShotAead()
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SslOneShotAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:58,1
    - Dst: crypto::tink::internal::AddAeadV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:58,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:63,1
    - Dst: Get
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::AddAeadV0
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AeadV0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:68,1
    - Dst: crypto::tink::internal::AddAeadV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:68,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:74,1
    - Dst: crypto::tink::internal::AddAeadKeyGenV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:74,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:80,1
    - Dst: Get
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:80,1
    - Dst: AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:81,1
    - Dst: Get
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:81,1
    - Dst: AesEaxKeyManager
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:82,1
    - Dst: Get
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:82,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:83,1
    - Dst: Get
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:83,1
    - Dst: AesGcmSivKeyManager
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:84,1
    - Dst: Get
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:84,1
    - Dst: XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacAeadKeyManager
    - AesGcmKeyManager
    - IsOk
    - crypto::tink::internal::AddAeadV0
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - crypto::tink::internal::AddAeadKeyGenV0
    - AesGcmSivKeyManager
    - ASSERT_THAT
    - Get
    - AesEaxKeyManager
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - XChaCha20Poly1305KeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AeadV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:104,1
    - Dst: crypto::tink::internal::AddAeadKeyGenV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:106,1
    - Dst: crypto::tink::internal::AddAeadV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:106,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:109,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:110,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:114,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:119,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:119,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - IsOk
    - crypto::tink::internal::AddAeadV0
    - crypto::tink::internal::AddAeadKeyGenV0
    - ASSERT_THAT
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - GetParam
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_P(AeadV0KeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:124,1
    - Dst: crypto::tink::internal::AddAeadKeyGenV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:126,1
    - Dst: crypto::tink::internal::AddAeadV0
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:126,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:129,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:130,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:134,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:134,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:134,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:140,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:145,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:145,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/config_v0_test.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 146
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - IsOk
    - crypto::tink::internal::AddAeadV0
    - Not
    - crypto::tink::internal::AddAeadKeyGenV0
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - GetParam
    - Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_P(AeadV0BoringSslKeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:69,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:69,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:70,1
    - Dst: EVP_CipherUpdate
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:72,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:73,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:73,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:76,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - context
    - data
    - out
    argTypes:
    - EVP_CIPHER_CTX*
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::UpdateCipher
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - absl::Span<char>::data
    - absl::string_view::substr
    - absl::StrCat
    - EVP_CipherUpdate
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> UpdateCipher(EVP_CIPHER_CTX *context,\n                                     absl::string_view
      data,\n                                     absl::Span<char> out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key
    - cipher
    - tag_size
    argTypes:
    - util::SecretData
    - EVP_CIPHER*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::OpenSslOneShotAeadImpl
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void OpenSslOneShotAeadImpl(const util::SecretData &key,\n                                  const
      EVP_CIPHER *cipher, size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:96,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:97,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:100,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:101,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:103,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:104,1
    - Dst: BuffersOverlap
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:107,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:107,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:107,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:108,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:112,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:112,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:113,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:115,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:116,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:117,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:120,1
    - Dst: crypto::tink::internal::OpenSslOneShotAeadImpl::EncryptSensitive
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - plaintext
    - associated_data
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::Encrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - BuffersOverlap
    - std::numeric_limits<int>::max
    - crypto::tink::internal::CallWithCoreDumpProtection
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - absl::Span<char>::data
    - crypto::tink::internal::EnsureStringNonNull
    - absl::StrCat
    - crypto::tink::internal::OpenSslOneShotAeadImpl::EncryptSensitive
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> Encrypt(absl::string_view plaintext,\n                                  absl::string_view
      associated_data,\n                                  absl::string_view iv,\n
      \                                 absl::Span<char> out) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:128,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:130,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:131,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:133,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:134,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:138,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:139,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:141,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:142,1
    - Dst: BuffersOverlap
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:145,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:145,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:145,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:145,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:146,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:150,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:150,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:151,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:153,1
    - Dst: std::numeric_limits<int>::max
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:154,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:155,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:158,1
    - Dst: crypto::tink::internal::OpenSslOneShotAeadImpl::DecryptSensitive
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ciphertext
    - associated_data
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 160
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 160
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::Decrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - BuffersOverlap
    - std::numeric_limits<int>::max
    - crypto::tink::internal::CallWithCoreDumpProtection
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - absl::Span<char>::data
    - crypto::tink::internal::EnsureStringNonNull
    - absl::StrCat
    - crypto::tink::internal::OpenSslOneShotAeadImpl::DecryptSensitive
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> Decrypt(absl::string_view ciphertext,\n                                  absl::string_view
      associated_data,\n                                  absl::string_view iv,\n
      \                                 absl::Span<char> out) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plaintext_length
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::CiphertextSize
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CiphertextSize(int64_t plaintext_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ciphertext_length
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::PlaintextSize
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t PlaintextSize(int64_t ciphertext_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::OpenSslOneShotAeadImpl::GetContext
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:179,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:180,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:181,1
    - Dst: EVP_EncryptUpdate
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:186,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:186,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:187,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:187,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:188,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:189,1
    - Dst: UpdateCipher
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:194,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:194,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:195,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:196,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:199,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:199,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:200,1
    - Dst: absl::Span<char>::subspan
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:204,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:205,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:205,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:206,1
    - Dst: absl::Span::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:206,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - plaintext_data
    - ad
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 210
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 210
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::EncryptSensitive
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::OpenSslOneShotAeadImpl::GetContext
    - util::StatusOr::get
    - EVP_EncryptUpdate
    - absl::string_view::size
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - EVP_EncryptFinal_ex
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::subspan
    - EVP_CIPHER_CTX_ctrl
    - reinterpret_cast<uint8_t *>
    - absl::Span::data
    - util::StatusOr::ok
    - UpdateCipher
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<uint64_t>
    signature: "util::StatusOr<uint64_t> EncryptSensitive(absl::string_view plaintext_data,\n
      \                                           absl::string_view ad,\n                                            absl::string_view
      iv,\n                                            absl::Span<char> out) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::OpenSslOneShotAeadImpl::GetContext
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:217,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:218,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:219,1
    - Dst: EVP_DecryptUpdate
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:224,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:224,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:225,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:225,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:226,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:227,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:234,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:238,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:238,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:241,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:241,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:242,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:243,1
    - Dst: absl::Span<char>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:251,1
    - Dst: absl::Span<char>::empty
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:252,1
    - Dst: absl::Span<char>::subspan
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:254,1
    - Dst: absl::MakeCleanup
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:260,1
    - Dst: OPENSSL_cleanse
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:260,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:260,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:260,1
    - Dst: UpdateCipher
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:263,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:263,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:264,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:265,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:268,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:268,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:269,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - ciphertext
    - ad
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 275
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 275
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::DecryptSensitive
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - absl::Span<char>
    - std::move
    - OPENSSL_cleanse
    - crypto::tink::internal::OpenSslOneShotAeadImpl::GetContext
    - absl::MakeCleanup
    - std::string
    - util::StatusOr::ok
    - absl::string_view::substr
    - EVP_DecryptUpdate
    - UpdateCipher
    - absl::Span<char>::empty
    - reinterpret_cast<uint8_t *>
    - absl::Span<char>::size
    - absl::string_view::data
    - EVP_DecryptFinal_ex
    - util::StatusOr::get
    - absl::Span<char>::subspan
    - util::StatusOr::status
    - EVP_CIPHER_CTX_ctrl
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::data
    linkageType: ''
    returnType: util::StatusOr<uint64_t>
    signature: "util::StatusOr<uint64_t> DecryptSensitive(absl::string_view ciphertext,\n
      \                                           absl::string_view ad,\n                                            absl::string_view
      iv,\n                                            absl::Span<char> out) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:283,1
    - Dst: EVP_CipherInit_ex
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:287,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:287,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:290,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:292,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:296,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:296,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:296,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:298,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:300,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:300,1
    - Dst: EVP_CipherInit_ex
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:302,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:302,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:303,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:303,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:304,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:304,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:306,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:308,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:308,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:309,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - iv
    - encryption
    argTypes:
    - absl::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 313
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 313
    functionName: crypto::tink::internal::OpenSslOneShotAeadImpl::GetContext
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 2
    functionsReached:
    - absl::string_view::size
    - EVP_CIPHER_CTX_ctrl
    - reinterpret_cast<const uint8_t *>
    - size
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::StrCat
    - EVP_CipherInit_ex
    - absl::string_view::data
    - data
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<EVP_CIPHER_CTX>>
    signature: "util::StatusOr<internal::SslUniquePtr<EVP_CIPHER_CTX>> GetContext(\n
      \     absl::string_view iv, bool encryption) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - tag_size
    argTypes:
    - internal::SslUniquePtr<EVP_AEAD_CTX>
    - size_t
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::BoringSslOneShotAeadImpl
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void BoringSslOneShotAeadImpl(\n      internal::SslUniquePtr<EVP_AEAD_CTX>
      context, size_t tag_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:337,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:338,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:339,1
    - Dst: BuffersOverlap
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:341,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:341,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:341,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:341,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:342,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:347,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:348,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:350,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:351,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:354,1
    - Dst: crypto::tink::internal::BoringSslOneShotAeadImpl::EncryptSensitive
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - plaintext
    - associated_data
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 357
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 357
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::Encrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - BuffersOverlap
    - crypto::tink::internal::CallWithCoreDumpProtection
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::BoringSslOneShotAeadImpl::EncryptSensitive
    - absl::Span<char>::size
    - absl::Span<char>::data
    - crypto::tink::internal::EnsureStringNonNull
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> Encrypt(absl::string_view plaintext,\n                                  absl::string_view
      associated_data,\n                                  absl::string_view iv,\n
      \                                 absl::Span<char> out) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_AEAD_CTX_seal
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:364,1
    - Dst: get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:365,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:365,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:366,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:366,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:366,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:366,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:367,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:367,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:368,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:370,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:370,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:371,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:372,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:374,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - plaintext
    - associated_data
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::EncryptSensitive
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 1
    functionsReached:
    - EVP_AEAD_CTX_seal
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - reinterpret_cast<uint8_t *>
    - absl::StrCat
    - absl::string_view::data
    - get
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> EncryptSensitive(absl::string_view plaintext,\n
      \                                          absl::string_view associated_data,\n
      \                                          absl::string_view iv,\n                                           absl::Span<char>
      out) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:384,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:385,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:386,1
    - Dst: BuffersOverlap
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:388,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:388,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:388,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:388,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:389,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:393,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:394,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:396,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:397,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:401,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:402,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:404,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:405,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:408,1
    - Dst: crypto::tink::internal::BoringSslOneShotAeadImpl::DecryptSensitive
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - ciphertext
    - associated_data
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 411
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 411
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::Decrypt
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - BuffersOverlap
    - crypto::tink::internal::CallWithCoreDumpProtection
    - absl::string_view::size
    - crypto::tink::internal::BoringSslOneShotAeadImpl::DecryptSensitive
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - absl::Span<char>::data
    - crypto::tink::internal::EnsureStringNonNull
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> Decrypt(absl::string_view ciphertext,\n                                  absl::string_view
      associated_data,\n                                  absl::string_view iv,\n
      \                                 absl::Span<char> out) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::empty
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:422,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:423,1
    - Dst: EVP_AEAD_CTX_open
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:427,1
    - Dst: get
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:428,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:428,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:429,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:429,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:429,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:430,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:430,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:431,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:433,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:433,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:434,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:435,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:437,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ciphertext
    - associated_data
    - iv
    - out
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 441
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 441
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::DecryptSensitive
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 1
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - reinterpret_cast<uint8_t *>
    - absl::string_view::data
    - EVP_AEAD_CTX_open
    - absl::StrCat
    - absl::Span<char>::empty
    - get
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> DecryptSensitive(absl::string_view ciphertext,\n
      \                                          absl::string_view associated_data,\n
      \                                          absl::string_view iv,\n                                           absl::Span<char>
      out) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plaintext_length
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::CiphertextSize
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t CiphertextSize(int64_t plaintext_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ciphertext_length
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: crypto::tink::internal::BoringSslOneShotAeadImpl::PlaintextSize
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t PlaintextSize(int64_t ciphertext_length) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmAeadForKeySize
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:467,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:467,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:468,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:469,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:473,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:474,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:474,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:474,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:478,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:480,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:480,1
    - Dst: absl::make_unique<BoringSslOneShotAeadImpl>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:482,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:482,1
    - Dst: crypto::tink::internal::GetAesGcmCipherForKeySize
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:486,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:486,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:487,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:488,1
    - Dst: absl::make_unique<OpenSslOneShotAeadImpl>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 494
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 494
    functionName: crypto::tink::internal::CreateAesGcmOneShotCrypter
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - util::StatusOr::status
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - absl::make_unique<BoringSslOneShotAeadImpl>
    - std::move
    - absl::make_unique<OpenSslOneShotAeadImpl>
    - EVP_AEAD_CTX_new
    - util::StatusOr::ok
    - util::SecretData::data
    - util::SecretData::size
    - absl::StrCat
    - crypto::tink::internal::GetAesGcmCipherForKeySize
    - crypto::tink::internal::GetAesGcmAeadForKeySize
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SslOneShotAead>>
    signature: "util::StatusOr<std::unique_ptr<SslOneShotAead>> CreateAesGcmOneShotCrypter(\n
      \   const util::SecretData &key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmSivAeadCipherForKeySize
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:500,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:500,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:501,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:502,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:505,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:506,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:506,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:506,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:510,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:511,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:512,1
    - Dst: absl::make_unique<BoringSslOneShotAeadImpl>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:514,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:515,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 520
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 520
    functionName: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::CallWithCoreDumpProtection
    - util::StatusOr::status
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - absl::make_unique<BoringSslOneShotAeadImpl>
    - std::move
    - EVP_AEAD_CTX_new
    - crypto::tink::internal::GetAesGcmSivAeadCipherForKeySize
    - util::StatusOr::ok
    - util::SecretData::data
    - util::SecretData::size
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SslOneShotAead>>
    signature: "util::StatusOr<std::unique_ptr<SslOneShotAead>> CreateAesGcmSivOneShotCrypter(\n
      \   const util::SecretData &key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:525,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:526,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:528,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:529,1
    - Dst: crypto::tink::internal::CallWithCoreDumpProtection
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:533,1
    - Dst: EVP_AEAD_CTX_new
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:534,1
    - Dst: EVP_aead_xchacha20_poly1305
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:534,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:534,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:535,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:538,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:539,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:540,1
    - Dst: absl::make_unique<BoringSslOneShotAeadImpl>
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:542,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:543,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead.cc:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 548
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 548
    functionName: crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead.cc
    functionUses: 4
    functionsReached:
    - EVP_aead_xchacha20_poly1305
    - crypto::tink::internal::CallWithCoreDumpProtection
    - crypto::tink::internal::GetSslErrors
    - crypto::tink::internal::ExtractStatus
    - absl::make_unique<BoringSslOneShotAeadImpl>
    - std::move
    - EVP_AEAD_CTX_new
    - util::SecretData::data
    - absl::StrCat
    - util::SecretData::size
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SslOneShotAead>>
    signature: util::StatusOr<std::unique_ptr<SslOneShotAead>> CreateXchacha20Poly1305OneShotCrypter(const
      util::SecretData &key)
  - 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: ~ZeroCopyAead()
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aead.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ZeroCopyAead()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:52,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:54,1
    - Dst: EVP_CipherInit_ex
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:58,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:62,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - context
    - iv
    - encryption
    argTypes:
    - EVP_CIPHER_CTX*
    - absl::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::SetIvAndDirection
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - EVP_CIPHER_CTX_ctrl
    - crypto::tink::internal::ExtractStatus
    - EVP_CipherInit_ex
    - crypto::tink::util::OkStatus
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SetIvAndDirection(EVP_CIPHER_CTX* context, absl::string_view
      iv,\n                               bool encryption)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:76,1
    - Dst: EVP_CIPHER_CTX_copy
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:87,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:88,1
    - Dst: crypto::tink::internal::SetIvAndDirection
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:92,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:92,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:93,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - partial_context
    - iv
    - encryption
    argTypes:
    - EVP_CIPHER_CTX*
    - absl::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::NewContextFromPartial
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - EVP_CIPHER_CTX_copy
    - std::move
    - crypto::tink::internal::SetIvAndDirection
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<EVP_CIPHER_CTX>>
    signature: "util::StatusOr<internal::SslUniquePtr<EVP_CIPHER_CTX>> NewContextFromPartial(\n
      \   EVP_CIPHER_CTX* partial_context, absl::string_view iv, bool encryption)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:111,1
    - Dst: crypto::tink::internal::GetAesGcmCipherForKeySize
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:115,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:115,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:116,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:117,1
    - Dst: EVP_CipherInit_ex
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:119,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:119,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:120,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:120,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:122,1
    - Dst: crypto::tink::internal::SetIvAndDirection
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:126,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:126,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' key'
    - iv
    - encryption
    argTypes:
    - util::SecretData
    - absl::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 131
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 131
    functionName: crypto::tink::internal::NewContext
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - std::move
    - util::StatusOr::ok
    - data
    - crypto::tink::internal::SetIvAndDirection
    - EVP_CipherInit_ex
    - crypto::tink::internal::GetAesGcmCipherForKeySize
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::StatusOr<internal::SslUniquePtr<EVP_CIPHER_CTX>>
    signature: "util::StatusOr<internal::SslUniquePtr<EVP_CIPHER_CTX>> NewContext(\n
      \   const util::SecretData& key, absl::string_view iv, bool encryption)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmCipherForKeySize
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:139,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:139,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:140,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:141,1
    - Dst: EVP_CipherInit_ex
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:153,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:153,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:154,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:156,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:160,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:161,1
    - Dst: CordAesGcmBoringSsl::CordAesGcmBoringSsl
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:161,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_value'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: crypto::tink::internal::CordAesGcmBoringSsl::New
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
    functionUses: 4
    functionsReached:
    - util::StatusOr::status
    - size
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - util::StatusOr::ok
    - EVP_CipherInit_ex
    - crypto::tink::internal::GetAesGcmCipherForKeySize
    - reinterpret_cast<const uint8_t*>
    - CordAesGcmBoringSsl::CordAesGcmBoringSsl
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<CordAead>>
    signature: "util::StatusOr<std::unique_ptr<CordAead>> CordAesGcmBoringSsl::New(\n
      \   const util::SecretData& key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:167,1
    - Dst: NewContextFromPartial
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:171,1
    - Dst: get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:171,1
    - Dst: NewContext
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:174,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:177,1
    - Dst: absl::Cord::Chunks
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:182,1
    - Dst: EVP_EncryptUpdate
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:183,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:183,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:184,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:184,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:185,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:186,1
    - Dst: absl::MakeCordFromExternal
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:191,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:192,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:192,1
    - Dst: std::allocator<char>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:193,1
    - Dst: const_cast<char*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:193,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:193,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:194,1
    - Dst: absl::Cord::Chunks
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:198,1
    - Dst: EVP_EncryptUpdate
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:199,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:200,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:201,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:202,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:202,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:203,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:204,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:206,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:208,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:208,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:209,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:213,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:214,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:214,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:216,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:217,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:222,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:223,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::Cord
    - absl::Cord
    constantsTouched: []
    func_position:
      end: 226
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 226
    functionName: crypto::tink::internal::CordAesGcmBoringSsl::Encrypt
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached:
    - NewContext
    - NewContextFromPartial
    - data
    - absl::string_view
    - util::StatusOr::ok
    - std::allocator<char>
    - crypto::tink::subtle::ResizeStringUninitialized
    - crypto::tink::subtle::Random::GetRandomBytes
    - EVP_EncryptUpdate
    - size
    - absl::MakeCordFromExternal
    - absl::Cord::Chunks
    - get
    - util::StatusOr::get
    - EVP_EncryptFinal_ex
    - const_cast<char*>
    - util::StatusOr::status
    - EVP_CIPHER_CTX_ctrl
    - crypto::tink::internal::ExtractStatus
    - absl::Cord::size
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<const uint8_t*>
    - absl::Cord::Append
    linkageType: ''
    returnType: util::StatusOr<absl::Cord>
    signature: "util::StatusOr<absl::Cord> CordAesGcmBoringSsl::Encrypt(\n    absl::Cord
      plaintext, absl::Cord associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:230,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:231,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:235,1
    - Dst: absl::Cord::Subcord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:235,1
    - Dst: absl::Cord::Subcord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:236,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:237,1
    - Dst: NewContextFromPartial
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:241,1
    - Dst: get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:241,1
    - Dst: NewContext
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:244,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:246,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:247,1
    - Dst: absl::Cord::Chunks
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:252,1
    - Dst: EVP_DecryptUpdate
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:253,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:253,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:254,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:254,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:255,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:256,1
    - Dst: absl::MakeCordFromExternal
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:264,1
    - Dst: absl::string_view
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:265,1
    - Dst: std::allocator<char>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:267,1
    - Dst: const_cast<char*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:267,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:267,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:268,1
    - Dst: absl::Cord::Chunks
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:271,1
    - Dst: EVP_DecryptUpdate
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:272,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:272,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:273,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:276,1
    - Dst: data
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:276,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:277,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:278,1
    - Dst: size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:280,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:284,1
    - Dst: absl::Cord::Subcord
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:285,1
    - Dst: absl::Cord::size
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:285,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:287,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:287,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:289,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:293,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:293,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::Cord
    - absl::Cord
    constantsTouched: []
    func_position:
      end: 297
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 297
    functionName: crypto::tink::internal::CordAesGcmBoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached:
    - NewContext
    - NewContextFromPartial
    - data
    - absl::string_view
    - std::string
    - util::StatusOr::ok
    - std::allocator<char>
    - EVP_DecryptUpdate
    - size
    - absl::MakeCordFromExternal
    - absl::Cord::Chunks
    - absl::Cord::Subcord
    - get
    - EVP_DecryptFinal_ex
    - util::StatusOr::get
    - const_cast<char*>
    - util::StatusOr::status
    - EVP_CIPHER_CTX_ctrl
    - crypto::tink::internal::ExtractStatus
    - absl::Cord::size
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: util::StatusOr<absl::Cord>
    signature: "util::StatusOr<absl::Cord> CordAesGcmBoringSsl::Decrypt(\n    absl::Cord
      ciphertext, absl::Cord associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmCipherForKeySize
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:39,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:39,1
    - Dst: EVP_aes_128_gcm
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:39,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:41,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:41,1
    - Dst: EVP_aes_256_gcm
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:41,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:43,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:43,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_util_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - IsOkAndHolds
    - EXPECT_THAT
    - crypto::tink::internal::GetAesGcmCipherForKeySize
    - EVP_aes_128_gcm
    - EVP_aes_256_gcm
    linkageType: ''
    returnType: void
    signature: void TEST(AeadUtilTest, GetAesGcmCipherForKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:49,1
    - Dst: crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:49,1
    - Dst: IsTrue
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:51,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:52,1
    - Dst: crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:52,1
    - Dst: IsFalse
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
    - IsTrue
    - EXPECT_THAT
    - IsFalse
    linkageType: ''
    returnType: void
    signature: void TEST(AeadUtilTest, SupportedKmsEnvelopeAeadDekKeyTypes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmAeadForKeySize
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:63,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:63,1
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:65,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:65,1
    - Dst: EVP_aead_aes_256_gcm
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:67,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_util_test.cc
    functionUses: 0
    functionsReached:
    - EVP_aead_aes_128_gcm
    - Not
    - IsOk
    - IsOkAndHolds
    - EXPECT_THAT
    - EVP_aead_aes_256_gcm
    - crypto::tink::internal::GetAesGcmAeadForKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(AeadUtilTest, GetAesAeadForKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::GetAesGcmSivAeadCipherForKeySize
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:77,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:77,1
    - Dst: EVP_aead_aes_128_gcm_siv
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:79,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:79,1
    - Dst: EVP_aead_aes_256_gcm_siv
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:81,1
    - Dst: Not
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/aead_util_test.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/aead/internal/aead_util_test.cc
    functionUses: 0
    functionsReached:
    - EVP_aead_aes_128_gcm_siv
    - Not
    - IsOk
    - crypto::tink::internal::GetAesGcmSivAeadCipherForKeySize
    - IsOkAndHolds
    - EXPECT_THAT
    - EVP_aead_aes_256_gcm_siv
    linkageType: ''
    returnType: void
    signature: void TEST(AeadUtilTest, GetAesGcmSivAeadCipherForKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/aead/internal/config_v0.cc:35,1
    - Dst: absl::make_unique<AeadWrapper>
      Src: /src/tink/cc/aead/internal/config_v0.cc:36,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/config_v0.cc:37,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/config_v0.cc:41,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/aead/internal/config_v0.cc:42,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/config_v0.cc:43,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/config_v0.cc:46,1
    - Dst: absl::make_unique<AesEaxKeyManager>
      Src: /src/tink/cc/aead/internal/config_v0.cc:47,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/config_v0.cc:48,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/config_v0.cc:51,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/aead/internal/config_v0.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/config_v0.cc:53,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/config_v0.cc:56,1
    - Dst: absl::make_unique<AesGcmSivKeyManager>
      Src: /src/tink/cc/aead/internal/config_v0.cc:57,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/config_v0.cc:58,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/aead/internal/config_v0.cc:61,1
    - Dst: absl::make_unique<XChaCha20Poly1305KeyManager>
      Src: /src/tink/cc/aead/internal/config_v0.cc:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: crypto::tink::internal::AddAeadV0
    functionSourceFile: /src/tink/cc/aead/internal/config_v0.cc
    functionUses: 6
    functionsReached:
    - util::Status::ok
    - absl::make_unique<AesGcmSivKeyManager>
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - absl::make_unique<AesGcmKeyManager>
    - absl::make_unique<AeadWrapper>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<XChaCha20Poly1305KeyManager>
    - absl::make_unique<AesEaxKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddAeadV0(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:77,1
    - Dst: crypto::tink::internal::CreateAesGcmSivOneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:80,1
    - Dst: crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:83,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:85,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cipher
    - ' key'
    argTypes:
    - absl::string_view
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: crypto::tink::internal::CipherFromName
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc
    functionUses: 11
    functionsReached:
    - crypto::tink::internal::CreateAesGcmSivOneShotCrypter
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
    - absl::StrCat
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<SslOneShotAead>>
    signature: "util::StatusOr<std::unique_ptr<SslOneShotAead>> CipherFromName(\n
      \   absl::string_view cipher, const util::SecretData& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsWindows
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:93,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:94,1
    - Dst: GetParam
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:100,1
    - Dst: crypto::tink::internal::CipherFromName
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:101,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:102,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:104,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:106,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:109,1
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:110,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:110,1
    - Dst: ASSERT_GE
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:113,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:113,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:113,1
    - Dst: Encrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:114,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:117,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:117,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:121,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:121,1
    - Dst: Decrypt
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:122,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:125,1
    - Dst: std::string::size
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - crypto::tink::internal::IsWindows
    - std::string::size
    - ASSERT_GE
    - absl::MakeSpan
    - ASSERT_THAT
    - CiphertextSize
    - crypto::tink::util::SecretDataFromStringView
    - absl::HexStringToBytes
    - GTEST_SKIP
    - Decrypt
    - crypto::tink::subtle::ResizeStringUninitialized
    - GetParam
    - Encrypt
    - crypto::tink::internal::CipherFromName
    linkageType: ''
    returnType: void
    signature: void TEST_P(SslOneShotAeadLargeInputsTest, EncryptDecryptLargeInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:139,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:140,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:144,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 155
    functionName: crypto::tink::internal::GetTestParams
    functionSourceFile: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - crypto::tink::internal::IsBoringSsl
    linkageType: ''
    returnType: std::vector<TestParams>
    signature: std::vector<TestParams> GetTestParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::CreateAesGcmOneShotCrypter
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:49,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:50,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:51,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:53,1
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:53,1
    - Dst: ZeroCopyAesGcmBoringSsl::ZeroCopyAesGcmBoringSsl
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc
    functionUses: 3
    functionsReached:
    - util::StatusOr::status
    - std::move
    - absl::WrapUnique
    - util::StatusOr::ok
    - ZeroCopyAesGcmBoringSsl::ZeroCopyAesGcmBoringSsl
    - crypto::tink::internal::CreateAesGcmOneShotCrypter
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ZeroCopyAead>>
    signature: "util::StatusOr<std::unique_ptr<ZeroCopyAead>> ZeroCopyAesGcmBoringSsl::New(\n
      \   const util::SecretData &key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CiphertextSize
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - plaintext_size
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::MaxEncryptionSize
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached:
    - CiphertextSize
    linkageType: ''
    returnType: int64_t
    signature: "int64_t ZeroCopyAesGcmBoringSsl::MaxEncryptionSize(\n    int64_t plaintext_size)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:65,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:66,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:68,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:69,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:71,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:71,1
    - Dst: BuffersOverlap
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:73,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:79,1
    - Dst: absl::Span<char>::subspan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:79,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:80,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:83,1
    - Dst: absl::Span<char>::subspan
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:84,1
    - Dst: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Encrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:87,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:88,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - plaintext
    - associated_data
    - buffer
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 92
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 92
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Encrypt
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Encrypt
    - BuffersOverlap
    - absl::Span<char>::subspan
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - absl::Span<char>::data
    - absl::string_view::substr
    - util::StatusOr::ok
    - absl::StrCat
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> ZeroCopyAesGcmBoringSsl::Encrypt(\n    absl::string_view
      plaintext, absl::string_view associated_data,\n    absl::Span<char> buffer)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ciphertext_size
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::MaxDecryptionSize
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t ZeroCopyAesGcmBoringSsl::MaxDecryptionSize(\n    int64_t ciphertext_size)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:110,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:111,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:115,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:116,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:118,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:119,1
    - Dst: absl::Span<char>::data
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:122,1
    - Dst: absl::Span<char>::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:122,1
    - Dst: BuffersOverlap
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:123,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:124,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:129,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:131,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:131,1
    - Dst: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Decrypt
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ciphertext
    - associated_data
    - buffer
    argTypes:
    - absl::string_view
    - absl::string_view
    - absl::Span<char>
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Decrypt
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc
    functionUses: 1
    functionsReached:
    - BuffersOverlap
    - absl::string_view::size
    - crypto::tink::internal::ExtractStatus
    - absl::Span<char>::size
    - absl::Span<char>::data
    - absl::string_view::substr
    - absl::StrCat
    - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Decrypt
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: "util::StatusOr<int64_t> ZeroCopyAesGcmBoringSsl::Decrypt(\n    absl::string_view
      ciphertext, absl::string_view associated_data,\n    absl::Span<char> buffer)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::WycheproofUtil::ReadTestVectors
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:35,1
    - Dst: std::string
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:35,1
    - Dst: GetArray
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:37,1
    - Dst: GetArray
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:38,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:39,1
    - Dst: GetString
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:40,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:41,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:42,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:43,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:44,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:45,1
    - Dst: crypto::tink::subtle::WycheproofUtil::GetBytes
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:46,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:47,1
    - Dst: GetInt
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:47,1
    - Dst: GetString
      Src: /src/tink/cc/aead/internal/wycheproof_aead.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: crypto::tink::internal::ReadWycheproofTestVectors
    functionSourceFile: /src/tink/cc/aead/internal/wycheproof_aead.cc
    functionUses: 1
    functionsReached:
    - GetArray
    - std::string
    - GetInt
    - std::vector::push_back
    - GetString
    - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
    - absl::StrCat
    - crypto::tink::subtle::WycheproofUtil::GetBytes
    linkageType: ''
    returnType: std::vector<WycheproofTestVector>
    signature: "std::vector<WycheproofTestVector> ReadWycheproofTestVectors(\n    absl::string_view
      file_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead
    argTypes:
    - std::unique_ptr<SslOneShotAead>
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::ZeroCopyAesGcmBoringSsl::ZeroCopyAesGcmBoringSsl
    functionSourceFile: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void ZeroCopyAesGcmBoringSsl(std::unique_ptr<SslOneShotAead> aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/aead/internal/aead_from_zero_copy.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead
    argTypes:
    - std::unique_ptr<ZeroCopyAead>
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: crypto::tink::internal::AeadFromZeroCopy::AeadFromZeroCopy
    functionSourceFile: /src/tink/cc/aead/internal/aead_from_zero_copy.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AeadFromZeroCopy(std::unique_ptr<ZeroCopyAead> aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/signature/ed25519_parameters.cc:31,1
    - Dst: std::set*::find
      Src: /src/tink/cc/signature/ed25519_parameters.cc:33,1
    - Dst: std::set*::end
      Src: /src/tink/cc/signature/ed25519_parameters.cc:33,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_parameters.cc:34,1
    - Dst: crypto::tink::Ed25519Parameters::Ed25519Parameters
      Src: /src/tink/cc/signature/ed25519_parameters.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: crypto::tink::Ed25519Parameters::Create
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::Ed25519Parameters::Ed25519Parameters
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    linkageType: ''
    returnType: util::StatusOr<Ed25519Parameters>
    signature: util::StatusOr<Ed25519Parameters> Ed25519Parameters::Create(Variant
      variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Ed25519Parameters*>
      Src: /src/tink/cc/signature/ed25519_parameters.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: Ed25519Parameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Ed25519Parameters*>
    linkageType: ''
    returnType: bool
    signature: bool Ed25519Parameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:58,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:59,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:61,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Ed25519SignKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:66,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:66,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Ed25519KeyFormat
    - EXPECT_THAT
    - Ed25519SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:72,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:73,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:76,1
    - Dst: Ed25519PrivateKey::version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:78,1
    - Dst: Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:78,1
    - Dst: Ed25519PrivateKey::version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:80,1
    - Dst: Ed25519PrivateKey::key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:80,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:81,1
    - Dst: Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:81,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey::version
    - SizeIs
    - Ed25519PrivateKey::public_key
    - IsOk
    - StatusOr::value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - Ed25519KeyFormat
    - EXPECT_THAT
    - Eq
    - Ed25519PrivateKey::key_value
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:86,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:86,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:88,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:88,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - Ed25519KeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:96,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:97,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:98,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:100,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - absl::flat_hash_set::insert
    - IsOk
    - StatusOr::value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - Ed25519KeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, CreateKeyAlwaysNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:105,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:106,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:108,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:110,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:111,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:112,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:112,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:113,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - Ed25519KeyFormat
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:118,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:119,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:120,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:124,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:127,1
    - Dst: Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey::public_key
    - IsOk
    - StatusOr::value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - Ed25519KeyFormat
    - auto::value
    - EXPECT_THAT
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:139,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:140,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:141,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:145,1
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:153,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:153,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:154,1
    - Dst: Not
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::value
    - Not
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - Ed25519KeyFormat
    - auto::value
    - EXPECT_THAT
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, CreateDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:162,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:167,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:167,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - StatusOr::value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:175,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:178,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:180,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:183,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:186,1
    - Dst: Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:188,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 189
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - Ed25519PrivateKey::public_key
    - IsOk
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - auto::value
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, DeriveKeySignVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:197,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:197,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - test::StatusIs
    - Ed25519SignKeyManager
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::RsaSsaPssSignKeyManager::RsaSsaPssSignKeyManager
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssSignKeyManager()
  - 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: crypto::tink::RsaSsaPssSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RsaSsaPssSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: crypto::tink::RsaSsaPssSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::RsaSsaPssPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::RsaSsaPssPublicKey>
      GetPublicKey(const google::crypto::tink::RsaSsaPssPrivateKey& private_key)\n
      \     const override"
  - 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: crypto::tink::RsaSsaPssSignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:97,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:106,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:109,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:111,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:111,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:114,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:116,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:119,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:119,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:120,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:122,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:126,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:127,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:128,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:128,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:129,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:130,1
    - Dst: util::StatusOr::GetPrivateKeyValue
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:130,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:130,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - IsOk
    - EXPECT_THAT
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::internal::NewEcKey
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPrivateKeyValue
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - RestrictedBigInteger
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaPrivateKeyTest, CreatePrivateKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:135,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:144,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:147,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:149,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:149,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:152,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:154,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:157,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:160,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:160,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:163,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:163,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:164,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:166,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - RestrictedBigInteger
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaPrivateKeyTest, CreateMismatchedKeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:171,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:180,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:183,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:185,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:185,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:188,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:190,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:193,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:193,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:194,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:196,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:198,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:200,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:202,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 208
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - RestrictedBigInteger
    - crypto::tink::util::SecretDataAsStringView
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaPrivateKeyTest, PrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:218,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:222,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:224,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:224,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:227,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:229,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:232,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:234,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:237,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:237,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:238,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:240,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:242,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:244,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:248,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:249,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:250,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 252
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - RestrictedBigInteger
    - crypto::tink::util::SecretDataAsStringView
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:262,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:266,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:268,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:268,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:271,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:273,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:276,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:276,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:277,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:279,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:283,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:284,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:285,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_private_key_test.cc:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 287
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - RestrictedBigInteger
    - crypto::tink::util::SecretDataAsStringView
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPrivateKeyTest, DifferentKeyTypesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/signature_private_key.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: crypto::tink::SignaturePrivateKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/signature/signature_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/signature_private_key.h: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: crypto::tink::SignaturePrivateKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/signature/signature_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/signature_private_key.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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/signature/signature_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: SignatureParameters
    signature: SignatureParameters & GetParameters() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:43,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:45,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:50,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:54,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:54,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:55,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:58,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:61,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:61,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:64,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:66,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - RsaSsaPkcs1Parameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const RsaSsaPkcs1Parameters&
      parameters,\n    absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:75,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:76,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:81,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:82,1
    - Dst: SizeInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:89,1
    - Dst: GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:90,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:92,1
    - Dst: GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:93,1
    - Dst: SizeInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:94,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:98,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:99,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:100,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' modulus'
    - id_requirement
    - token
    argTypes:
    - RsaSsaPkcs1Parameters
    - BigInteger
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: crypto::tink::RsaSsaPkcs1PublicKey::Create
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
    - SizeInBytes
    - util::StatusOr::ok
    - absl::StrFormat
    - absl::optional<int>::has_value
    - GetModulusSizeInBits
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1PublicKey>
    signature: "util::StatusOr<RsaSsaPkcs1PublicKey> RsaSsaPkcs1PublicKey::Create(\n
      \   const RsaSsaPkcs1Parameters& parameters, const BigInteger& modulus,\n    absl::optional<int>
      id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RsaSsaPkcs1PublicKey*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:109,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:113,1
    - Dst: RsaSsaPkcs1PublicKey*::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: RsaSsaPkcs1PublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1PublicKey*::GetParameters
    - GetParameters
    - dynamic_cast<const RsaSsaPkcs1PublicKey*>
    linkageType: ''
    returnType: bool
    signature: bool RsaSsaPkcs1PublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:51,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:51,1
    - Dst: x
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:52,1
    - Dst: y
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:53,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:54,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:55,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:55,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:56,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:56,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:57,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:57,1
    - Dst: std::move
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:58,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' ecdsa_public_key'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: "EcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      EcdsaPublicKey& ecdsa_public_key) const"
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - x
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - y
    - std::move
    - params
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> EcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const EcdsaPublicKey& ecdsa_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:62,1
    - Dst: ToStatusF
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:67,1
    - Dst: encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:68,1
    - Dst: curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:70,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:75,1
    - Dst: Status
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:76,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:82,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:83,1
    - Dst: Status
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:84,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:89,1
    - Dst: Status
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:90,1
    - Dst: Status
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:95,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - EcdsaParams
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: crypto::tink::EcdsaVerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - encoding
    - ToStatusF
    - Status
    - crypto::tink::util::OkStatus
    - curve
    - hash_type
    linkageType: ''
    returnType: Status
    signature: Status EcdsaVerifyKeyManager::ValidateParams(const EcdsaParams& params)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:102,1
    - Dst: version
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:102,1
    - Dst: crypto::tink::EcdsaVerifyKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:102,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:103,1
    - Dst: crypto::tink::EcdsaVerifyKeyManager::ValidateParams
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:104,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: crypto::tink::EcdsaVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ValidateVersion
    - crypto::tink::EcdsaVerifyKeyManager::ValidateParams
    - params
    - version
    - crypto::tink::EcdsaVerifyKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: Status EcdsaVerifyKeyManager::ValidateKey(const EcdsaPublicKey& key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:49,1
    - Dst: PrimitiveSet<PublicKeySign>*::get_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:53,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - public_key_sign_set
    argTypes:
    - PrimitiveSet<PublicKeySign>*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<PublicKeySign>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<PublicKeySign>* public_key_sign_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - public_key_sign_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<PublicKeySign>>
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: crypto::tink::PublicKeySignSetWrapper::PublicKeySignSetWrapper
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PublicKeySignSetWrapper(\n      std::unique_ptr<PrimitiveSet<PublicKeySign>>
      public_key_sign_set,\n      std::unique_ptr<MonitoringClient> monitoring_sign_client
      = nullptr)"
  - 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: ~PublicKeySignSetWrapper() override
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PublicKeySignSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:81,1
    - Dst: get_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:83,1
    - Dst: auto::get_output_prefix_type
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:85,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:86,1
    - Dst: std::string::append
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:87,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:90,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:91,1
    - Dst: LogFailure
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:93,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:95,1
    - Dst: Log
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:98,1
    - Dst: get_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:99,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:99,1
    - Dst: auto::get_identifier
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: crypto::tink::PublicKeySignSetWrapper::Sign
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - get_primary
    - std::string
    - auto::ok
    - LogFailure
    - absl::string_view::size
    - auto::get_primitive
    - auto::get_output_prefix_type
    - std::string::append
    - auto::get_identifier
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - Log
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> PublicKeySignSetWrapper::Sign(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:109,1
    - Dst: std::unique_ptr<PrimitiveSet<PublicKeySign>>::get
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:109,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:110,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:113,1
    - Dst: absl::make_unique<PublicKeySignSetWrapper>
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:118,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:118,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:122,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:123,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:124,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:128,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:129,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:130,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:131,1
    - Dst: absl::make_unique<PublicKeySignSetWrapper>
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:134,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:135,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - primitive_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<PublicKeySign>>
    constantsTouched: []
    func_position:
      end: 136
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 136
    functionName: crypto::tink::PublicKeySignWrapper::Wrap
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - internal::RegistryImpl::GlobalInstance
    - std::unique_ptr<PrimitiveSet<PublicKeySign>>::get
    - util::StatusOr::ok
    - absl::make_unique<PublicKeySignSetWrapper>
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> PublicKeySignWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<PublicKeySign>> primitive_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:121,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base64_string
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: crypto::tink::Base64WebSafeDecode
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string Base64WebSafeDecode(absl::string_view base64_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:129,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:129,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:130,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:132,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:132,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:133,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:135,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:135,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:136,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:138,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:138,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:139,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:141,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:141,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:142,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:144,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:144,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: crypto::tink::GetValidPrivateValues
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - RestrictedBigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: PrivateValues
    signature: PrivateValues GetValidPrivateValues()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:150,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:156,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:156,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:160,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:162,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: crypto::tink::GetValidPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - CHECK_OK
    linkageType: ''
    returnType: RsaSsaPkcs1PublicKey
    signature: RsaSsaPkcs1PublicKey GetValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: crypto::tink::FlipFirstByte
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FlipFirstByte(absl::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:195,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:204,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:208,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:211,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:213,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:215,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:226,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:226,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:227,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:227,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:228,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:228,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:229,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:229,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:230,1
    - Dst: util::StatusOr::GetPrimeP
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:230,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:230,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:232,1
    - Dst: util::StatusOr::GetPrimeQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:232,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:232,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:234,1
    - Dst: util::StatusOr::GetPrimeExponentP
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:234,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:235,1
    - Dst: util::StatusOr::GetPrimeExponentQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:235,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:236,1
    - Dst: util::StatusOr::GetCrtCoefficient
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:236,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:236,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:237,1
    - Dst: util::StatusOr::GetPrivateExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:237,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 238
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::GetValidPrivateValues
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - util::StatusOr::GetPrivateExponent
    - IsOk
    - util::StatusOr::GetPrimeExponentP
    - util::StatusOr::GetPrimeExponentQ
    - util::StatusOr::GetCrtCoefficient
    - EXPECT_THAT
    - GetParam
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPrimeP
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - util::StatusOr::GetPrimeQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:242,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:242,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:246,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:249,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:249,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:249,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:249,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:250,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:253,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:253,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:254,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:254,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:255,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:255,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:258,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:259,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:261,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:262,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:264,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:265,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:267,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:268,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:270,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:271,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:273,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:274,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:276,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:277,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:279,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:280,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:283,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:285,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:289,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:292,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:292,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:295,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:298,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:301,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:301,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:303,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:303,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:305,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:305,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:307,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:307,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:309,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:309,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:311,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:311,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:315,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:315,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:316,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:316,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:316,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:317,1
    - Dst: util::StatusOr::GetPrimeP
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:317,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:317,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:318,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:319,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:320,1
    - Dst: util::StatusOr::GetPrimeQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:320,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:320,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:321,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:323,1
    - Dst: util::StatusOr::GetPrimeExponentP
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:323,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:324,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:326,1
    - Dst: util::StatusOr::GetPrimeExponentQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:326,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:327,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:328,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:329,1
    - Dst: util::StatusOr::GetCrtCoefficient
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:329,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:330,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:332,1
    - Dst: util::StatusOr::GetPrivateExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:332,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:333,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:335,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:335,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:335,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:336,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:336,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 337
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - RSA_get0_factors
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - util::StatusOr::GetPrivateExponent
    - IsOk
    - RSA_generate_key_ex
    - util::StatusOr::GetPrimeExponentP
    - util::StatusOr::GetPrimeExponentQ
    - util::StatusOr::GetCrtCoefficient
    - RSA_get0_crt_params
    - EXPECT_THAT
    - internal::SslUniquePtr::get
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPrimeP
    - RSA_get0_key
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::BignumToString
    - util::StatusOr::GetIdRequirement
    - BN_set_word
    - util::StatusOr::GetPrimeQ
    - BN_num_bytes
    - NotNull
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyFromBoringSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:340,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:341,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:344,1
    - Dst: RsaSsaPkcs1PublicKey::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:345,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:346,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:346,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:346,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:348,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:348,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:351,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:359,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:361,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:361,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - BigInteger
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - RsaSsaPkcs1PublicKey::GetParameters
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesModulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:366,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:367,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:370,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:373,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:373,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:373,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:374,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:380,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:382,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:382,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 384
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesPrimeP)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:387,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:388,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:391,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:395,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:395,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:395,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:396,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:401,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:403,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:403,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 405
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesPrimeQ)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:408,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:409,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:412,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:417,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:417,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:417,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:418,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:422,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:424,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:424,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 426
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesPrimeExponentP)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:429,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:430,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:433,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:439,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:439,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:439,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:440,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:443,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:445,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:445,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 447
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesPrimeExponentQ)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:450,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:451,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:454,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:461,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:461,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:461,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:462,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:464,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:466,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:466,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 468
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesPrivateExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:471,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:472,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:475,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:483,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:483,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:483,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:484,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:485,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:487,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:487,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateKeyValidatesCrtCoefficient)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:492,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:495,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:502,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:504,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:504,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 506
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 506
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPublicKeyNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:509,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:512,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:513,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:519,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:521,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:521,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 523
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrimePNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:526,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:529,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:530,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:536,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:538,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:538,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 540
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrimeQNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:543,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:546,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:547,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:553,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:555,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:555,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 557
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrimeExponentPNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:560,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:563,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:564,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:570,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:572,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:572,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrimeExponentQNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:577,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:580,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:581,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:587,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:589,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:589,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 591
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildPrivateExponentNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:594,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:597,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:598,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:604,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:606,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:606,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, BuildCrtCoefficientNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:612,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:618,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:618,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:622,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:631,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:633,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:634,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:634,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:636,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:639,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:647,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:649,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:649,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 610
    functionDepth: 2
    functionLinenumber: 610
    functionLinenumberEnd: 651
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, CreateMismatchedKeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:654,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:656,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:662,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:662,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:666,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:668,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:669,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:669,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:671,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:674,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:682,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:684,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:684,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:687,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:695,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:697,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:697,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:699,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:700,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:701,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 703
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - GetParam
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1PrivateKeyTest, PrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:707,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:713,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:713,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:717,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:719,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:720,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:720,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:723,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:725,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:726,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:726,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:728,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:731,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:739,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:741,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:741,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:744,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:752,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:754,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:754,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:756,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:757,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:758,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 760
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:764,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:770,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:770,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:774,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:776,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:777,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:777,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:779,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:782,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:790,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:792,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:792,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:794,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:795,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:796,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 798
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PrivateKeyTest, DifferentKeyTypesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::RsaSsaPkcs1SignKeyManager::RsaSsaPkcs1SignKeyManager
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1SignKeyManager()
  - 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: crypto::tink::RsaSsaPkcs1SignKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RsaSsaPkcs1SignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: crypto::tink::RsaSsaPkcs1SignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::RsaSsaPkcs1PublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::RsaSsaPkcs1PublicKey>
      GetPublicKey(const google::crypto::tink::RsaSsaPkcs1PrivateKey& private_key)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: crypto::tink::RsaSsaPkcs1SignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - modulus_size_in_bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '&

      RsaSsaPkcs1Parameters::Builder::SetModulusSizeInBits(int modulus_size_in_bits)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters::Builder
    signature: 'RsaSsaPkcs1Parameters::Builder &

      RsaSsaPkcs1Parameters::Builder::SetModulusSizeInBits(int modulus_size_in_bits)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' public_exponent'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: "&\nRsaSsaPkcs1Parameters::Builder::SetPublicExponent(\n    const
      BigInteger& public_exponent)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters::Builder
    signature: "RsaSsaPkcs1Parameters::Builder &\nRsaSsaPkcs1Parameters::Builder::SetPublicExponent(\n
      \   const BigInteger& public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: "& RsaSsaPkcs1Parameters::Builder::SetHashType(\n    HashType hash_type)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters::Builder
    signature: "RsaSsaPkcs1Parameters::Builder & RsaSsaPkcs1Parameters::Builder::SetHashType(\n
      \   HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: "& RsaSsaPkcs1Parameters::Builder::SetVariant(\n    Variant variant)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters::Builder
    signature: "RsaSsaPkcs1Parameters::Builder & RsaSsaPkcs1Parameters::Builder::SetVariant(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:73,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:78,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:83,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:89,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:91,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:98,1
    - Dst: GetValue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:98,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:99,1
    - Dst: std::set<HashType>::set<HashType>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:104,1
    - Dst: std::set*::find
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:106,1
    - Dst: std::set*::end
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:107,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:114,1
    - Dst: std::set*::find
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:116,1
    - Dst: std::set*::end
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:116,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:117,1
    - Dst: RsaSsaPkcs1Parameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 123
    functionName: RsaSsaPkcs1Parameters::Builder::Build()
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ValidateRsaPublicExponent
    - util::Status::ok
    - has_value
    - crypto::tink::internal::ExtractStatus
    - std::set<HashType>::set<HashType>
    - std::set*::end
    - RsaSsaPkcs1Parameters
    - GetValue
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1Parameters>
    signature: util::StatusOr<RsaSsaPkcs1Parameters> RsaSsaPkcs1Parameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RsaSsaPkcs1Parameters*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: RsaSsaPkcs1Parameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const RsaSsaPkcs1Parameters*>
    linkageType: ''
    returnType: bool
    signature: bool RsaSsaPkcs1Parameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:149,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:149,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:152,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:152,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:152,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:152,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: RsaSsaPkcs1Parameters::Builder::CreateDefaultPublicExponent()
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger RsaSsaPkcs1Parameters::Builder::CreateDefaultPublicExponent()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:60,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:63,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:64,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:66,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:68,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:72,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:73,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:74,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:75,1
    - Dst: util::StatusOr::GetPublicKeyBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:75,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - GetParam
    - EXPECT_THAT
    - util::StatusOr::GetPublicKeyBytes
    - crypto::tink::subtle::Random::GetRandomBytes
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519PublicKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:82,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:86,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:87,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:88,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, CreateWithInvalidPublicKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:96,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:100,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:104,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:105,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:106,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:110,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:110,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:112,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:118,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:122,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:124,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:127,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:129,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:132,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:136,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:137,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:138,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519PublicKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:145,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:149,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:149,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:151,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:153,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:156,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:158,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:161,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:163,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:164,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:165,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:172,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:174,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:175,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:177,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:180,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:182,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, DifferentPublicKeyBytesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:196,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:198,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:200,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:203,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:205,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:208,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:210,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:211,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_public_key_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 214
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 18
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssParameters::Variant>
    signature: "util::StatusOr<RsaSsaPssParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - RsaSsaPssParameters::Variant
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 20
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    RsaSsaPssParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: crypto::tink::ToEnumHashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssParameters::HashType>
    signature: "util::StatusOr<RsaSsaPssParameters::HashType> ToEnumHashType(\n    HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - RsaSsaPssParameters::HashType
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HashType>
    signature: "util::StatusOr<HashType> ToProtoHashType(\n    RsaSsaPssParameters::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:149,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:150,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:151,1
    - Dst: crypto::tink::ToEnumHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:155,1
    - Dst: sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:155,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:156,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:157,1
    - Dst: crypto::tink::ToEnumHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:161,1
    - Dst: sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:161,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:162,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:163,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:166,1
    - Dst: salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - output_prefix_type
    - ' params'
    - modulus_size_in_bits
    - ' public_exponent'
    argTypes:
    - OutputPrefixType
    - RsaSsaPssParams
    - int
    - BigInteger
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 6
    functionsReached:
    - salt_length
    - util::StatusOr::status
    - sig_hash
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - crypto::tink::ToEnumHashType
    - crypto::tink::ToVariant
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssParameters>
    signature: "util::StatusOr<RsaSsaPssParameters> ToParameters(\n    OutputPrefixType
      output_prefix_type, const RsaSsaPssParams& params,\n    int modulus_size_in_bits,
      const BigInteger& public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:178,1
    - Dst: RsaSsaPssParameters::GetSigHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:178,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:179,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:180,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:184,1
    - Dst: RsaSsaPssParameters::GetMgf1HashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:184,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:185,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:186,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:190,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:191,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:192,1
    - Dst: RsaSsaPssParameters::GetSaltLengthInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - parameters
    argTypes:
    - RsaSsaPssParameters
    constantsTouched: []
    func_position:
      end: 195
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 195
    functionName: crypto::tink::FromParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 6
    functionsReached:
    - RsaSsaPssParameters::GetSigHashType
    - RsaSsaPssParams::set_salt_length
    - util::StatusOr::status
    - RsaSsaPssParams::set_sig_hash
    - crypto::tink::ToProtoHashType
    - RsaSsaPssParameters::GetSaltLengthInBytes
    - RsaSsaPssParameters::GetMgf1HashType
    - util::StatusOr::ok
    - RsaSsaPssParams::set_mgf1_hash
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssParams>
    signature: util::StatusOr<RsaSsaPssParams> FromParameters(RsaSsaPssParameters
      parameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:199,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:200,1
    - Dst: RsaSsaPssKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:205,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:206,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:207,1
    - Dst: RsaSsaPssKeyFormat::has_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:210,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:211,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:215,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:215,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:216,1
    - Dst: RsaSsaPssKeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:217,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:218,1
    - Dst: RsaSsaPssKeyFormat::public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 219
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 219
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssKeyFormat::ParseFromString
    - BigInteger
    - RsaSsaPssKeyFormat::has_params
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToParameters
    - GetKeyTemplate
    - RsaSsaPssKeyFormat::modulus_size_in_bits
    - RsaSsaPssKeyFormat::public_exponent
    - RsaSsaPssKeyFormat::params
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssParameters>
    signature: "util::StatusOr<RsaSsaPssParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:224,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:225,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:230,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:231,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:232,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:232,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:233,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:236,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:237,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:241,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:244,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:244,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:244,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:245,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:245,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:246,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:247,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:250,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:251,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 253
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 253
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::RsaSsaPssPublicKey::params
    - BigInteger
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::RsaSsaPssPublicKey::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::RsaSsaPssPublicKey::n
    - crypto::tink::ToParameters
    - util::StatusOr::ok
    - google::crypto::tink::RsaSsaPssPublicKey::e
    - google::crypto::tink::RsaSsaPssPublicKey::version
    - GetOutputPrefixType
    - google::crypto::tink::RsaSsaPssPublicKey::ParseFromString
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPublicKey>
    signature: "util::StatusOr<RsaSsaPssPublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:258,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:259,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:262,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:263,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:267,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:268,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:268,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:269,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:272,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:273,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:277,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:280,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:281,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:281,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:282,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:282,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:283,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:284,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:287,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:288,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:289,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:290,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:291,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:294,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:296,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::p
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:296,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:297,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::q
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:297,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:298,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:298,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:299,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:299,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:300,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::d
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:300,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:301,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:301,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 303
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 303
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - google::crypto::tink::RsaSsaPssPrivateKey::version
    - crypto::tink::ToParameters
    - IdRequirement
    - util::StatusOr::ok
    - GetOutputPrefixType
    - google::crypto::tink::RsaSsaPssPrivateKey::d
    - google::crypto::tink::RsaSsaPssPrivateKey::ParseFromString
    - GetSecret
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::RsaSsaPssPrivateKey::public_key
    - google::crypto::tink::RsaSsaPssPrivateKey::q
    - google::crypto::tink::RsaSsaPssPrivateKey::dp
    - google::crypto::tink::RsaSsaPssPrivateKey::dq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::RsaSsaPssPublicKey::Create
    - google::crypto::tink::RsaSsaPssPrivateKey::crt
    - google::crypto::tink::RsaSsaPssPrivateKey::p
    - SerializedKeyProto
    - RestrictedBigInteger
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> ParsePrivateKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:308,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:308,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:309,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:310,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:313,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:314,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:315,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:319,1
    - Dst: GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:319,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:321,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:322,1
    - Dst: GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:322,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:323,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:325,1
    - Dst: RsaSsaPssKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - RsaSsaPssParameters
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - std::string
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - RsaSsaPssKeyFormat::SerializeAsString
    - GetVariant
    - util::StatusOr::ok
    - RsaSsaPssKeyFormat::set_public_exponent
    - GetPublicExponent
    - RsaSsaPssKeyFormat::mutable_params
    - GetModulusSizeInBits
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const RsaSsaPssParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:332,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:332,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:333,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:334,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:338,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:339,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:341,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:342,1
    - Dst: GetModulus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:342,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:342,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:343,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:344,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:344,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:347,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:347,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:348,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:349,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:352,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:353,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:353,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:354,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - RsaSsaPssPublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 357
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 357
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - GetModulus
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - GetParameters
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - std::string
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - util::StatusOr::ok
    - google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
    - GetIdRequirement
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const RsaSsaPssPublicKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:362,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:363,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:368,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:368,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:369,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:370,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:374,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:375,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:377,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:377,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:378,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:378,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:379,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:379,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:380,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:383,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:384,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:386,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:387,1
    - Dst: GetPrimeP
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:387,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:387,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:388,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:389,1
    - Dst: GetPrimeQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:389,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:389,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:390,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:391,1
    - Dst: GetPrimeExponentP
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:391,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:392,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:393,1
    - Dst: GetPrimeExponentQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:393,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:394,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:395,1
    - Dst: GetPrivateExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:395,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:396,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:397,1
    - Dst: GetCrtCoefficient
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:397,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:400,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:400,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:401,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:402,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:406,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:406,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:407,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - RsaSsaPssPrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 410
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 410
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - google::crypto::tink::RsaSsaPssPrivateKey::set_version
    - GetPublicKey
    - GetPrimeP
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - std::string
    - util::StatusOr::ok
    - google::crypto::tink::RsaSsaPssPrivateKey::set_crt
    - GetIdRequirement
    - google::crypto::tink::RsaSsaPssPrivateKey::set_p
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dp
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - GetPrimeQ
    - RestrictedData
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - absl::optional<SecretKeyAccessToken>::has_value
    - GetPrimeExponentP
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - GetCrtCoefficient
    - crypto::tink::internal::ExtractStatus
    - GetPrivateExponent
    - google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
    - google::crypto::tink::RsaSsaPssPrivateKey::set_d
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dq
    - GetPrimeExponentQ
    - google::crypto::tink::RsaSsaPssPrivateKey::set_q
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const RsaSsaPssPrivateKey& key,\n    absl::optional<SecretKeyAccessToken>
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssProtoParametersParserImpl::RsaSsaPssProtoParametersParserImpl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: crypto::tink::RsaSsaPssProtoParametersParser
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssProtoParametersParserImpl::RsaSsaPssProtoParametersParserImpl
    linkageType: ''
    returnType: RsaSsaPssProtoParametersParserImpl
    signature: RsaSsaPssProtoParametersParserImpl * RsaSsaPssProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssProtoParametersSerializerImpl::RsaSsaPssProtoParametersSerializerImpl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: crypto::tink::RsaSsaPssProtoParametersSerializer
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssProtoParametersSerializerImpl::RsaSsaPssProtoParametersSerializerImpl
    linkageType: ''
    returnType: RsaSsaPssProtoParametersSerializerImpl
    signature: RsaSsaPssProtoParametersSerializerImpl * RsaSsaPssProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssProtoPublicKeyParserImpl::RsaSsaPssProtoPublicKeyParserImpl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: crypto::tink::RsaSsaPssProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssProtoPublicKeyParserImpl::RsaSsaPssProtoPublicKeyParserImpl
    linkageType: ''
    returnType: RsaSsaPssProtoPublicKeyParserImpl
    signature: RsaSsaPssProtoPublicKeyParserImpl * RsaSsaPssProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssProtoPublicKeySerializerImpl::RsaSsaPssProtoPublicKeySerializerImpl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: crypto::tink::RsaSsaPssProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssProtoPublicKeySerializerImpl::RsaSsaPssProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: RsaSsaPssProtoPublicKeySerializerImpl
    signature: RsaSsaPssProtoPublicKeySerializerImpl * RsaSsaPssProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssProtoPrivateKeyParserImpl::RsaSsaPssProtoPrivateKeyParserImpl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: crypto::tink::RsaSsaPssProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssProtoPrivateKeyParserImpl::RsaSsaPssProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: RsaSsaPssProtoPrivateKeyParserImpl
    signature: RsaSsaPssProtoPrivateKeyParserImpl * RsaSsaPssProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssProtoPrivateKeySerializerImpl::RsaSsaPssProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: crypto::tink::RsaSsaPssProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssProtoPrivateKeySerializerImpl::RsaSsaPssProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: RsaSsaPssProtoPrivateKeySerializerImpl
    signature: RsaSsaPssProtoPrivateKeySerializerImpl * RsaSsaPssProtoPrivateKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:452,1
    - Dst: crypto::tink::RsaSsaPssProtoParametersParser
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:453,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:454,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:459,1
    - Dst: crypto::tink::RsaSsaPssProtoParametersSerializer
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:460,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:461,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:465,1
    - Dst: crypto::tink::RsaSsaPssProtoPublicKeyParser
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:466,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:467,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:471,1
    - Dst: crypto::tink::RsaSsaPssProtoPublicKeySerializer
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:472,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:473,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:477,1
    - Dst: crypto::tink::RsaSsaPssProtoPrivateKeyParser
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:478,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:479,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:483,1
    - Dst: crypto::tink::RsaSsaPssProtoPrivateKeySerializer
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 485
    functionName: crypto::tink::RegisterRsaSsaPssProtoSerialization
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::RsaSsaPssProtoParametersSerializer
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RsaSsaPssProtoPrivateKeyParser
    - crypto::tink::RsaSsaPssProtoPublicKeySerializer
    - crypto::tink::RsaSsaPssProtoPrivateKeySerializer
    - crypto::tink::RsaSsaPssProtoParametersParser
    - crypto::tink::RsaSsaPssProtoPublicKeyParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterRsaSsaPssProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 19
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters::Variant>
    signature: "util::StatusOr<EcdsaParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - EcdsaParameters::Variant
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 23
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    EcdsaParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: crypto::tink::ToHashType
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters::HashType>
    signature: util::StatusOr<EcdsaParameters::HashType> ToHashType(HashType hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - EcdsaParameters::HashType
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HashType>
    signature: util::StatusOr<HashType> ToProtoHashType(EcdsaParameters::HashType
      hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EllipticCurveType
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: crypto::tink::ToCurveType
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters::CurveType>
    signature: "util::StatusOr<EcdsaParameters::CurveType> ToCurveType(\n    EllipticCurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EcdsaParameters::CurveType
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: crypto::tink::ToProtoCurveType
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EllipticCurveType>
    signature: "util::StatusOr<EllipticCurveType> ToProtoCurveType(\n    EcdsaParameters::CurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - signature_encoding
    argTypes:
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: crypto::tink::ToSignatureEncoding
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters::SignatureEncoding>
    signature: "util::StatusOr<EcdsaParameters::SignatureEncoding> ToSignatureEncoding(\n
      \   EcdsaSignatureEncoding signature_encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - signature_encoding
    argTypes:
    - EcdsaParameters::SignatureEncoding
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: crypto::tink::ToProtoSignatureEncoding
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<EcdsaSignatureEncoding>
    signature: "util::StatusOr<EcdsaSignatureEncoding> ToProtoSignatureEncoding(\n
      \   EcdsaParameters::SignatureEncoding signature_encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - curveType
    argTypes:
    - EcdsaParameters::CurveType
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: crypto::tink::getEncodingLength
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> getEncodingLength(EcdsaParameters::CurveType curveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:219,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:220,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:221,1
    - Dst: crypto::tink::ToHashType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:225,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:225,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:226,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:227,1
    - Dst: crypto::tink::ToCurveType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:231,1
    - Dst: curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:231,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:232,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:233,1
    - Dst: crypto::tink::ToSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:237,1
    - Dst: encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:237,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:238,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:239,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - output_prefix_type
    - ' params'
    argTypes:
    - OutputPrefixType
    - EcdsaParams
    constantsTouched: []
    func_position:
      end: 248
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 248
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 9
    functionsReached:
    - encoding
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - crypto::tink::ToVariant
    - crypto::tink::ToSignatureEncoding
    - curve
    - crypto::tink::ToCurveType
    - crypto::tink::ToHashType
    - hash_type
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters>
    signature: "util::StatusOr<EcdsaParameters> ToParameters(\n    OutputPrefixType
      output_prefix_type, const EcdsaParams& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToProtoCurveType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:252,1
    - Dst: GetCurveType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:252,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:253,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:254,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:258,1
    - Dst: GetHashType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:258,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:259,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:260,1
    - Dst: crypto::tink::ToProtoSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:264,1
    - Dst: GetSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:264,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:265,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:266,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:270,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:271,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - EcdsaParameters
    constantsTouched: []
    func_position:
      end: 275
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 275
    functionName: crypto::tink::FromParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 9
    functionsReached:
    - crypto::tink::ToProtoCurveType
    - crypto::tink::ToProtoSignatureEncoding
    - util::StatusOr::status
    - GetCurveType
    - crypto::tink::ToProtoHashType
    - GetSignatureEncoding
    - util::StatusOr::ok
    - GetHashType
    - EcdsaParams::set_encoding
    - EcdsaParams::set_hash_type
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: util::StatusOr<EcdsaParams>
    signature: util::StatusOr<EcdsaParams> FromParameters(const EcdsaParameters& parameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:279,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:280,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:285,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:286,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:287,1
    - Dst: EcdsaKeyFormat::version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:290,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:291,1
    - Dst: EcdsaKeyFormat::has_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:294,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:295,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:299,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:299,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 301
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 301
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - EcdsaKeyFormat::version
    - crypto::tink::ToParameters
    - EcdsaKeyFormat::ParseFromString
    - EcdsaKeyFormat::params
    - GetKeyTemplate
    - EcdsaKeyFormat::has_params
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters>
    signature: "util::StatusOr<EcdsaParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:306,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:307,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:312,1
    - Dst: google::crypto::tink::EcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:313,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:314,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:314,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:315,1
    - Dst: google::crypto::tink::EcdsaPublicKey::version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:318,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:319,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:324,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:324,1
    - Dst: google::crypto::tink::EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:324,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:325,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:326,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:329,1
    - Dst: google::crypto::tink::EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:329,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:329,1
    - Dst: google::crypto::tink::EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:329,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:330,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:331,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 333
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 333
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPublicKey::ParseFromString
    - BigInteger
    - google::crypto::tink::EcdsaPublicKey::y
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::ToParameters
    - google::crypto::tink::EcdsaPublicKey::x
    - google::crypto::tink::EcdsaPublicKey::version
    - util::StatusOr::ok
    - google::crypto::tink::EcdsaPublicKey::params
    - GetOutputPrefixType
    - SerializedKeyProto
    - crypto::tink::EcdsaPublicKey::Create
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<EcdsaPublicKey>
    signature: "util::StatusOr<EcdsaPublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:338,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:339,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:342,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:343,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:347,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::ParseFromString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:348,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:348,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:349,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:352,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:353,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:358,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:358,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:359,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:360,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:363,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:364,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:364,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:365,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:366,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:369,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:369,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:370,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:370,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:371,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:372,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:373,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:376,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::key_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:376,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:377,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 379
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 379
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::ToParameters
    - google::crypto::tink::EcdsaPrivateKey::public_key
    - google::crypto::tink::EcdsaPrivateKey::ParseFromString
    - IdRequirement
    - util::StatusOr::ok
    - GetOutputPrefixType
    - crypto::tink::EcdsaPublicKey::Create
    - GetSecret
    - google::crypto::tink::EcdsaPrivateKey::key_value
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::EcdsaPrivateKey::version
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - RestrictedBigInteger
    - TypeUrl
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: util::StatusOr<EcdsaPrivateKey>
    signature: "util::StatusOr<EcdsaPrivateKey> ParsePrivateKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:384,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:384,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:385,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:386,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:389,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:390,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:391,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:394,1
    - Dst: EcdsaKeyFormat::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:395,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:397,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - EcdsaParameters
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - EcdsaKeyFormat::set_version
    - EcdsaKeyFormat::mutable_params
    - GetVariant
    - util::StatusOr::ok
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const EcdsaParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:404,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:404,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:405,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:406,1
    - Dst: crypto::tink::getEncodingLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:410,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:410,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:411,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:412,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:415,1
    - Dst: GetPublicPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:416,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:416,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:417,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:418,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:419,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:422,1
    - Dst: GetPublicPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:423,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:423,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:424,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:425,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:426,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:430,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:431,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:432,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:433,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:436,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:436,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:437,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:438,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:441,1
    - Dst: google::crypto::tink::EcdsaPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:442,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:442,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:443,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - EcdsaPublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 446
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 446
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPublicKey::set_x
    - google::crypto::tink::EcdsaPublicKey::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - GetPublicPoint
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::getEncodingLength
    - crypto::tink::internal::GetValueOfFixedLength
    - util::StatusOr::ok
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - GetIdRequirement
    - GetParameters
    - google::crypto::tink::EcdsaPublicKey::set_y
    - RestrictedData
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - google::crypto::tink::EcdsaPublicKey::set_version
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const EcdsaPublicKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrivateKeyValue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:451,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:451,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:452,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:453,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:455,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:456,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:461,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:461,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:462,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:463,1
    - Dst: crypto::tink::getEncodingLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:467,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:467,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:468,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:469,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:473,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:474,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:475,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:475,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:476,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:477,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:480,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:481,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:481,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:482,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:483,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:486,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:489,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:490,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:491,1
    - Dst: crypto::tink::internal::GetValueOfFixedLength
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:491,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:492,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:495,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:495,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:496,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:497,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:501,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:501,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:502,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - EcdsaPrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 505
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 505
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPrivateKey::set_key_value
    - google::crypto::tink::EcdsaPublicKey::set_x
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - GetPublicKey
    - util::StatusOr::GetSecret
    - google::crypto::tink::EcdsaPrivateKey::SerializeAsString
    - google::crypto::tink::EcdsaPrivateKey::mutable_public_key
    - crypto::tink::getEncodingLength
    - crypto::tink::internal::GetValueOfFixedLength
    - util::StatusOr::ok
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - GetIdRequirement
    - google::crypto::tink::EcdsaPublicKey::set_y
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::EcdsaPrivateKey::set_version
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::internal::ExtractStatus
    - GetPrivateKeyValue
    - google::crypto::tink::EcdsaPublicKey::set_version
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const EcdsaPrivateKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaProtoParametersParserImpl::EcdsaProtoParametersParserImpl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 511
    functionName: crypto::tink::EcdsaProtoParametersParser
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaProtoParametersParserImpl::EcdsaProtoParametersParserImpl
    linkageType: ''
    returnType: EcdsaProtoParametersParserImpl
    signature: EcdsaProtoParametersParserImpl & EcdsaProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaProtoParametersSerializerImpl::EcdsaProtoParametersSerializerImpl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: crypto::tink::EcdsaProtoParametersSerializer
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaProtoParametersSerializerImpl::EcdsaProtoParametersSerializerImpl
    linkageType: ''
    returnType: EcdsaProtoParametersSerializerImpl
    signature: EcdsaProtoParametersSerializerImpl & EcdsaProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaProtoPublicKeyParserImpl::EcdsaProtoPublicKeyParserImpl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: crypto::tink::EcdsaProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaProtoPublicKeyParserImpl::EcdsaProtoPublicKeyParserImpl
    linkageType: ''
    returnType: EcdsaProtoPublicKeyParserImpl
    signature: EcdsaProtoPublicKeyParserImpl & EcdsaProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaProtoPublicKeySerializerImpl::EcdsaProtoPublicKeySerializerImpl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: crypto::tink::EcdsaProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaProtoPublicKeySerializerImpl::EcdsaProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: EcdsaProtoPublicKeySerializerImpl
    signature: EcdsaProtoPublicKeySerializerImpl & EcdsaProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaProtoPrivateKeyParserImpl::EcdsaProtoPrivateKeyParserImpl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: crypto::tink::EcdsaProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaProtoPrivateKeyParserImpl::EcdsaProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: EcdsaProtoPrivateKeyParserImpl
    signature: EcdsaProtoPrivateKeyParserImpl & EcdsaProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaProtoPrivateKeySerializerImpl::EcdsaProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 541
    functionName: crypto::tink::EcdsaProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - EcdsaProtoPrivateKeySerializerImpl::EcdsaProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: EcdsaProtoPrivateKeySerializerImpl
    signature: EcdsaProtoPrivateKeySerializerImpl & EcdsaProtoPrivateKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:546,1
    - Dst: crypto::tink::EcdsaProtoParametersParser
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:547,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:548,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:552,1
    - Dst: crypto::tink::EcdsaProtoParametersSerializer
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:553,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:554,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:558,1
    - Dst: crypto::tink::EcdsaProtoPublicKeyParser
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:559,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:560,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:564,1
    - Dst: crypto::tink::EcdsaProtoPublicKeySerializer
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:565,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:566,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:570,1
    - Dst: crypto::tink::EcdsaProtoPrivateKeyParser
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:571,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:572,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:576,1
    - Dst: crypto::tink::EcdsaProtoPrivateKeySerializer
      Src: /src/tink/cc/signature/ecdsa_proto_serialization.cc:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 578
    functionName: crypto::tink::RegisterEcdsaProtoSerialization
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EcdsaProtoParametersParser
    - crypto::tink::EcdsaProtoPrivateKeySerializer
    - util::Status::ok
    - crypto::tink::EcdsaProtoPublicKeyParser
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::EcdsaProtoParametersSerializer
    - crypto::tink::EcdsaProtoPrivateKeyParser
    - crypto::tink::EcdsaProtoPublicKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterEcdsaProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: crypto::tink::RsaSsaPssPrivateKey::RsaSsaPssPrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssPrivateKey(const RsaSsaPssPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: '& operator=(const RsaSsaPssPrivateKey& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey
    signature: RsaSsaPssPrivateKey & operator=(const RsaSsaPssPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::RsaSsaPssPrivateKey::RsaSsaPssPrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssPrivateKey(RsaSsaPssPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(RsaSsaPssPrivateKey&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey
    signature: RsaSsaPssPrivateKey & operator=(RsaSsaPssPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::RsaSsaPssPrivateKey::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::RsaSsaPssPrivateKey::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::RsaSsaPssPrivateKey::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '& GetPrimeP(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeP(PartialKeyAccessToken token) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '& GetPrimeQ(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeQ(PartialKeyAccessToken token) const
  - 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: '& GetPrivateExponent() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrivateExponent() 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: '& GetPrimeExponentP() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeExponentP() 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: '& GetPrimeExponentQ() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeExponentQ() 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: '& GetCrtCoefficient() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetCrtCoefficient() 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPublicKey
    signature: RsaSsaPssPublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - ' public_key'
    - ' p'
    - ' q'
    - ' dp'
    - ' dq'
    - ' d'
    - ' q_inv'
    argTypes:
    - RsaSsaPssPublicKey
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: crypto::tink::RsaSsaPssPrivateKey::RsaSsaPssPrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPssPrivateKey(const RsaSsaPssPublicKey& public_key,\n                                 const
      RestrictedBigInteger& p,\n                                 const RestrictedBigInteger&
      q,\n                                 const RestrictedBigInteger& dp,\n                                 const
      RestrictedBigInteger& dq,\n                                 const RestrictedBigInteger&
      d,\n                                 const RestrictedBigInteger& q_inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:58,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:59,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:61,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:66,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:66,1
    - Dst: EcdsaPublicKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:66,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EcdsaPublicKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:72,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:73,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:74,1
    - Dst: EcdsaParams*::set_encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:75,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaParams*::set_encoding
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: EcdsaPrivateKey CreateValidPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:80,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc: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: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaSignKeyManager
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: EcdsaPublicKey
    signature: EcdsaPublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:86,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:90,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:91,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:92,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:94,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:94,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:95,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:95,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaPublicKey::mutable_params
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EcdsaParams*::set_curve
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyBadHashP256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:100,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:101,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:102,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:104,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:104,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:105,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:105,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaPublicKey::mutable_params
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EcdsaParams*::set_curve
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyBadHashP384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:110,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:111,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:112,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:114,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:114,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:115,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaPublicKey::mutable_params
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EcdsaParams*::set_curve
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyBadHashP521)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:121,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:122,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:124,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - IsOk
    - EXPECT_THAT
    - EcdsaParams::set_encoding
    - EcdsaParams::set_hash_type
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:129,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:130,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:132,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - IsOk
    - EXPECT_THAT
    - EcdsaParams::set_encoding
    - EcdsaParams::set_hash_type
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateParamsHashP384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:137,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:138,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:140,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:140,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:141,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:141,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    - StatusIs
    - EcdsaParams::set_encoding
    - EcdsaParams::set_hash_type
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateParamsBadHashP256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:147,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:148,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:150,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:150,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:151,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:151,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    - StatusIs
    - EcdsaParams::set_encoding
    - EcdsaParams::set_hash_type
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateParamsBadHashP384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:157,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:158,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:160,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:160,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:161,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:161,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    - StatusIs
    - EcdsaParams::set_encoding
    - EcdsaParams::set_hash_type
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateParamsBadHashP521)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:166,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:168,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:171,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:171,1
    - Dst: EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:172,1
    - Dst: EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:173,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:174,1
    - Dst: EcdsaPrivateKey::key_value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:174,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:176,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:177,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:177,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:178,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:179,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:186,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:186,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 189
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::y
    - EcdsaPublicKey::params
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - EcdsaVerifyKeyManager
    - IsOk
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    - EcdsaPrivateKey::key_value
    - EcdsaPublicKey::x
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:192,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:195,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:195,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:198,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:198,1
    - Dst: EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:199,1
    - Dst: EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:200,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:201,1
    - Dst: EcdsaPrivateKey::key_value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:201,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:203,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:204,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:204,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:205,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:206,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:213,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:213,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:214,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 216
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::y
    - EcdsaPublicKey::params
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - EcdsaVerifyKeyManager
    - IsOk
    - Not
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    - EcdsaPrivateKey::key_value
    - EcdsaPublicKey::x
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, CreateDifferentPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::RsaSsaPssVerifyKeyManager::RsaSsaPssVerifyKeyManager
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssVerifyKeyManager()
  - 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: crypto::tink::RsaSsaPssVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RsaSsaPssVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: crypto::tink::RsaSsaPssVerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:37,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:39,1
    - Dst: crypto::tink::PublicKeyVerifyFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:42,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: crypto::tink::PublicKeyVerifyFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/signature/public_key_verify_factory.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::PublicKeyVerifyFactory::GetPrimitive
    - absl::make_unique<PublicKeyVerifyWrapper>
    - util::Status::ok
    - ConfigGlobalRegistry
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: util::StatusOr<std::unique_ptr<PublicKeyVerify>> PublicKeyVerifyFactory::GetPrimitive(const
      KeysetHandle& keyset_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:51,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:53,1
    - Dst: crypto::tink::PublicKeyVerifyFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_verify_factory.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<PublicKeyVerify>*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::PublicKeyVerifyFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/signature/public_key_verify_factory.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::PublicKeyVerifyFactory::GetPrimitive
    - absl::make_unique<PublicKeyVerifyWrapper>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - util::Status::ok
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> PublicKeyVerifyFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle,\n    const KeyManager<PublicKeyVerify>*
      custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::EcdsaSignKeyManager::EcdsaSignKeyManager
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void EcdsaSignKeyManager()
  - 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: crypto::tink::EcdsaSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::EcdsaSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: crypto::tink::EcdsaSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::EcdsaPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::EcdsaPublicKey>
      GetPublicKey(\n      const google::crypto::tink::EcdsaPrivateKey& private_key)
      const override"
  - 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: crypto::tink::EcdsaSignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc: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: crypto::tink::RsaSsaPssProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:97,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:98,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPssProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:129,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:129,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:132,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:133,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:136,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:137,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:138,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:139,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:142,1
    - Dst: RsaSsaPssKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:145,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:152,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:152,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:152,1
    - Dst: dynamic_cast<const RsaSsaPssParameters*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:154,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:155,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:156,1
    - Dst: RsaSsaPssParameters*::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:156,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:157,1
    - Dst: RsaSsaPssParameters*::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:159,1
    - Dst: RsaSsaPssParameters*::GetSigHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:159,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:161,1
    - Dst: RsaSsaPssParameters*::GetMgf1HashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:161,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:163,1
    - Dst: RsaSsaPssParameters*::GetSaltLengthInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:163,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:165,1
    - Dst: RsaSsaPssParameters*::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:165,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:166,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssParameters*::GetModulusSizeInBits
    - BigInteger
    - ASSERT_THAT
    - RsaSsaPssKeyFormat::set_public_exponent
    - RsaSsaPssParameters*::GetVariant
    - RsaSsaPssParameters*::GetSaltLengthInBytes
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - EXPECT_THAT
    - GetParam
    - RsaSsaPssParams::set_salt_length
    - RsaSsaPssParameters*::GetSigHashType
    - RsaSsaPssParameters*::GetPublicExponent
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RsaSsaPssParams::set_mgf1_hash
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    - Eq
    - util::StatusOr::get
    - RsaSsaPssParams::set_sig_hash
    - RsaSsaPssKeyFormat::SerializeAsString
    - RsaSsaPssKeyFormat::mutable_params
    - NotNull
    - dynamic_cast<const RsaSsaPssParameters*>
    - RsaSsaPssParameters*::GetMgf1HashType
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssProtoSerializationTest, ParseParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:171,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:171,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:176,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:182,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:182,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 184
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:188,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:188,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:191,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:192,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:195,1
    - Dst: RsaSsaPssKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:198,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:204,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:204,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 206
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - util::StatusOr::status
    - RsaSsaPssKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - RsaSsaPssKeyFormat::set_public_exponent
    - StatusIs
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       ParseParametersKeyFormatWithoutParamsFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:210,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:210,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:213,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:214,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:217,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:218,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:219,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:220,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:223,1
    - Dst: RsaSsaPssKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:226,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:232,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:232,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssParams::set_salt_length
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - RsaSsaPssParams::set_sig_hash
    - util::StatusOr::status
    - RsaSsaPssKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - RsaSsaPssKeyFormat::set_public_exponent
    - RsaSsaPssParams::set_mgf1_hash
    - RsaSsaPssKeyFormat::mutable_params
    - StatusIs
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:237,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:237,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:240,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:241,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:244,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:245,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:246,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:247,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:250,1
    - Dst: RsaSsaPssKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:252,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:253,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:259,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:259,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 261
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssParams::set_salt_length
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - RsaSsaPssParams::set_sig_hash
    - util::StatusOr::status
    - RsaSsaPssKeyFormat::SerializeAsString
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - ASSERT_THAT
    - RsaSsaPssKeyFormat::set_public_exponent
    - RsaSsaPssParams::set_mgf1_hash
    - RsaSsaPssKeyFormat::mutable_params
    - StatusIs
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPssProtoSerializationTest, ParseParametersWithUnkownHashFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:265,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:265,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:268,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:276,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:284,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:284,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:284,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:287,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:290,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:291,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:291,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:292,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:293,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:293,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:297,1
    - Dst: RsaSsaPssKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:298,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:298,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:301,1
    - Dst: RsaSsaPssKeyFormat::has_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:301,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:301,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:302,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:302,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:303,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:303,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:304,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:304,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:306,1
    - Dst: RsaSsaPssKeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:306,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:307,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:308,1
    - Dst: RsaSsaPssKeyFormat::public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:308,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 309
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - ASSERT_THAT
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - RsaSsaPssKeyFormat::has_params
    - IsOk
    - EXPECT_THAT
    - ObjectIdentifier
    - IsTrue
    - GetParam
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - RsaSsaPssKeyFormat::params
    - Eq
    - RsaSsaPssKeyFormat::ParseFromString
    - util::StatusOr::get
    - NotNull
    - RsaSsaPssKeyFormat::public_exponent
    - RsaSsaPssKeyFormat::modulus_size_in_bits
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssProtoSerializationTest, SerializeParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NE
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:324,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:324,1
    - Dst: CHECK_NE
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:328,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:328,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:329,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:329,1
    - Dst: CHECK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:332,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:332,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:332,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:332,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:337,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:337,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:340,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:340,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:341,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:343,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:343,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:344,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:346,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:346,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:347,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:349,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:349,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:352,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:352,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:353,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:355,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:355,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:356,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:358,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:358,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:361,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:361,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:362,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:364,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:364,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:365,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:367,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:367,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - modulus_size_in_bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 372
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 372
    functionName: crypto::tink::GenerateKeyValues
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - RSA_generate_key_ex
    - BN_set_word
    - CHECK_OK
    - RSA_get0_factors
    - BN_num_bytes
    - RSA_get0_crt_params
    - RSA_get0_key
    - CHECK_NE
    - CHECK
    linkageType: ''
    returnType: KeyValues
    signature: KeyValues GenerateKeyValues(int modulus_size_in_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:376,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:376,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:379,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:380,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:381,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:383,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:386,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:387,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:388,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:389,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:390,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:391,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:391,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:394,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:397,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:397,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:402,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:402,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:403,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:403,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:403,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:404,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:404,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:405,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:408,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:414,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:416,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:419,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:419,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:420,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:421,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:421,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:423,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 424
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - EXPECT_THAT
    - GetIdRequirement
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - GetParam
    - RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - RsaSsaPssParams::set_mgf1_hash
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - RsaSsaPssParams::set_sig_hash
    - crypto::tink::RsaSsaPssPublicKey::Create
    - google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssProtoSerializationTest, ParsePublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:428,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:428,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:428,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:431,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:431,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:434,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:438,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:438,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:441,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:442,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:443,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:443,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       ParsePublicKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:447,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:447,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:447,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:450,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:451,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:452,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:454,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:457,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:458,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:459,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:460,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:461,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:462,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:462,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:465,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:469,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:469,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:472,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:474,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:474,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 475
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - RsaSsaPssParams::set_mgf1_hash
    - StatusIs
    - RsaSsaPssParams::set_sig_hash
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPssProtoSerializationTest, ParsePublicKeyWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:478,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:478,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:478,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:480,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:481,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:484,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:490,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:492,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:492,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:495,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:495,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:496,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:497,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:497,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:500,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:503,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:503,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:504,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:504,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:504,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:507,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:508,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:510,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:510,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:511,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:511,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:512,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:512,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:514,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:514,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:515,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:516,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:516,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:516,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:519,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:519,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:520,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:521,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:522,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:524,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:524,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:525,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:525,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:525,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:526,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:526,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:526,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:527,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::has_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:527,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:527,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:528,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:528,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:529,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:529,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:529,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:530,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:530,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 532
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::RsaSsaPssPublicKey::n
    - ASSERT_THAT
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::RsaSsaPssPublicKey::has_params
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - google::crypto::tink::RsaSsaPssPublicKey::ParseFromString
    - google::crypto::tink::RsaSsaPssPublicKey::version
    - IsTrue
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - google::crypto::tink::RsaSsaPssPublicKey::params
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::RsaSsaPssPublicKey::e
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::RsaSsaPssPublicKey::Create
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssProtoSerializationTest, SerializePublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:536,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:536,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:536,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:539,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:540,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:541,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:543,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:546,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:547,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:548,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:549,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:552,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:553,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:554,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:555,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:556,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:557,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:558,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:559,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:561,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:562,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:562,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:565,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:568,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:568,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:571,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:572,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:573,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:574,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:574,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:574,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:575,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:575,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:576,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:579,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:585,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:587,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:587,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:590,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:590,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:591,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:592,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:592,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:595,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:597,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:598,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:599,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:600,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:601,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:602,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:603,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:604,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:605,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:606,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:607,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:608,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:609,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:611,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 612
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::RsaSsaPssPrivateKey::set_version
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - google::crypto::tink::RsaSsaPssPrivateKey::set_crt
    - EXPECT_THAT
    - GetIdRequirement
    - google::crypto::tink::RsaSsaPssPrivateKey::set_p
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dp
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - GetParam
    - google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
    - RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - RsaSsaPssParams::set_mgf1_hash
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - RsaSsaPssParams::set_sig_hash
    - crypto::tink::RsaSsaPssPublicKey::Create
    - google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
    - google::crypto::tink::RsaSsaPssPrivateKey::set_d
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dq
    - RestrictedBigInteger
    - google::crypto::tink::RsaSsaPssPrivateKey::set_q
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssProtoSerializationTest, ParsePrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:616,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:616,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:616,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:619,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:619,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:622,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:626,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:626,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:629,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:630,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:631,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:631,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 632
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       ParsePrivateKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:636,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:636,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:636,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:639,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:640,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:641,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:643,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:646,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:647,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:648,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:649,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:652,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:653,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:654,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:655,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:656,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:657,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:658,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:659,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:661,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:662,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:662,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:665,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:669,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:669,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:672,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:673,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:674,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:674,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 675
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 675
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::RsaSsaPssPrivateKey::set_version
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - google::crypto::tink::RsaSsaPssPrivateKey::set_crt
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPssPrivateKey::set_p
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dp
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
    - RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - RsaSsaPssParams::set_mgf1_hash
    - StatusIs
    - RsaSsaPssParams::set_sig_hash
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
    - google::crypto::tink::RsaSsaPssPrivateKey::set_d
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dq
    - google::crypto::tink::RsaSsaPssPrivateKey::set_q
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       ParsePrivateKeyWithInvalidVersionFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:678,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:678,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:678,1
    - Dst: RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:681,1
    - Dst: RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:682,1
    - Dst: RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:683,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:685,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:688,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:689,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:690,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:691,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:694,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:695,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:696,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:697,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:698,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:699,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:700,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:701,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:703,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:704,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:704,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:707,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:711,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:711,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:714,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:716,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:716,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 717
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 717
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::RsaSsaPssPrivateKey::set_version
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - google::crypto::tink::RsaSsaPssPrivateKey::set_crt
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPssPrivateKey::set_p
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dp
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
    - RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - RsaSsaPssParams::set_mgf1_hash
    - StatusIs
    - RsaSsaPssParams::set_sig_hash
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
    - google::crypto::tink::RsaSsaPssPrivateKey::set_d
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dq
    - google::crypto::tink::RsaSsaPssPrivateKey::set_q
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPssProtoSerializationTest, ParsePrivateKeyNoSecretKeyAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:720,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:721,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:721,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:721,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:723,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:726,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:732,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:734,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:734,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:737,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:737,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:738,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:739,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:739,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:742,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:744,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:745,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:746,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:747,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:748,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:749,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:750,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:751,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:752,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:753,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:754,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:755,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:756,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:757,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:757,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:760,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:762,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:763,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:763,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:764,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:764,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:764,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:767,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:768,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:769,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:770,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:770,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:770,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:771,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:771,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:772,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:773,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:773,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:774,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:775,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:775,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:775,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:778,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:778,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:779,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:780,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:781,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:783,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:783,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:783,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:784,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::p
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:784,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:784,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:785,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::q
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:785,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:785,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:786,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:786,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:786,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:787,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:787,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:787,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:788,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::d
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:788,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:788,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:789,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:789,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:789,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:790,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::has_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:790,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:790,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:791,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:791,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:791,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:792,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:792,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:792,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:793,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:793,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:793,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:794,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:794,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:794,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:795,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:795,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:796,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:797,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:797,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:798,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:799,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:799,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 801
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 801
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - google::crypto::tink::RsaSsaPssPrivateKey::version
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - google::crypto::tink::RsaSsaPssPrivateKey::d
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - google::crypto::tink::RsaSsaPssPrivateKey::ParseFromString
    - internal::MutableSerializationRegistry::GlobalInstance
    - google::crypto::tink::RsaSsaPssPrivateKey::has_public_key
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::RsaSsaPssPrivateKey::q
    - google::crypto::tink::RsaSsaPssPrivateKey::dp
    - google::crypto::tink::RsaSsaPssPrivateKey::public_key
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::RsaSsaPssPublicKey::Create
    - internal::ProtoKeySerialization*::IdRequirement
    - google::crypto::tink::RsaSsaPssPrivateKey::crt
    - NotNull
    - google::crypto::tink::RsaSsaPssPrivateKey::p
    - internal::ProtoKeySerialization*::KeyMaterialType
    - RestrictedBigInteger
    - google::crypto::tink::RsaSsaPssPrivateKey::dq
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssProtoSerializationTest, SerializePrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:805,1
    - Dst: crypto::tink::RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:805,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:805,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:807,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:810,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:816,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:818,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:818,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:820,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:821,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:822,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:823,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:823,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:826,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:828,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:829,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:830,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:831,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:832,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:833,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:834,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:835,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:836,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:837,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:838,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:839,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:840,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:841,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:841,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:844,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:847,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:847,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 849
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 849
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::RegisterRsaSsaPssProtoSerialization
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RsaSsaPssPublicKey::Create
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPssProtoSerializationTest,\n       SerializePrivateKeyNoSecretKeyAccessFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/signature/signature_config_test.cc:103,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: crypto::tink::SignatureConfigTest::SetUp
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:109,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:109,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:114,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_config_test.cc:114,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/signature_config_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:118,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/signature/signature_config_test.cc:118,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/signature_config_test.cc:119,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:122,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:123,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_config_test.cc:123,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/signature_config_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:127,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/signature/signature_config_test.cc:127,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/signature_config_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - Registry::get_key_manager<PublicKeyVerify>
    - IsOk
    - crypto::tink::SignatureConfig::Register
    - RsaSsaPssSignKeyManager
    - crypto::tink::internal::IsFipsModeEnabled
    - Registry::get_key_manager<PublicKeySign>
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - RsaSsaPssVerifyKeyManager
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:136,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:136,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:137,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/signature_config_test.cc:141,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:141,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/signature/signature_config_test.cc:144,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/signature/signature_config_test.cc:145,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_config_test.cc:146,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeySign>>
      Src: /src/tink/cc/signature/signature_config_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:148,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/signature/signature_config_test.cc:149,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/signature_config_test.cc:150,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/signature/signature_config_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:154,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/signature/signature_config_test.cc:156,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_config_test.cc:156,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/signature_config_test.cc:158,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config_test.cc:158,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_config_test.cc:158,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/signature_config_test.cc:159,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/signature_config_test.cc:160,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config_test.cc:160,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/signature/signature_config_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_config_test.cc:163,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/signature_config_test.cc:163,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_config_test.cc:164,1
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/signature/signature_config_test.cc:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - DummyPublicKeySign
    - auto::ok
    - std::move
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::make_unique<PrimitiveSet<PublicKeySign>>
    - ASSERT_TRUE
    - absl::StrCat
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::make_unique<DummyPublicKeySign>
    - auto::status
    - auto::AddPrimitive
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_EQ
    - crypto::tink::SignatureConfig::Register
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - auto::set_primary
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, PublicKeySignWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:171,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:171,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:172,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/signature_config_test.cc:176,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:176,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/signature/signature_config_test.cc:179,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/signature/signature_config_test.cc:180,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_config_test.cc:181,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeyVerify>>
      Src: /src/tink/cc/signature/signature_config_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:183,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/signature/signature_config_test.cc:184,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/signature_config_test.cc:185,1
    - Dst: absl::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/signature/signature_config_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:189,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/signature/signature_config_test.cc:190,1
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/signature/signature_config_test.cc:191,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/signature/signature_config_test.cc:193,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_config_test.cc:193,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/signature_config_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config_test.cc:195,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_config_test.cc:195,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/signature_config_test.cc:196,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/signature_config_test.cc:197,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_config_test.cc:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - DummyPublicKeySign
    - auto::ok
    - std::move
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::StrCat
    - ASSERT_TRUE
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::make_unique<DummyPublicKeyVerify>
    - auto::status
    - auto::AddPrimitive
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - crypto::tink::SignatureConfig::Register
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - auto::set_primary
    - absl::make_unique<PrimitiveSet<PublicKeyVerify>>
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, PublicKeyVerifyWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:202,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:202,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:206,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:206,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:209,1
    - Dst: SignatureKeyTemplates::Ed25519
      Src: /src/tink/cc/signature/signature_config_test.cc:209,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:210,1
    - Dst: SignatureKeyTemplates::Ed25519WithRawOutput
      Src: /src/tink/cc/signature/signature_config_test.cc:211,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:213,1
    - Dst: SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4
      Src: /src/tink/cc/signature/signature_config_test.cc:214,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:215,1
    - Dst: SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4
      Src: /src/tink/cc/signature/signature_config_test.cc:216,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:217,1
    - Dst: SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4
      Src: /src/tink/cc/signature/signature_config_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:221,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/signature_config_test.cc:222,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/signature/signature_config_test.cc:222,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_config_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 226
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - SignatureKeyTemplates::Ed25519WithRawOutput
    - IsOk
    - crypto::tink::SignatureConfig::Register
    - SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4
    - crypto::tink::KeyGenConfigGlobalRegistry
    - SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4
    - Not
    - std::list::push_back
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - SignatureKeyTemplates::Ed25519
    - crypto::tink::internal::IsFipsEnabledInSsl
    - SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:229,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:229,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:233,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:233,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:236,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_config_test.cc:236,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:237,1
    - Dst: SignatureKeyTemplates::EcdsaP256Ieee
      Src: /src/tink/cc/signature/signature_config_test.cc:237,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:238,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha384
      Src: /src/tink/cc/signature/signature_config_test.cc:238,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:239,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha512
      Src: /src/tink/cc/signature/signature_config_test.cc:239,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:240,1
    - Dst: SignatureKeyTemplates::EcdsaP384Ieee
      Src: /src/tink/cc/signature/signature_config_test.cc:240,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:241,1
    - Dst: SignatureKeyTemplates::EcdsaP521
      Src: /src/tink/cc/signature/signature_config_test.cc:241,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:242,1
    - Dst: SignatureKeyTemplates::EcdsaP521Ieee
      Src: /src/tink/cc/signature/signature_config_test.cc:242,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:243,1
    - Dst: SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
      Src: /src/tink/cc/signature/signature_config_test.cc:244,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/signature/signature_config_test.cc:245,1
    - Dst: SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
      Src: /src/tink/cc/signature/signature_config_test.cc:246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:249,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/signature_config_test.cc:250,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/signature/signature_config_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 253
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - SignatureKeyTemplates::EcdsaP384Sha384
    - crypto::tink::KeysetHandle::GenerateNew
    - SignatureKeyTemplates::EcdsaP384Ieee
    - SignatureKeyTemplates::EcdsaP384Sha512
    - SignatureKeyTemplates::EcdsaP521
    - IsOk
    - crypto::tink::SignatureConfig::Register
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - SignatureKeyTemplates::EcdsaP256
    - SignatureKeyTemplates::EcdsaP256Ieee
    - SignatureKeyTemplates::EcdsaP521Ieee
    - crypto::tink::internal::IsFipsEnabledInSsl
    - SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
    - SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RegisterFipsValidTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:256,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:256,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:257,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:263,1
    - Dst: SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
      Src: /src/tink/cc/signature/signature_config_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:265,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:270,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:270,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:270,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:278,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:283,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:283,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:287,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:287,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:292,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::SignatureConfig::Register
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RsaSsaPkcs1ProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NE
      Src: /src/tink/cc/signature/signature_config_test.cc:314,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:314,1
    - Dst: CHECK_NE
      Src: /src/tink/cc/signature/signature_config_test.cc:318,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:318,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_config_test.cc:319,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:319,1
    - Dst: CHECK
      Src: /src/tink/cc/signature/signature_config_test.cc:322,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/signature/signature_config_test.cc:322,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:322,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:322,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/signature/signature_config_test.cc:327,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:327,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:330,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:330,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:331,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:333,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:333,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:334,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:336,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:336,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:337,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/signature/signature_config_test.cc:339,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:339,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:342,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:342,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:343,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:345,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:345,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:346,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/signature/signature_config_test.cc:348,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_config_test.cc:348,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:351,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:351,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:352,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:354,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:354,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:355,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_config_test.cc:357,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_config_test.cc:357,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/signature_config_test.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - modulus_size_in_bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 362
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 362
    functionName: crypto::tink::GenerateRsaKeyValues
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - RSA_generate_key_ex
    - BN_set_word
    - CHECK_OK
    - RSA_get0_factors
    - BN_num_bytes
    - RSA_get0_crt_params
    - RSA_get0_key
    - CHECK_NE
    - CHECK
    linkageType: ''
    returnType: RsaKeyValues
    signature: RsaKeyValues GenerateRsaKeyValues(int modulus_size_in_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:365,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:365,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:366,1
    - Dst: crypto::tink::GenerateRsaKeyValues
      Src: /src/tink/cc/signature/signature_config_test.cc:370,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/signature_config_test.cc:373,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/signature_config_test.cc:374,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/signature_config_test.cc:375,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_config_test.cc:376,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:379,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/signature_config_test.cc:381,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_config_test.cc:381,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:382,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:385,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:385,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:388,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:390,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:390,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:390,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:393,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:398,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:398,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:400,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:401,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:403,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:406,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:408,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:409,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:409,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:409,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:412,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:412,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:412,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:415,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:416,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:417,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:417,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:420,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:422,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:423,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 424
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::GenerateRsaKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::internal::IsFipsEnabledInSsl
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::SignatureConfig::Register
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RsaSsaPkcs1ProtoPublicKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:427,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:427,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:428,1
    - Dst: crypto::tink::GenerateRsaKeyValues
      Src: /src/tink/cc/signature/signature_config_test.cc:432,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/signature_config_test.cc:435,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/signature_config_test.cc:436,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/signature_config_test.cc:437,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_config_test.cc:438,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/signature_config_test.cc:441,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/signature_config_test.cc:442,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/signature_config_test.cc:443,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/signature_config_test.cc:444,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/signature_config_test.cc:445,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/signature_config_test.cc:446,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/signature_config_test.cc:447,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/signature_config_test.cc:448,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:451,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/signature_config_test.cc:453,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_config_test.cc:453,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:454,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:457,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:457,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:460,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:461,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:462,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:462,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:462,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:465,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:470,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:470,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:473,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:473,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:475,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:476,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:476,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:479,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:481,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:482,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:483,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:484,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:485,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:486,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:487,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:488,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:489,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:490,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:491,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:492,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:493,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:496,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:498,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:499,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:499,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:499,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:501,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:501,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:501,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:504,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:505,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:506,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:506,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:509,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:511,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:512,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 426
    functionDepth: 4
    functionLinenumber: 426
    functionLinenumberEnd: 513
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::GenerateRsaKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::internal::IsFipsEnabledInSsl
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
    - IsOk
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
    - GTEST_SKIP
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::SignatureConfig::Register
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RsaSsaPkcs1ProtoPrivateKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:516,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:516,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:517,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:523,1
    - Dst: SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
      Src: /src/tink/cc/signature/signature_config_test.cc:524,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:525,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:525,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:528,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:530,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:530,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:530,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:533,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:540,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:543,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:545,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:545,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:546,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:549,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:549,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:549,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:552,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:554,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:554,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:557,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:559,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 560
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::SignatureConfig::Register
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RsaSsaPssProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:563,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:563,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:564,1
    - Dst: crypto::tink::GenerateRsaKeyValues
      Src: /src/tink/cc/signature/signature_config_test.cc:568,1
    - Dst: google::crypto::tink::RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/signature_config_test.cc:571,1
    - Dst: google::crypto::tink::RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/signature_config_test.cc:572,1
    - Dst: google::crypto::tink::RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/signature_config_test.cc:573,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/signature_config_test.cc:576,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/signature_config_test.cc:577,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/signature_config_test.cc:578,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_config_test.cc:579,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:582,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/signature_config_test.cc:584,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_config_test.cc:584,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:585,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:588,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:588,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:591,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:592,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:593,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:593,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:593,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:596,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:603,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:603,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:606,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:606,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:607,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:608,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:608,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:611,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:613,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:614,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:614,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:614,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:617,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:617,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:617,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:620,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:621,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:622,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:622,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:625,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:627,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:628,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 562
    functionDepth: 4
    functionLinenumber: 562
    functionLinenumberEnd: 629
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::GenerateRsaKeyValues
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - google::crypto::tink::RsaSsaPssParams::set_mgf1_hash
    - crypto::tink::internal::IsFipsEnabledInSsl
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - google::crypto::tink::RsaSsaPssParams::set_sig_hash
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - google::crypto::tink::RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::SignatureConfig::Register
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RsaSsaPssPublicKey::Create
    - google::crypto::tink::RsaSsaPssPublicKey::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RsaSsaPssProtoPublicKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:632,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/signature_config_test.cc:632,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:633,1
    - Dst: crypto::tink::GenerateRsaKeyValues
      Src: /src/tink/cc/signature/signature_config_test.cc:637,1
    - Dst: google::crypto::tink::RsaSsaPssParams::set_sig_hash
      Src: /src/tink/cc/signature/signature_config_test.cc:640,1
    - Dst: google::crypto::tink::RsaSsaPssParams::set_mgf1_hash
      Src: /src/tink/cc/signature/signature_config_test.cc:641,1
    - Dst: google::crypto::tink::RsaSsaPssParams::set_salt_length
      Src: /src/tink/cc/signature/signature_config_test.cc:642,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/signature_config_test.cc:645,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/signature_config_test.cc:646,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/signature_config_test.cc:647,1
    - Dst: google::crypto::tink::RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_config_test.cc:648,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/signature_config_test.cc:651,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/signature_config_test.cc:652,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/signature_config_test.cc:653,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/signature_config_test.cc:654,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/signature_config_test.cc:655,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/signature_config_test.cc:656,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/signature_config_test.cc:657,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/signature_config_test.cc:658,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:661,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/signature_config_test.cc:663,1
    - Dst: google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_config_test.cc:663,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:664,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:667,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:667,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:670,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:671,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:672,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:672,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:672,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:675,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:682,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:682,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:685,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:685,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:686,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:687,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:687,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:690,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:692,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:693,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:694,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:695,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:696,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:697,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:698,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:699,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:700,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:701,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:702,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:703,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:704,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:707,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:709,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:710,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:710,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:710,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:712,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:712,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:712,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:715,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:716,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:717,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:717,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:720,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:722,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:723,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 631
    functionDepth: 4
    functionLinenumber: 631
    functionLinenumberEnd: 724
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::GenerateRsaKeyValues
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - google::crypto::tink::RsaSsaPssPrivateKey::set_version
    - google::crypto::tink::RsaSsaPssParams::set_mgf1_hash
    - crypto::tink::internal::IsFipsEnabledInSsl
    - google::crypto::tink::RsaSsaPssPublicKey::set_e
    - google::crypto::tink::RsaSsaPssParams::set_sig_hash
    - IsOk
    - google::crypto::tink::RsaSsaPssPrivateKey::set_crt
    - GTEST_SKIP
    - google::crypto::tink::RsaSsaPssPrivateKey::set_p
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dp
    - google::crypto::tink::RsaSsaPssPublicKey::set_n
    - google::crypto::tink::RsaSsaPssPrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPssParams::set_salt_length
    - google::crypto::tink::RsaSsaPssPublicKey::mutable_params
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::SignatureConfig::Register
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::RsaSsaPssPublicKey::set_version
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RsaSsaPssPublicKey::Create
    - google::crypto::tink::RsaSsaPssPrivateKey::mutable_public_key
    - google::crypto::tink::RsaSsaPssPrivateKey::set_d
    - google::crypto::tink::RsaSsaPssPrivateKey::set_dq
    - RestrictedBigInteger
    - google::crypto::tink::RsaSsaPssPrivateKey::set_q
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, RsaSsaPssProtoPrivateKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:727,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:728,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:733,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_config_test.cc:734,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:735,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:735,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:738,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:740,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:740,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:740,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:743,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:749,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:749,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:752,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:754,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_config_test.cc:754,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:755,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:758,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:758,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:758,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:761,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:763,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:763,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/signature_config_test.cc:766,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:768,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 769
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::SignatureConfig::Register
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - SignatureKeyTemplates::EcdsaP256
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, EcdsaProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:772,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:773,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/signature_config_test.cc:777,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_config_test.cc:777,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/signature_config_test.cc:778,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:779,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:779,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/signature/signature_config_test.cc:781,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/signature_config_test.cc:781,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:782,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:782,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:785,1
    - Dst: dynamic_cast<const internal::LegacyProtoKey *>
      Src: /src/tink/cc/signature/signature_config_test.cc:785,1
    - Dst: GetPrimary
      Src: /src/tink/cc/signature/signature_config_test.cc:786,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_config_test.cc:787,1
    - Dst: IsNull
      Src: /src/tink/cc/signature/signature_config_test.cc:787,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:790,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:796,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:796,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/signature_config_test.cc:799,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:800,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:800,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:801,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:801,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:803,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:804,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:805,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:805,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:808,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:808,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/signature/signature_config_test.cc:809,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:813,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/signature_config_test.cc:814,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:817,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:817,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:817,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/signature/signature_config_test.cc:820,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/signature_config_test.cc:820,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:821,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:821,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:824,1
    - Dst: dynamic_cast<const EcdsaPublicKey *>
      Src: /src/tink/cc/signature/signature_config_test.cc:824,1
    - Dst: GetPrimary
      Src: /src/tink/cc/signature/signature_config_test.cc:825,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_config_test.cc:826,1
    - Dst: IsNull
      Src: /src/tink/cc/signature/signature_config_test.cc:826,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:828,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:828,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/signature/signature_config_test.cc:829,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 833
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 833
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsNull
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - crypto::tink::GetPublicKeysetHandle
    - EXPECT_THAT
    - SignatureKeyTemplates::EcdsaP256
    - GTEST_SKIP
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::internal::NewEcKey
    - crypto::tink::SignatureConfig::Register
    - dynamic_cast<const internal::LegacyProtoKey *>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - crypto::tink::KeyGenConfigSignatureV0
    - crypto::tink::GetPartialKeyAccess
    - dynamic_cast<const EcdsaPublicKey *>
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - HasSubstr
    - GetPrimary
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, EcdsaProtoPublicKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config_test.cc:836,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/signature_config_test.cc:837,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/signature_config_test.cc:841,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_config_test.cc:841,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/signature_config_test.cc:842,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:843,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:843,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:846,1
    - Dst: dynamic_cast<const internal::LegacyProtoKey *>
      Src: /src/tink/cc/signature/signature_config_test.cc:846,1
    - Dst: GetPrimary
      Src: /src/tink/cc/signature/signature_config_test.cc:847,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_config_test.cc:848,1
    - Dst: IsNull
      Src: /src/tink/cc/signature/signature_config_test.cc:848,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:851,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:857,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:857,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/signature_config_test.cc:860,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:861,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:861,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:862,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:862,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/signature_config_test.cc:864,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_config_test.cc:864,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/signature_config_test.cc:865,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:868,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:869,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:870,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:870,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/signature_config_test.cc:872,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/signature_config_test.cc:873,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:874,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:874,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:877,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:877,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/signature/signature_config_test.cc:878,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_config_test.cc:882,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/signature_config_test.cc:883,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:886,1
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/signature_config_test.cc:886,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:886,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/signature_config_test.cc:889,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_config_test.cc:889,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/signature_config_test.cc:890,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:891,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:891,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:894,1
    - Dst: dynamic_cast<const EcdsaPrivateKey *>
      Src: /src/tink/cc/signature/signature_config_test.cc:894,1
    - Dst: GetPrimary
      Src: /src/tink/cc/signature/signature_config_test.cc:895,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_config_test.cc:896,1
    - Dst: IsNull
      Src: /src/tink/cc/signature/signature_config_test.cc:896,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_config_test.cc:898,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/signature/signature_config_test.cc:898,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/signature/signature_config_test.cc:899,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_config_test.cc:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 903
      start: 835
    functionDepth: 4
    functionLinenumber: 835
    functionLinenumberEnd: 903
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::InsecureSecretKeyAccess::Get
    - KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsNull
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - EXPECT_THAT
    - SignatureKeyTemplates::EcdsaP256
    - GTEST_SKIP
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::internal::NewEcKey
    - crypto::tink::SignatureConfig::Register
    - dynamic_cast<const internal::LegacyProtoKey *>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - StatusIs
    - crypto::tink::KeyGenConfigSignatureV0
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - HasSubstr
    - GetPrimary
    - dynamic_cast<const EcdsaPrivateKey *>
    - RestrictedBigInteger
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SignatureConfigTest, EcdsaProtoPrivateKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1PublicKey(const RsaSsaPkcs1PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const RsaSsaPkcs1PublicKey& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PublicKey
    signature: RsaSsaPkcs1PublicKey & operator=(const RsaSsaPkcs1PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1PublicKey(RsaSsaPkcs1PublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(RsaSsaPkcs1PublicKey&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PublicKey
    signature: RsaSsaPkcs1PublicKey & operator=(RsaSsaPkcs1PublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& GetModulus(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & GetModulus(PartialKeyAccessToken token) 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: crypto::tink::RsaSsaPkcs1PublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters
    signature: RsaSsaPkcs1Parameters & GetParameters() const override
  - 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: crypto::tink::RsaSsaPkcs1PublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' modulus'
    - id_requirement
    - output_prefix
    argTypes:
    - RsaSsaPkcs1Parameters
    - BigInteger
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPkcs1PublicKey(const RsaSsaPkcs1Parameters& parameters,\n
      \                               const BigInteger& modulus,\n                                absl::optional<int>
      id_requirement,\n                                absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeySign*::Sign
      Src: /src/tink/cc/signature/sig_util.cc:29,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/sig_util.cc:30,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/sig_util.cc:30,1
    - Dst: PublicKeyVerify*::Verify
      Src: /src/tink/cc/signature/sig_util.cc:31,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/sig_util.cc:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - signer
    - verifier
    argTypes:
    - PublicKeySign*
    - PublicKeyVerify*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: crypto::tink::SignAndVerify
    functionSourceFile: /src/tink/cc/signature/sig_util.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - PublicKeyVerify*::Verify
    - auto::ok
    - PublicKeySign*::Sign
    - auto::value
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status SignAndVerify(const PublicKeySign* signer,\n
      \                                        const PublicKeyVerify* verifier)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:57,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:58,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:60,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssSignKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:68,1
    - Dst: auto::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:69,1
    - Dst: auto::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:70,1
    - Dst: auto::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:71,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:72,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:75,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:75,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:76,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:77,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:77,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:77,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - sig_hash
    - mgf1_hash
    - salt_length
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - HashType
    - HashType
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - auto::set_sig_hash
    - BN_set_word
    - auto::set_salt_length
    - RsaSsaPssKeyFormat::set_public_exponent
    - BN_num_bytes
    - RsaSsaPssKeyFormat::mutable_params
    - auto::set_mgf1_hash
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    linkageType: ''
    returnType: RsaSsaPssKeyFormat
    signature: "RsaSsaPssKeyFormat CreateKeyFormat(HashType sig_hash, HashType mgf1_hash,\n
      \                                  int salt_length, int modulus_size_in_bits,\n
      \                                  int public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc: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: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 11
    functionsReached:
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: RsaSsaPssKeyFormat
    signature: RsaSsaPssKeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:87,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:87,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssSignKeyManager
    - crypto::tink::ValidKeyFormat
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:92,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:93,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:95,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:95,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssKeyFormat::mutable_params
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormatSha512Allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:100,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:102,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssKeyFormat::mutable_params
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormatSha1Disallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:107,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:109,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:109,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssSignKeyManager
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormatSmallModulusDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:114,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:115,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:117,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:117,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssKeyFormat::mutable_params
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormatHashMismatchDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:122,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:123,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:125,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:125,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssKeyFormat::mutable_params
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormatHashMismatchDisallowed2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:130,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:131,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:133,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:133,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssKeyFormat::mutable_params
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, ValidateKeyFormatUnkownHashDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:142,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:142,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: RsaSsaPssPublicKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: RsaSsaPssPublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: Gt
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:145,1
    - Dst: RsaSsaPssPublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:145,1
    - Dst: Gt
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:146,1
    - Dst: RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:146,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:147,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:148,1
    - Dst: RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:148,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:149,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:150,1
    - Dst: RsaSsaPssPublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:151,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: RsaSsaPssPublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:156,1
    - Dst: RsaSsaPssPublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:157,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:159,1
    - Dst: d
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:162,1
    - Dst: p
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:163,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:165,1
    - Dst: q
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:166,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:168,1
    - Dst: dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:169,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:171,1
    - Dst: dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:172,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:177,1
    - Dst: BN_new
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:178,1
    - Dst: BN_mul
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:178,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:178,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:178,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:178,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:179,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:179,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:179,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:179,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:182,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:182,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:182,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:182,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:185,1
    - Dst: BN_dup
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:185,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:186,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:186,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:186,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:187,1
    - Dst: BN_new
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: BN_mod
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:189,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:189,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:189,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:189,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:192,1
    - Dst: BN_dup
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:192,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:193,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:193,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:193,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:194,1
    - Dst: BN_new
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:195,1
    - Dst: BN_mod
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:195,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:195,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:195,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:195,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:196,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:196,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:196,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - ' private_key'
    - ' key_format'
    argTypes:
    - RsaSsaPssPrivateKey
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 197
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 197
    functionName: crypto::tink::CheckNewKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_THAT
    - internal::SslUniquePtr<BIGNUM>
    - BN_mod
    - Gt
    - dq
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_new
    - RsaSsaPssPublicKey::n
    - BN_dup
    - EXPECT_THAT
    - dp
    - EXPECT_GE
    - RsaSsaPssPublicKey::version
    - RsaSsaPssPublicKey::e
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - BN_sub_word
    - params
    - version
    - public_exponent
    - BN_num_bits
    - Eq
    - util::StatusOr::get
    - public_key
    - p
    - q
    - BN_cmp
    - d
    - RsaSsaPssPublicKey::params
    - modulus_size_in_bits
    - auto::get
    - BN_mul
    linkageType: ''
    returnType: void
    signature: "void CheckNewKey(const RsaSsaPssPrivateKey& private_key,\n                 const
      RsaSsaPssKeyFormat& key_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:200,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:203,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:204,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:209,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:213,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:214,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - RsaSsaPssSignKeyManager
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, CreateKeySmallKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:219,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:223,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:224,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - RsaSsaPssSignKeyManager
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, CreateKeyLargeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:229,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:231,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:231,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:241,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:242,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:243,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:243,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:244,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:246,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - absl::flat_hash_set::insert
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, CreateKeyAlwaysNewRsaPair)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:251,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:252,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:254,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:256,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:256,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:257,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:257,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:258,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:258,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:258,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:259,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:259,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:259,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::value
    - IsOk
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPssSignKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:264,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:267,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:268,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:271,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:277,1
    - Dst: RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:278,1
    - Dst: RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:283,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:283,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::value
    - IsOk
    - ASSERT_THAT
    - RsaSsaPssPrivateKey::public_key
    - auto::value
    - EXPECT_THAT
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - RsaSsaPssSignKeyManager
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:290,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:293,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:294,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:296,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:300,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:303,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:309,1
    - Dst: RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:310,1
    - Dst: RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:312,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:315,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:315,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:316,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 318
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::value
    - IsOk
    - Not
    - ASSERT_THAT
    - RsaSsaPssPrivateKey::public_key
    - auto::value
    - EXPECT_THAT
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - RsaSsaPssSignKeyManager
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, CreateWrongKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pem_serialized_keys'
    argTypes:
    - std::vector<PemKey>
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: crypto::tink::SignaturePemKeysetReader::SignaturePemKeysetReader
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SignaturePemKeysetReader(\n      const std::vector<PemKey>& pem_serialized_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pem_reader_type
    argTypes:
    - PemReaderType
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: crypto::tink::SignaturePemKeysetReaderBuilder::SignaturePemKeysetReaderBuilder
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignaturePemKeysetReaderBuilder(PemReaderType pem_reader_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pem_serialized_keys
    argTypes:
    - std::vector<PemKey>
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: crypto::tink::PublicKeySignPemKeysetReader::PublicKeySignPemKeysetReader
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PublicKeySignPemKeysetReader(\n      const std::vector<PemKey>
      pem_serialized_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pem_serialized_keys
    argTypes:
    - std::vector<PemKey>
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: crypto::tink::PublicKeyVerifyPemKeysetReader::PublicKeyVerifyPemKeysetReader
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PublicKeyVerifyPemKeysetReader(\n      const std::vector<PemKey>
      pem_serialized_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/signature/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddSignatureKeyGenV0
      Src: /src/tink/cc/signature/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigSignatureV0
    functionSourceFile: /src/tink/cc/signature/key_gen_config_v0.cc
    functionUses: 2
    functionsReached:
    - CHECK_OK
    - crypto::tink::internal::AddSignatureKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigSignatureV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::SignatureConfig::SignatureConfig
    functionSourceFile: /src/tink/cc/signature/signature_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SignatureConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:65,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:69,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:73,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:76,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:78,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:81,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:81,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:83,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:87,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:87,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:88,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:88,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:89,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:89,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:90,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:91,1
    - Dst: util::StatusOr::GetPrivateKeyBytes
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:91,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:91,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetPublicKey
    - util::StatusOr::GetIdRequirement
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::GetPrivateKeyBytes
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519PrivateKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:98,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:102,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:104,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:106,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:108,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:111,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:113,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:113,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:114,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PrivateKeyTest, CreateWithMismatchedPublicKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:122,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:126,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:129,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:131,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:133,1
    - Dst: private_key::substr
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:134,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:136,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:136,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:137,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 140
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - private_key::substr
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PrivateKeyTest, CreateWithInvalidPrivateKeyLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:143,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:147,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:151,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:154,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:156,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:159,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:159,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:161,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:163,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:166,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:171,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - GetParam
    - EXPECT_FALSE
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519PrivateKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:179,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:183,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:186,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:188,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:191,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:193,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:196,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:196,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:198,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:200,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:203,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:205,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:207,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:208,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:209,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_private_key_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - EXPECT_FALSE
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:50,1
    - Dst: e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:51,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:54,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:55,1
    - Dst: RsaSsaPkcs1Params::hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:55,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:58,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:59,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:60,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' rsa_ssa_pkcs1_public_key'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: "RsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const RsaSsaPkcs1PublicKey& rsa_ssa_pkcs1_public_key) const"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - std::move
    - params
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    - RsaSsaPkcs1Params::hash_type
    - n
    - e
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> RsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const RsaSsaPkcs1PublicKey& rsa_ssa_pkcs1_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:65,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:66,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - RsaSsaPkcs1Params
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: crypto::tink::RsaSsaPkcs1VerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::internal::IsHashTypeSafeForSignature
    - hash_type
    linkageType: ''
    returnType: util::Status
    signature: "util::Status RsaSsaPkcs1VerifyKeyManager::ValidateParams(\n    const
      RsaSsaPkcs1Params& params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:71,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:71,1
    - Dst: crypto::tink::RsaSsaPkcs1VerifyKeyManager::get_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:71,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:72,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:74,1
    - Dst: n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:74,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:76,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:79,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:79,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:79,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:80,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:83,1
    - Dst: e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:83,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:84,1
    - Dst: crypto::tink::RsaSsaPkcs1VerifyKeyManager::ValidateParams
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:87,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: crypto::tink::RsaSsaPkcs1VerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::internal::ValidateRsaPublicExponent
    - util::Status::ok
    - crypto::tink::RsaSsaPkcs1VerifyKeyManager::get_version
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - ValidateVersion
    - crypto::tink::internal::ValidateRsaModulusSize
    - params
    - version
    - util::StatusOr::ok
    - crypto::tink::RsaSsaPkcs1VerifyKeyManager::ValidateParams
    - BN_num_bits
    - n
    - e
    linkageType: ''
    returnType: util::Status
    signature: "util::Status RsaSsaPkcs1VerifyKeyManager::ValidateKey(\n    const
      RsaSsaPkcs1PublicKey& key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:46,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:51,1
    - Dst: GetValue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:51,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:53,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:57,1
    - Dst: GetValue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:57,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:58,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:59,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:63,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:63,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:63,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:64,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:65,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:69,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:69,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:69,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:70,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:71,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:74,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:74,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:74,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:76,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:80,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:80,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:82,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:85,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:85,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:87,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:90,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:90,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:92,1
    - Dst: RSA_set0_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:97,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:97,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:97,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:97,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:97,1
    - Dst: RSA_set0_factors
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:99,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:99,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:99,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:99,1
    - Dst: RSA_set0_crt_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:100,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:100,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:100,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:100,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:114,1
    - Dst: RSA_check_fips
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:119,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:120,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 8
    argNames:
    - ' public_exponent'
    - ' modulus'
    - ' p'
    - ' q'
    - ' d'
    - ' dp'
    - ' dq'
    - ' q_inv'
    argTypes:
    - BigInteger
    - BigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 126
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 126
    functionName: crypto::tink::ValidateKeyPair
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::StringToBignum
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - RSA_set0_crt_params
    - util::StatusOr::ok
    - util::StatusOr::release
    - GetValue
    - RSA_set0_key
    - RSA_check_fips
    - crypto::tink::util::OkStatus
    - RSA_set0_factors
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyPair(\n    const BigInteger& public_exponent,
      const BigInteger& modulus,\n    const RestrictedBigInteger& p, const RestrictedBigInteger&
      q,\n    const RestrictedBigInteger& d, const RestrictedBigInteger& dp,\n    const
      RestrictedBigInteger& dq, const RestrictedBigInteger& q_inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - RsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: "& RsaSsaPkcs1PrivateKey::Builder::SetPublicKey(\n    const RsaSsaPkcs1PublicKey&
      public_key)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder & RsaSsaPkcs1PrivateKey::Builder::SetPublicKey(\n
      \   const RsaSsaPkcs1PublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: "& RsaSsaPkcs1PrivateKey::Builder::SetPrimeP(\n    const RestrictedBigInteger&
      p)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder & RsaSsaPkcs1PrivateKey::Builder::SetPrimeP(\n
      \   const RestrictedBigInteger& p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: "& RsaSsaPkcs1PrivateKey::Builder::SetPrimeQ(\n    const RestrictedBigInteger&
      q)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder & RsaSsaPkcs1PrivateKey::Builder::SetPrimeQ(\n
      \   const RestrictedBigInteger& q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dp'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: "&\nRsaSsaPkcs1PrivateKey::Builder::SetPrimeExponentP(\n    const
      RestrictedBigInteger& dp)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder &\nRsaSsaPkcs1PrivateKey::Builder::SetPrimeExponentP(\n
      \   const RestrictedBigInteger& dp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dq'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: "&\nRsaSsaPkcs1PrivateKey::Builder::SetPrimeExponentQ(\n    const
      RestrictedBigInteger& dq)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder &\nRsaSsaPkcs1PrivateKey::Builder::SetPrimeExponentQ(\n
      \   const RestrictedBigInteger& dq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: "&\nRsaSsaPkcs1PrivateKey::Builder::SetPrivateExponent(\n    const
      RestrictedBigInteger& d)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder &\nRsaSsaPkcs1PrivateKey::Builder::SetPrivateExponent(\n
      \   const RestrictedBigInteger& d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' q_inv'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: "&\nRsaSsaPkcs1PrivateKey::Builder::SetCrtCoefficient(\n    const
      RestrictedBigInteger& q_inv)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey::Builder
    signature: "RsaSsaPkcs1PrivateKey::Builder &\nRsaSsaPkcs1PrivateKey::Builder::SetCrtCoefficient(\n
      \   const RestrictedBigInteger& q_inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:179,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:183,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:183,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:184,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:188,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:188,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:189,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:193,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:194,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:198,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:199,1
    - Dst: ValidateKeyPair
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:204,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:205,1
    - Dst: GetModulus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:206,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:207,1
    - Dst: RsaSsaPkcs1PrivateKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 213
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 213
    functionName: "RsaSsaPkcs1PrivateKey::Builder::Build(\n    PartialKeyAccessToken
      token)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached:
    - GetModulus
    - RsaSsaPkcs1PrivateKey
    - GetParameters
    - util::Status::ok
    - has_value
    - crypto::tink::internal::ExtractStatus
    - ValidateKeyPair
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1PrivateKey>
    signature: "util::StatusOr<RsaSsaPkcs1PrivateKey> RsaSsaPkcs1PrivateKey::Builder::Build(\n
      \   PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RsaSsaPkcs1PrivateKey*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:217,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:221,1
    - Dst: RsaSsaPkcs1PrivateKey*::GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: RsaSsaPkcs1PrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
    functionUses: 0
    functionsReached:
    - GetPublicKey
    - dynamic_cast<const RsaSsaPkcs1PrivateKey*>
    - RsaSsaPkcs1PrivateKey*::GetPublicKey
    linkageType: ''
    returnType: bool
    signature: bool RsaSsaPkcs1PrivateKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:53,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:54,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc: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: crypto::tink::PublicKeyVerifyFactoryTest::SetUp
    functionSourceFile: /src/tink/cc/signature/public_key_verify_factory_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::SignatureConfig::Register
    - auto::ok
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEcdsaTestPrivateKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:59,1
    - Dst: auto::public_key
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: crypto::tink::GetNewEcdsaPublicKey
    functionSourceFile: /src/tink/cc/signature/public_key_verify_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::public_key
    - crypto::tink::test::GetEcdsaTestPrivateKey
    linkageType: ''
    returnType: EcdsaPublicKey
    signature: EcdsaPublicKey GetNewEcdsaPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::PublicKeyVerifyFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:67,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:68,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:70,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:71,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:72,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_verify_factory_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::PublicKeyVerifyFactory::GetPrimitive
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(PublicKeyVerifyFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:83,1
    - Dst: crypto::tink::GetNewEcdsaPublicKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:83,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:87,1
    - Dst: crypto::tink::GetNewEcdsaPublicKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:87,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:91,1
    - Dst: crypto::tink::GetNewEcdsaPublicKey
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:91,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:94,1
    - Dst: crypto::tink::PublicKeyVerifyFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:97,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:99,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:99,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_verify_factory_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_verify_factory_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::PublicKeyVerifyFactory::GetPrimitive
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::GetNewEcdsaPublicKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(PublicKeyVerifyFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/signature/failing_signature.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: crypto::tink::AlwaysFailPublicKeySign::AlwaysFailPublicKeySign
    functionSourceFile: /src/tink/cc/signature/failing_signature.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailPublicKeySign(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/failing_signature.cc:43,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/failing_signature.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: crypto::tink::AlwaysFailPublicKeySign::Sign
    functionSourceFile: /src/tink/cc/signature/failing_signature.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Sign(\n      absl::string_view /*message*/)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/signature/failing_signature.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: crypto::tink::AlwaysFailPublicKeyVerify::AlwaysFailPublicKeyVerify
    functionSourceFile: /src/tink/cc/signature/failing_signature.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailPublicKeyVerify(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::InternalError
      Src: /src/tink/cc/signature/failing_signature.cc:61,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/failing_signature.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: crypto::tink::AlwaysFailPublicKeyVerify::Verify
    functionSourceFile: /src/tink/cc/signature/failing_signature.cc
    functionUses: 0
    functionsReached:
    - absl::InternalError
    - absl::StrCat
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Verify(absl::string_view /*signature*/,\n                      absl::string_view
      /*message*/) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailPublicKeySign>
      Src: /src/tink/cc/signature/failing_signature.cc:75,1
    - Dst: std::move
      Src: /src/tink/cc/signature/failing_signature.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto::tink::CreateAlwaysFailingPublicKeySign
    functionSourceFile: /src/tink/cc/signature/failing_signature.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<AlwaysFailPublicKeySign>
    - std::move
    linkageType: ''
    returnType: std::unique_ptr<PublicKeySign>
    signature: "std::unique_ptr<PublicKeySign> CreateAlwaysFailingPublicKeySign(\n
      \   std::string message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailPublicKeyVerify>
      Src: /src/tink/cc/signature/failing_signature.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/signature/failing_signature.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: crypto::tink::CreateAlwaysFailingPublicKeyVerify
    functionSourceFile: /src/tink/cc/signature/failing_signature.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailPublicKeyVerify>
    linkageType: ''
    returnType: std::unique_ptr<PublicKeyVerify>
    signature: "std::unique_ptr<PublicKeyVerify> CreateAlwaysFailingPublicKeyVerify(\n
      \   std::string message)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/signature/signature_config.cc:45,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/signature/signature_config.cc:46,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:47,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/signature/signature_config.cc:48,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/signature/signature_config.cc:49,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:50,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/signature/signature_config.cc:55,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:56,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:57,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:58,1
    - Dst: RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/signature_config.cc:60,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:61,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/signature/signature_config.cc:66,1
    - Dst: absl::make_unique<RsaSsaPssSignKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:67,1
    - Dst: absl::make_unique<RsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:68,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:69,1
    - Dst: RegisterRsaSsaPssProtoSerialization
      Src: /src/tink/cc/signature/signature_config.cc:71,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:72,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/signature/signature_config.cc:75,1
    - Dst: absl::make_unique<RsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:76,1
    - Dst: absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:78,1
    - Dst: RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/signature_config.cc:80,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:81,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/signature/signature_config.cc:83,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_config.cc:84,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/signature/signature_config.cc:88,1
    - Dst: absl::make_unique<Ed25519SignKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:89,1
    - Dst: absl::make_unique<Ed25519VerifyKeyManager>
      Src: /src/tink/cc/signature/signature_config.cc:90,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_config.cc:91,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_config.cc:93,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 94
    functionName: crypto::tink::SignatureConfig::Register
    functionSourceFile: /src/tink/cc/signature/signature_config.cc
    functionUses: 16
    functionsReached:
    - absl::make_unique<PublicKeyVerifyWrapper>
    - RegisterRsaSsaPkcs1ProtoSerialization
    - auto::ok
    - RegisterEcdsaProtoSerialization
    - IsFipsModeEnabled
    - absl::make_unique<PublicKeySignWrapper>
    - crypto::tink::util::OkStatus
    - absl::make_unique<RsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RsaSsaPssVerifyKeyManager>
    - absl::make_unique<EcdsaVerifyKeyManager>
    - absl::make_unique<Ed25519VerifyKeyManager>
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<EcdsaSignKeyManager>
    - absl::make_unique<RsaSsaPssSignKeyManager>
    - RegisterRsaSsaPssProtoSerialization
    - absl::make_unique<Ed25519SignKeyManager>
    - absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status SignatureConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:59,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:60,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:62,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssVerifyKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:67,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:67,1
    - Dst: RsaSsaPssPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:67,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey
    - Not
    - IsOk
    - EXPECT_THAT
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:75,1
    - Dst: auto::set_sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:76,1
    - Dst: auto::set_mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:77,1
    - Dst: auto::set_salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:78,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:79,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:82,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:82,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:83,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:84,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:84,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:84,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - sig_hash
    - mgf1_hash
    - salt_length
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - HashType
    - HashType
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 5
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - auto::set_sig_hash
    - BN_set_word
    - auto::set_salt_length
    - RsaSsaPssKeyFormat::set_public_exponent
    - BN_num_bytes
    - RsaSsaPssKeyFormat::mutable_params
    - auto::set_mgf1_hash
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    linkageType: ''
    returnType: RsaSsaPssKeyFormat
    signature: "RsaSsaPssKeyFormat CreateKeyFormat(HashType sig_hash, HashType mgf1_hash,\n
      \                                  int salt_length, int modulus_size_in_bits,\n
      \                                  int public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc: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: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 22
    functionsReached:
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: RsaSsaPssKeyFormat
    signature: RsaSsaPssKeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:94,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc: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: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 3
    functionsReached:
    - RsaSsaPssSignKeyManager
    - crypto::tink::ValidKeyFormat
    linkageType: ''
    returnType: RsaSsaPssPrivateKey
    signature: RsaSsaPssPrivateKey CreateValidPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:98,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 4
    functionsReached:
    - RsaSsaPssSignKeyManager
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: RsaSsaPssPublicKey
    signature: RsaSsaPssPublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:106,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssVerifyKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:110,1
    - Dst: RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:112,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:112,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RsaSsaPssVerifyKeyManager
    - RsaSsaPssPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:116,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:117,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:119,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:119,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::mutable_params
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, PublicKeyHashMismatchDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:123,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:124,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:126,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:126,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::mutable_params
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, PublicKeyHashMismatchDisallowed2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:130,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:131,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:133,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:133,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::mutable_params
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, PublicKeyUnkownHashDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:137,1
    - Dst: RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:138,1
    - Dst: RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:140,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:140,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:141,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::set_e
    - StatusIs
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RsaSsaPssPublicKey::set_n
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, ValidateKeyFormatSmallModulusDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:146,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:148,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:148,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::mutable_params
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, NegativeSaltLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:153,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:156,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:157,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:159,1
    - Dst: RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:162,1
    - Dst: RsaSsaPssPrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:163,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:164,1
    - Dst: RsaSsaPssPrivateKey::d
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:164,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:165,1
    - Dst: RsaSsaPssPrivateKey::p
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:165,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:166,1
    - Dst: RsaSsaPssPrivateKey::q
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:166,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:167,1
    - Dst: RsaSsaPssPrivateKey::dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:167,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:168,1
    - Dst: RsaSsaPssPrivateKey::dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:168,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:169,1
    - Dst: RsaSsaPssPrivateKey::crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:169,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:171,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:180,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:180,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPrivateKey::p
    - RsaSsaPssPrivateKey::crt
    - StatusOr::value
    - IsOk
    - RsaSsaPssPrivateKey::d
    - RsaSsaPssPrivateKey::q
    - ASSERT_THAT
    - RsaSsaPssPrivateKey::public_key
    - crypto::tink::util::SecretDataFromStringView
    - RsaSsaPssPrivateKey::dp
    - EXPECT_THAT
    - auto::value
    - RsaSsaPssVerifyKeyManager
    - RsaSsaPssSignKeyManager
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - crypto::tink::CreateKeyFormat
    - RsaSsaPssPrivateKey::dq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:230,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:231,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:232,1
    - Dst: RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:233,1
    - Dst: RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:234,1
    - Dst: RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:235,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:238,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::mutable_params
    - RsaSsaPssPublicKey::set_e
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - RsaSsaPssPublicKey::set_n
    - RsaSsaPssVerifyKeyManager
    - RsaSsaPssPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssVerifyKeyManagerTest, TestVector)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - modulus_size_in_bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: '&

      RsaSsaPssParameters::Builder::SetModulusSizeInBits(int modulus_size_in_bits)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters::Builder
    signature: 'RsaSsaPssParameters::Builder &

      RsaSsaPssParameters::Builder::SetModulusSizeInBits(int modulus_size_in_bits)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' public_exponent'
    argTypes:
    - BigInteger
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: "& RsaSsaPssParameters::Builder::SetPublicExponent(\n    const BigInteger&
      public_exponent)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters::Builder
    signature: "RsaSsaPssParameters::Builder & RsaSsaPssParameters::Builder::SetPublicExponent(\n
      \   const BigInteger& public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig_hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: "& RsaSsaPssParameters::Builder::SetSigHashType(\n    HashType sig_hash_type)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters::Builder
    signature: "RsaSsaPssParameters::Builder & RsaSsaPssParameters::Builder::SetSigHashType(\n
      \   HashType sig_hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgf1_hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: "& RsaSsaPssParameters::Builder::SetMgf1HashType(\n    HashType
      mgf1_hash_type)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters::Builder
    signature: "RsaSsaPssParameters::Builder & RsaSsaPssParameters::Builder::SetMgf1HashType(\n
      \   HashType mgf1_hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - salt_length_in_bytes
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: '&

      RsaSsaPssParameters::Builder::SetSaltLengthInBytes(int salt_length_in_bytes)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters::Builder
    signature: 'RsaSsaPssParameters::Builder &

      RsaSsaPssParameters::Builder::SetSaltLengthInBytes(int salt_length_in_bytes)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: "& RsaSsaPssParameters::Builder::SetVariant(\n    Variant variant)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters::Builder
    signature: "RsaSsaPssParameters::Builder & RsaSsaPssParameters::Builder::SetVariant(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:83,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:84,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:88,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:89,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:93,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:94,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:99,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:103,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:109,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:111,1
    - Dst: std::set<HashType>::set<HashType>
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:116,1
    - Dst: std::set*::find
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:119,1
    - Dst: std::set*::end
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:120,1
    - Dst: std::set*::find
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:125,1
    - Dst: std::set*::end
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:126,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:132,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:138,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:140,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:147,1
    - Dst: GetValue
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:147,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:148,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:154,1
    - Dst: std::set*::find
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:156,1
    - Dst: std::set*::end
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:156,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:157,1
    - Dst: RsaSsaPssParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 164
    functionName: RsaSsaPssParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ValidateRsaPublicExponent
    - util::Status::ok
    - RsaSsaPssParameters
    - has_value
    - crypto::tink::internal::ExtractStatus
    - std::set<HashType>::set<HashType>
    - std::set*::end
    - GetValue
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssParameters>
    signature: util::StatusOr<RsaSsaPssParameters> RsaSsaPssParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RsaSsaPssParameters*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: RsaSsaPssParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const RsaSsaPssParameters*>
    linkageType: ''
    returnType: bool
    signature: bool RsaSsaPssParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:196,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:196,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:199,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:199,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:199,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:199,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: RsaSsaPssParameters::Builder::CreateDefaultPublicExponent()
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger RsaSsaPssParameters::Builder::CreateDefaultPublicExponent()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:55,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:56,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:56,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:57,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:57,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:58,1
    - Dst: EcdsaPrivateKey::set_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:62,1
    - Dst: crypto::tink::EcdsaSignKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:62,1
    - Dst: EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:63,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:64,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:64,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:65,1
    - Dst: auto::set_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:66,1
    - Dst: crypto::tink::EcdsaSignKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:66,1
    - Dst: auto::set_x
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:67,1
    - Dst: auto::set_y
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:68,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:69,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' ecdsa_key_format'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: crypto::tink::EcdsaSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::set_x
    - auto::status
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - crypto::tink::EcdsaSignKeyManager::get_version
    - auto::ok
    - std::string
    - EcdsaPrivateKey::mutable_public_key
    - params
    - EcdsaPrivateKey::set_key_value
    - auto::value
    - auto::mutable_params
    - crypto::tink::util::Enums::ProtoToSubtle
    - auto::set_y
    - EcdsaPrivateKey::set_version
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<EcdsaPrivateKey>
    signature: "StatusOr<EcdsaPrivateKey> EcdsaSignKeyManager::CreateKey(\n    const
      EcdsaKeyFormat& ecdsa_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:76,1
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:82,1
    - Dst: version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:82,1
    - Dst: crypto::tink::EcdsaSignKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:82,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:83,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:93,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:104,1
    - Dst: ReadSecretBytesFromStream
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:110,1
    - Dst: crypto::tink::util::StatusOr<util::SecretData>::ok
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:111,1
    - Dst: crypto::tink::util::StatusOr<util::SecretData>::status
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:112,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:113,1
    - Dst: crypto::tink::util::StatusOr<util::SecretData>::status
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:117,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:122,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:123,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:123,1
    - Dst: crypto::tink::util::StatusOr<internal::EcKey>::ok
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:126,1
    - Dst: crypto::tink::util::StatusOr<internal::EcKey>::status
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:127,1
    - Dst: EcdsaPrivateKey::set_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:132,1
    - Dst: crypto::tink::EcdsaSignKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:132,1
    - Dst: EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:133,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:134,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:134,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:135,1
    - Dst: EcdsaPublicKey*::set_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:136,1
    - Dst: crypto::tink::EcdsaSignKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:136,1
    - Dst: EcdsaPublicKey*::set_x
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:137,1
    - Dst: EcdsaPublicKey*::set_y
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:138,1
    - Dst: EcdsaPublicKey*::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:139,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - ' ecdsa_key_format'
    - input_stream
    argTypes:
    - EcdsaKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 141
      start: 73
    functionDepth: 4
    functionLinenumber: 73
    functionLinenumberEnd: 141
    functionName: crypto::tink::EcdsaSignKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::util::StatusOr<internal::EcKey>::ok
    - crypto::tink::EcdsaSignKeyManager::get_version
    - EcdsaPrivateKey::mutable_public_key
    - crypto::tink::util::StatusOr<util::SecretData>::ok
    - EcdsaPrivateKey::set_key_value
    - EcdsaPublicKey*::set_x
    - crypto::tink::util::StatusOr<util::SecretData>::status
    - util::Status::ok
    - std::string
    - EcdsaPublicKey*::set_version
    - EcdsaPublicKey*::set_y
    - crypto::tink::internal::NewEcKey
    - crypto::tink::util::StatusOr<internal::EcKey>::status
    - ValidateVersion
    - params
    - ReadSecretBytesFromStream
    - version
    - crypto::tink::util::Enums::ProtoToSubtle
    - EcdsaPublicKey*::mutable_params
    - IsFipsModeEnabled
    - crypto::tink::internal::ExtractStatus
    - EcdsaPrivateKey::set_version
    linkageType: ''
    returnType: StatusOr<EcdsaPrivateKey>
    signature: "StatusOr<EcdsaPrivateKey> EcdsaSignKeyManager::DeriveKey(\n    const
      EcdsaKeyFormat& ecdsa_key_format, InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:146,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:148,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:148,1
    - Dst: x
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:149,1
    - Dst: y
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:150,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:151,1
    - Dst: key_value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:151,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:152,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:153,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:153,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:154,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:154,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:155,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:155,1
    - Dst: std::move
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' ecdsa_private_key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: "EcdsaSignKeyManager::PublicKeySignFactory::Create(\n    const EcdsaPrivateKey&
      ecdsa_private_key) const"
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - public_key
    - x
    - auto::ok
    - y
    - key_value
    - params
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> EcdsaSignKeyManager::PublicKeySignFactory::Create(\n
      \   const EcdsaPrivateKey& ecdsa_private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:160,1
    - Dst: version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:160,1
    - Dst: crypto::tink::EcdsaSignKeyManager::get_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:160,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:161,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:162,1
    - Dst: public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: crypto::tink::EcdsaSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - crypto::tink::EcdsaSignKeyManager::get_version
    - EcdsaVerifyKeyManager
    - ValidateVersion
    - version
    linkageType: ''
    returnType: Status
    signature: Status EcdsaSignKeyManager::ValidateKey(const EcdsaPrivateKey& key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:167,1
    - Dst: Status
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:168,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:170,1
    - Dst: params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - EcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: crypto::tink::EcdsaSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - EcdsaVerifyKeyManager
    - Status
    - has_params
    - params
    linkageType: ''
    returnType: Status
    signature: "Status EcdsaSignKeyManager::ValidateKeyFormat(\n    const EcdsaKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::Ed25519SignKeyManager::Ed25519SignKeyManager
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void Ed25519SignKeyManager()
  - 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: crypto::tink::Ed25519SignKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::Ed25519SignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: crypto::tink::Ed25519SignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::Ed25519PublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::Ed25519PublicKey>
      GetPublicKey(const google::crypto::tink::Ed25519PrivateKey& private_key)\n      const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:75,1
    - Dst: RsaSsaPssParams*::set_mgf1_hash
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:78,1
    - Dst: RsaSsaPssParams*::set_sig_hash
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:79,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:80,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:81,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:81,1
    - Dst: RsaSsaPssParams*::set_salt_length
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:82,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:82,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' pem_parameters'
    - parameters
    argTypes:
    - PemKeyParams
    - RsaSsaPssParams*
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: crypto::tink::SetRsaSsaPssParameters
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::util::Enums::HashLength
    - crypto::tink::internal::ExtractStatus
    - auto::value
    - RsaSsaPssParams*::set_sig_hash
    - RsaSsaPssParams*::set_mgf1_hash
    - crypto::tink::util::OkStatus
    - RsaSsaPssParams*::set_salt_length
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SetRsaSsaPssParameters(const PemKeyParams& pem_parameters,\n
      \                                   RsaSsaPssParams* parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:92,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:98,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:104,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:105,1
    - Dst: EcdsaParams*::set_encoding
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:109,1
    - Dst: EcdsaParams*::set_encoding
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:114,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:119,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' pem_parameters'
    - parameters
    argTypes:
    - PemKeyParams
    - EcdsaParams*
    constantsTouched: []
    func_position:
      end: 127
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 127
    functionName: crypto::tink::SetEcdsaParameters
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - crypto::tink::internal::ExtractStatus
    - EcdsaParams*::set_encoding
    - EcdsaParams*::set_curve
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SetEcdsaParameters(const PemKeyParams& pem_parameters,\n
      \                               EcdsaParams* parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:137,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:138,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:140,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:141,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:142,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:142,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:142,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:143,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - key_id
    - key_type
    - ' key_material_type'
    - ' key_data'
    argTypes:
    - uint32_t
    - absl::string_view
    - KeyData::KeyMaterialType
    - std::string
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: crypto::tink::NewKeysetKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key::mutable_key_data
    - absl::string_view::size
    - KeyData*::set_key_material_type
    - KeyData*::set_type_url
    - Keyset::Key::set_key_id
    - Keyset::Key::set_output_prefix_type
    - absl::string_view::data
    - Keyset::Key::set_status
    - KeyData*::set_value
    linkageType: ''
    returnType: Keyset::Key
    signature: "Keyset::Key NewKeysetKey(uint32_t key_id, absl::string_view key_type,\n
      \                        const KeyData::KeyMaterialType& key_material_type,\n
      \                        const std::string& key_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:157,1
    - Dst: RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:158,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:159,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:159,1
    - Dst: RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:160,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:161,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:161,1
    - Dst: RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:162,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:163,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:163,1
    - Dst: RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:164,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:165,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:165,1
    - Dst: RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:166,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:167,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:167,1
    - Dst: RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:168,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:169,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:169,1
    - Dst: RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:172,1
    - Dst: RsaSsaPssPublicKey*::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:173,1
    - Dst: RsaSsaPssPublicKey*::set_n
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:174,1
    - Dst: RsaSsaPssPublicKey*::set_e
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:175,1
    - Dst: crypto::tink::SetRsaSsaPssParameters
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:179,1
    - Dst: RsaSsaPssPublicKey*::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:179,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - ' private_key_subtle'
    - key_version
    - ' parameters'
    argTypes:
    - internal::RsaPrivateKey
    - uint32_t
    - PemKeyParams
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: crypto::tink::NewRsaSsaPrivateKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - RsaSsaPssPublicKey*::set_e
    - RsaSsaPssPublicKey*::set_version
    - std::string
    - crypto::tink::SetRsaSsaPssParameters
    - auto::ok
    - RsaSsaPssPublicKey*::set_n
    - RsaSsaPssPrivateKey::set_dp
    - RsaSsaPssPrivateKey::set_crt
    - RsaSsaPssPrivateKey::set_p
    - RsaSsaPssPrivateKey::set_d
    - RsaSsaPssPublicKey*::mutable_params
    - RsaSsaPssPrivateKey::mutable_public_key
    - RsaSsaPssPrivateKey::set_dq
    - RsaSsaPssPrivateKey::set_version
    - RsaSsaPssPrivateKey::set_q
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> NewRsaSsaPrivateKey(\n    const
      internal::RsaPrivateKey& private_key_subtle, uint32_t key_version,\n    const
      PemKeyParams& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:196,1
    - Dst: RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:197,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:198,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:198,1
    - Dst: RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:199,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:200,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:200,1
    - Dst: RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:201,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:202,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:202,1
    - Dst: RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:203,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:204,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:204,1
    - Dst: RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:205,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:206,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:206,1
    - Dst: RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:207,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:208,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:208,1
    - Dst: RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:212,1
    - Dst: RsaSsaPkcs1PublicKey*::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:213,1
    - Dst: RsaSsaPkcs1PublicKey*::set_n
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:214,1
    - Dst: RsaSsaPkcs1PublicKey*::set_e
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:215,1
    - Dst: RsaSsaPkcs1PublicKey*::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ' private_key_subtle'
    - key_version
    - ' parameters'
    argTypes:
    - internal::RsaPrivateKey
    - uint32_t
    - PemKeyParams
    constantsTouched: []
    func_position:
      end: 221
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 221
    functionName: crypto::tink::NewRsaSsaPkcs1PrivateKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1PublicKey*::set_version
    - crypto::tink::util::SecretDataAsStringView
    - RsaSsaPkcs1PublicKey*::mutable_params
    - RsaSsaPkcs1PrivateKey::set_version
    - std::string
    - RsaSsaPkcs1PrivateKey::set_dq
    - RsaSsaPkcs1PrivateKey::set_q
    - RsaSsaPkcs1PrivateKey::set_d
    - RsaSsaPkcs1PublicKey*::set_e
    - RsaSsaPkcs1PrivateKey::set_p
    - RsaSsaPkcs1PrivateKey::set_dp
    - RsaSsaPkcs1PrivateKey::set_crt
    - RsaSsaPkcs1PublicKey*::set_n
    - RsaSsaPkcs1PrivateKey::mutable_public_key
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey
    signature: "RsaSsaPkcs1PrivateKey NewRsaSsaPkcs1PrivateKey(\n    const internal::RsaPrivateKey&
      private_key_subtle, uint32_t key_version,\n    const PemKeyParams& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPrivateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:227,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:228,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:228,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:231,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:235,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:237,1
    - Dst: crypto::tink::NewRsaSsaPrivateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:244,1
    - Dst: RsaSsaPssSignKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:245,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:246,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:246,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:247,1
    - Dst: RsaSsaPssSignKeyManager::ValidateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:250,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:251,1
    - Dst: Keyset*::add_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:253,1
    - Dst: crypto::tink::NewKeysetKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:254,1
    - Dst: crypto::tink::GenerateUnusedKeyId
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:254,1
    - Dst: RsaSsaPssSignKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:254,1
    - Dst: RsaSsaPssSignKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:255,1
    - Dst: RsaSsaPssPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:256,1
    - Dst: crypto::tink::NewRsaSsaPkcs1PrivateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:261,1
    - Dst: RsaSsaPkcs1SignKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:262,1
    - Dst: RsaSsaPkcs1SignKeyManager::ValidateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:265,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:266,1
    - Dst: Keyset*::add_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:268,1
    - Dst: crypto::tink::NewKeysetKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:269,1
    - Dst: crypto::tink::GenerateUnusedKeyId
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:269,1
    - Dst: RsaSsaPkcs1SignKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:269,1
    - Dst: RsaSsaPkcs1SignKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:270,1
    - Dst: RsaSsaPkcs1PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:271,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:276,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:278,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ' pem_key'
    - keyset
    argTypes:
    - PemKey
    - Keyset*
    constantsTouched: []
    func_position:
      end: 282
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 282
    functionName: crypto::tink::AddRsaSsaPrivateKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateUnusedKeyId
    - auto::ok
    - std::move
    - absl::StrCat
    - RsaSsaPssSignKeyManager::ValidateKey
    - auto::status
    - RsaSsaPssSignKeyManager::key_material_type
    - crypto::tink::util::OkStatus
    - RsaSsaPkcs1PrivateKey::SerializeAsString
    - RsaSsaPssSignKeyManager::get_key_type
    - crypto::tink::NewKeysetKey
    - Keyset*::add_key
    - RsaSsaPssPrivateKey::SerializeAsString
    - RsaSsaPkcs1SignKeyManager::key_material_type
    - crypto::tink::subtle::PemParser::ParseRsaPrivateKey
    - RsaSsaPkcs1SignKeyManager::get_key_type
    - RsaSsaPssSignKeyManager::get_version
    - crypto::tink::internal::ExtractStatus
    - RsaSsaPkcs1SignKeyManager::get_version
    - crypto::tink::NewRsaSsaPkcs1PrivateKey
    - auto::value
    - RsaSsaPkcs1SignKeyManager::ValidateKey
    - crypto::tink::NewRsaSsaPrivateKey
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddRsaSsaPrivateKey(const PemKey& pem_key, Keyset* keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseEcPublicKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:288,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:289,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:289,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:292,1
    - Dst: EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:298,1
    - Dst: EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:299,1
    - Dst: crypto::tink::SetEcdsaParameters
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:301,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:301,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:302,1
    - Dst: EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:304,1
    - Dst: EcdsaVerifyKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:304,1
    - Dst: EcdsaVerifyKeyManager::ValidateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:307,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:308,1
    - Dst: Keyset*::add_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:310,1
    - Dst: crypto::tink::NewKeysetKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:310,1
    - Dst: crypto::tink::GenerateUnusedKeyId
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:311,1
    - Dst: EcdsaVerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:311,1
    - Dst: EcdsaVerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:312,1
    - Dst: EcdsaPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:312,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ' pem_key'
    - keyset
    argTypes:
    - PemKey
    - Keyset*
    constantsTouched: []
    func_position:
      end: 315
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 315
    functionName: crypto::tink::AddEcdsaPublicKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::set_y
    - auto::status
    - crypto::tink::GenerateUnusedKeyId
    - EcdsaVerifyKeyManager::key_material_type
    - EcdsaPublicKey::mutable_params
    - auto::ok
    - crypto::tink::NewKeysetKey
    - std::move
    - crypto::tink::subtle::PemParser::ParseEcPublicKey
    - Keyset*::add_key
    - crypto::tink::SetEcdsaParameters
    - EcdsaVerifyKeyManager::ValidateKey
    - EcdsaPublicKey::SerializeAsString
    - EcdsaPublicKey::set_x
    - EcdsaVerifyKeyManager::get_key_type
    - EcdsaVerifyKeyManager::get_version
    - crypto::tink::util::OkStatus
    - EcdsaPublicKey::set_version
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddEcdsaPublicKey(const PemKey& pem_key, Keyset* keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPublicKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:322,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:323,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:323,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:326,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:331,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:333,1
    - Dst: RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:343,1
    - Dst: RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:344,1
    - Dst: crypto::tink::SetRsaSsaPssParameters
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:347,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:348,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:349,1
    - Dst: RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:350,1
    - Dst: RsaSsaPssVerifyKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:350,1
    - Dst: RsaSsaPssVerifyKeyManager::ValidateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:353,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:354,1
    - Dst: Keyset*::add_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:356,1
    - Dst: crypto::tink::NewKeysetKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:357,1
    - Dst: crypto::tink::GenerateUnusedKeyId
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:357,1
    - Dst: RsaSsaPssVerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:357,1
    - Dst: RsaSsaPssVerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:358,1
    - Dst: RsaSsaPssPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:359,1
    - Dst: RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:368,1
    - Dst: RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:369,1
    - Dst: RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:372,1
    - Dst: RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:374,1
    - Dst: RsaSsaPkcs1VerifyKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:374,1
    - Dst: RsaSsaPkcs1VerifyKeyManager::ValidateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:377,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:378,1
    - Dst: Keyset*::add_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:380,1
    - Dst: crypto::tink::NewKeysetKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:381,1
    - Dst: crypto::tink::GenerateUnusedKeyId
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:381,1
    - Dst: RsaSsaPkcs1VerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:381,1
    - Dst: RsaSsaPkcs1VerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:382,1
    - Dst: RsaSsaPkcs1PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:383,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:387,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:389,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:391,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - ' pem_key'
    - keyset
    argTypes:
    - PemKey
    - Keyset*
    constantsTouched: []
    func_position:
      end: 392
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 392
    functionName: crypto::tink::AddRsaSsaPublicKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateUnusedKeyId
    - auto::ok
    - RsaSsaPssVerifyKeyManager::ValidateKey
    - std::move
    - RsaSsaPssVerifyKeyManager::key_material_type
    - absl::StrCat
    - RsaSsaPssVerifyKeyManager::get_key_type
    - RsaSsaPssPublicKey::set_n
    - RsaSsaPssVerifyKeyManager::get_version
    - crypto::tink::subtle::PemParser::ParseRsaPublicKey
    - RsaSsaPkcs1PublicKey::SerializeAsString
    - RsaSsaPkcs1VerifyKeyManager::get_version
    - auto::status
    - RsaSsaPkcs1PublicKey::set_n
    - RsaSsaPkcs1VerifyKeyManager::key_material_type
    - RsaSsaPkcs1PublicKey::mutable_params
    - RsaSsaPkcs1VerifyKeyManager::ValidateKey
    - RsaSsaPkcs1PublicKey::set_version
    - RsaSsaPssPublicKey::set_version
    - crypto::tink::util::OkStatus
    - RsaSsaPssPublicKey::mutable_params
    - RsaSsaPssPublicKey::set_e
    - crypto::tink::NewKeysetKey
    - RsaSsaPssPublicKey::SerializeAsString
    - Keyset*::add_key
    - crypto::tink::SetRsaSsaPssParameters
    - crypto::tink::internal::ExtractStatus
    - RsaSsaPkcs1PublicKey::set_e
    - RsaSsaPkcs1VerifyKeyManager::get_key_type
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddRsaSsaPublicKey(const PemKey& pem_key, Keyset* keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' pem_serialized_key'
    argTypes:
    - PemKey
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: crypto::tink::SignaturePemKeysetReaderBuilder::Add
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - push_back
    linkageType: ''
    returnType: void
    signature: void SignaturePemKeysetReaderBuilder::Add(const PemKey& pem_serialized_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:402,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:403,1
    - Dst: absl::WrapUnique<KeysetReader>
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:409,1
    - Dst: PublicKeySignPemKeysetReader::PublicKeySignPemKeysetReader
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:410,1
    - Dst: absl::WrapUnique<KeysetReader>
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:413,1
    - Dst: PublicKeyVerifyPemKeysetReader::PublicKeyVerifyPemKeysetReader
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:414,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 419
    functionName: crypto::tink::SignaturePemKeysetReaderBuilder::Build
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - PublicKeyVerifyPemKeysetReader::PublicKeyVerifyPemKeysetReader
    - PublicKeySignPemKeysetReader::PublicKeySignPemKeysetReader
    - absl::WrapUnique<KeysetReader>
    - empty
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetReader>>
    signature: util::StatusOr<std::unique_ptr<KeysetReader>> SignaturePemKeysetReaderBuilder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:422,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:423,1
    - Dst: absl::make_unique<Keyset>
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:427,1
    - Dst: AddRsaSsaPrivateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:432,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:432,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:433,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:437,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:443,1
    - Dst: auto::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:443,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 446
    functionName: crypto::tink::PublicKeySignPemKeysetReader::Read
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - AddRsaSsaPrivateKey
    - auto::key
    - auto::ok
    - absl::make_unique<Keyset>
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::set_primary_key_id
    - auto::get
    - empty
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset>>
    signature: util::StatusOr<std::unique_ptr<Keyset>> PublicKeySignPemKeysetReader::Read()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:449,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:450,1
    - Dst: absl::make_unique<Keyset>
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:454,1
    - Dst: AddRsaSsaPublicKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:459,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:459,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:460,1
    - Dst: AddEcdsaPublicKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:464,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:464,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:465,1
    - Dst: auto::set_primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:470,1
    - Dst: auto::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:470,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 473
    functionName: crypto::tink::PublicKeyVerifyPemKeysetReader::Read
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - AddRsaSsaPublicKey
    - auto::key
    - auto::ok
    - AddEcdsaPublicKey
    - absl::make_unique<Keyset>
    - crypto::tink::internal::ExtractStatus
    - std::move
    - auto::set_primary_key_id
    - auto::get
    - empty
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Keyset>>
    signature: util::StatusOr<std::unique_ptr<Keyset>> PublicKeyVerifyPemKeysetReader::Read()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/signature_pem_keyset_reader.cc:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: crypto::tink::SignaturePemKeysetReader::ReadEncrypted
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EncryptedKeyset>>
    signature: util::StatusOr<std::unique_ptr<EncryptedKeyset>> SignaturePemKeysetReader::ReadEncrypted()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: crypto::tink::Ed25519ProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:76,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:77,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterEd25519ProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:97,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:97,1
    - Dst: Ed25519KeyFormat::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:100,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:103,1
    - Dst: Ed25519KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:106,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:112,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:112,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:112,1
    - Dst: dynamic_cast<const Ed25519Parameters*>
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:115,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:116,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:117,1
    - Dst: Ed25519Parameters*::GetVariant
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:117,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - Ed25519Parameters*::GetVariant
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const Ed25519Parameters*>
    - ASSERT_THAT
    - Eq
    - EXPECT_THAT
    - HasIdRequirement
    - NotNull
    - GetParam
    - crypto::tink::RegisterEd25519ProtoSerialization
    - Ed25519KeyFormat::set_version
    - Ed25519KeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:121,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:121,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:127,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:132,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:136,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:136,1
    - Dst: Ed25519KeyFormat::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:139,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:142,1
    - Dst: Ed25519KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:146,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:151,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    - Ed25519KeyFormat::set_version
    - Ed25519KeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:155,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:155,1
    - Dst: Ed25519KeyFormat::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:158,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:161,1
    - Dst: Ed25519KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:164,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:169,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:169,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    - Ed25519KeyFormat::set_version
    - Ed25519KeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParseParametersWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:174,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:174,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:178,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:185,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:185,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:186,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:189,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:191,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:192,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:192,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:194,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:194,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:198,1
    - Dst: Ed25519KeyFormat::ParseFromString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:199,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:199,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:201,1
    - Dst: Ed25519KeyFormat::version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:201,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 202
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::Ed25519Parameters::Create
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - ASSERT_THAT
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - Ed25519KeyFormat::ParseFromString
    - Ed25519KeyFormat::version
    - IsTrue
    - GetParam
    - crypto::tink::RegisterEd25519ProtoSerialization
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:206,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:206,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:208,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:210,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:211,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:212,1
    - Dst: google::crypto::tink::Ed25519PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:213,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:213,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:220,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:226,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:226,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:227,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:227,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:228,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:232,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:234,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:236,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:238,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 239
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::Ed25519Parameters::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::RegisterEd25519ProtoSerialization
    - google::crypto::tink::Ed25519PublicKey::set_version
    - IsOk
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::Ed25519PublicKey::SerializeAsString
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ProtoSerializationTest, ParsePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:242,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:242,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:245,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:245,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:252,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:252,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:255,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:257,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:257,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParsePublicKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:261,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:261,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:263,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:265,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:266,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:267,1
    - Dst: google::crypto::tink::Ed25519PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:268,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:268,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:275,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:280,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:280,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 281
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::Ed25519PublicKey::SerializeAsString
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::RegisterEd25519ProtoSerialization
    - google::crypto::tink::Ed25519PublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParsePublicKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:285,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:285,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:289,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:291,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:292,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:294,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:301,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:301,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:302,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:305,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:307,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:307,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:308,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:308,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:310,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:310,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:311,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:312,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:312,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:314,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:314,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:314,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:317,1
    - Dst: google::crypto::tink::Ed25519PublicKey::ParseFromString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:317,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:318,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:319,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:320,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:321,1
    - Dst: google::crypto::tink::Ed25519PublicKey::version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:321,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:322,1
    - Dst: google::crypto::tink::Ed25519PublicKey::key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:322,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 323
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PublicKey::version
    - crypto::tink::Ed25519Parameters::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::RegisterEd25519ProtoSerialization
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::Ed25519PublicKey::ParseFromString
    - google::crypto::tink::Ed25519PublicKey::key_value
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ProtoSerializationTest, SerializePublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:327,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:327,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:330,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:331,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:334,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:335,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:338,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:339,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:340,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:342,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:343,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:343,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:350,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:350,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:353,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:356,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:356,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:356,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:357,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:357,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:358,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:362,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:365,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:367,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:370,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:371,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:372,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:373,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:374,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:374,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:376,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 377
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PrivateKey::set_version
    - google::crypto::tink::Ed25519PrivateKey::set_key_value
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::Ed25519Parameters::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::RegisterEd25519ProtoSerialization
    - google::crypto::tink::Ed25519PublicKey::set_version
    - IsOk
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - google::crypto::tink::Ed25519PrivateKey::mutable_public_key
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - Eq
    - google::crypto::tink::Ed25519PrivateKey::SerializeAsString
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ProtoSerializationTest, ParsePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:380,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:380,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:383,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:383,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:390,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:393,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:394,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:395,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:395,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParsePrivateKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:403,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:406,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:407,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:410,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:411,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:412,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:414,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:415,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:415,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:422,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:422,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:425,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:426,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:427,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:427,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 428
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PrivateKey::SerializeAsString
    - google::crypto::tink::Ed25519PrivateKey::mutable_public_key
    - google::crypto::tink::Ed25519PrivateKey::set_version
    - google::crypto::tink::Ed25519PrivateKey::set_key_value
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::status
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    - google::crypto::tink::Ed25519PublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParsePrivateKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:431,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:431,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:431,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:434,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:435,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:435,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:438,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:439,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:442,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:443,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:444,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:446,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:447,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:447,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:450,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:454,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:454,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:459,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:459,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 460
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PrivateKey::SerializeAsString
    - google::crypto::tink::Ed25519PrivateKey::mutable_public_key
    - google::crypto::tink::Ed25519PrivateKey::set_version
    - google::crypto::tink::Ed25519PrivateKey::set_key_value
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::status
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    - google::crypto::tink::Ed25519PublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, ParsePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:463,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:464,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:464,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:464,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:467,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:468,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:468,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:471,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:472,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:472,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:475,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:476,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:477,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:477,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:479,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:481,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:481,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:482,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:483,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:483,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:486,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:488,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:489,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:489,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:490,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:490,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:491,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:494,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:495,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:496,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:496,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:497,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:497,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:498,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:499,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:499,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:500,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:501,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:501,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:502,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:503,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:503,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:503,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:506,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::ParseFromString
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:506,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:507,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:508,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:509,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:510,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::version
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:510,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:510,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:511,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:511,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:511,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:512,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::has_public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:512,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:512,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:513,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:513,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:513,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:514,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:514,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 515
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PrivateKey::version
    - crypto::tink::Ed25519Parameters::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::Ed25519PrivateKey::public_key
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - crypto::tink::RegisterEd25519ProtoSerialization
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - google::crypto::tink::Ed25519PrivateKey::has_public_key
    - internal::MutableSerializationRegistry::GlobalInstance
    - google::crypto::tink::Ed25519PrivateKey::key_value
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::Ed25519PrivateKey::ParseFromString
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::internal::NewEd25519Key
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ProtoSerializationTest, SerializePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:518,1
    - Dst: crypto::tink::RegisterEd25519ProtoSerialization
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:518,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:518,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:521,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:522,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:522,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:525,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:526,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:526,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:529,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:530,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:531,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:531,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:533,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:535,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:535,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:536,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:537,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:537,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:540,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:543,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:543,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_proto_serialization_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 545
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::Ed25519Parameters::Create
    - RestrictedData
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::Ed25519PublicKey::Create
    - StatusIs
    - crypto::tink::RegisterEd25519ProtoSerialization
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(Ed25519ProtoSerializationTest, SerializePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/signature/ed25519_public_key.cc:40,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ed25519_public_key.cc:42,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ed25519_public_key.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_public_key.cc:47,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ed25519_public_key.cc:51,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/ed25519_public_key.cc:51,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/ed25519_public_key.cc:52,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ed25519_public_key.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_public_key.cc:55,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ed25519_public_key.cc:58,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/ed25519_public_key.cc:58,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/ed25519_public_key.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_public_key.cc:61,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ed25519_public_key.cc:63,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/ed25519_public_key.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - Ed25519Parameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const Ed25519Parameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/ed25519_public_key.cc:72,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ed25519_public_key.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_public_key.cc:73,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/ed25519_public_key.cc:78,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ed25519_public_key.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_public_key.cc:79,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/ed25519_public_key.cc:84,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_public_key.cc:85,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/signature/ed25519_public_key.cc:89,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_public_key.cc:90,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_public_key.cc:91,1
    - Dst: crypto::tink::Ed25519PublicKey::Ed25519PublicKey
      Src: /src/tink/cc/signature/ed25519_public_key.cc:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - token
    argTypes:
    - Ed25519Parameters
    - absl::string_view
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 95
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 95
    functionName: crypto::tink::Ed25519PublicKey::Create
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.cc
    functionUses: 17
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - crypto::tink::Ed25519PublicKey::Ed25519PublicKey
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<Ed25519PublicKey>
    signature: "util::StatusOr<Ed25519PublicKey> Ed25519PublicKey::Create(\n    const
      Ed25519Parameters& parameters, absl::string_view public_key_bytes,\n    absl::optional<int>
      id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Ed25519PublicKey*>
      Src: /src/tink/cc/signature/ed25519_public_key.cc:98,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ed25519_public_key.cc:102,1
    - Dst: Ed25519PublicKey*::GetParameters
      Src: /src/tink/cc/signature/ed25519_public_key.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: Ed25519PublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Ed25519PublicKey*>
    - GetParameters
    - Ed25519PublicKey*::GetParameters
    linkageType: ''
    returnType: bool
    signature: bool Ed25519PublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc: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: crypto::tink::EcdsaProtoSerializationTest::EcdsaProtoSerializationTest
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void EcdsaProtoSerializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:106,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:107,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:151,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:151,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:154,1
    - Dst: set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:155,1
    - Dst: set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:156,1
    - Dst: set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:157,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:160,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:163,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:169,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:169,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:169,1
    - Dst: dynamic_cast<const EcdsaParameters*>
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:172,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:173,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:174,1
    - Dst: EcdsaParameters*::GetVariant
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:175,1
    - Dst: EcdsaParameters*::GetCurveType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:175,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:176,1
    - Dst: EcdsaParameters*::GetHashType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:176,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:177,1
    - Dst: EcdsaParameters*::GetSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:177,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - set_encoding
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - set_hash_type
    - EcdsaKeyFormat::SerializeAsString
    - EcdsaParameters*::GetSignatureEncoding
    - IsOk
    - EXPECT_THAT
    - set_curve
    - GetParam
    - EXPECT_EQ
    - internal::MutableSerializationRegistry::GlobalInstance
    - TestCase::id::has_value
    - EcdsaParameters*::GetCurveType
    - dynamic_cast<const EcdsaParameters*>
    - Eq
    - util::StatusOr::get
    - EcdsaParameters*::GetHashType
    - crypto::tink::RegisterEcdsaProtoSerialization
    - EcdsaParameters*::GetVariant
    - EcdsaKeyFormat::mutable_params
    - NotNull
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaProtoSerializationTest, ParseParametersWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:183,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:183,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:190,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:190,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:193,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EcdsaProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:198,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:198,1
    - Dst: EcdsaKeyFormat::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:201,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:202,1
    - Dst: set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:203,1
    - Dst: set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:204,1
    - Dst: set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:205,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:208,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:211,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:216,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:217,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 219
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - EcdsaKeyFormat::set_version
    - ASSERT_THAT
    - EcdsaKeyFormat::mutable_params
    - HasSubstr
    - set_encoding
    - EXPECT_THAT
    - StatusIs
    - set_curve
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParseParametersWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:223,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:223,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:226,1
    - Dst: set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:227,1
    - Dst: set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:228,1
    - Dst: set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:229,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:232,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:235,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:240,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:241,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 243
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    - EcdsaKeyFormat::mutable_params
    - HasSubstr
    - set_encoding
    - EXPECT_THAT
    - StatusIs
    - set_curve
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EcdsaProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:247,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:247,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:251,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:254,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:260,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:260,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:261,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EcdsaProtoSerializationTest,\n       ParseParametersKeyFormatWithoutParamsFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:266,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:266,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:269,1
    - Dst: set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:270,1
    - Dst: set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:271,1
    - Dst: set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:272,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:275,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:278,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:283,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:283,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:284,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    - EcdsaKeyFormat::mutable_params
    - HasSubstr
    - set_encoding
    - EXPECT_THAT
    - StatusIs
    - set_curve
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParseParametersWithUnkownCurveTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:289,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:289,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:292,1
    - Dst: set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:293,1
    - Dst: set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:294,1
    - Dst: set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:295,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:298,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:300,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:301,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:306,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:306,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:307,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 309
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    - EcdsaKeyFormat::mutable_params
    - HasSubstr
    - set_encoding
    - EXPECT_THAT
    - StatusIs
    - set_curve
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParseParametersWithUnkownHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:312,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:312,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:315,1
    - Dst: set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:316,1
    - Dst: set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:317,1
    - Dst: set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:318,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:321,1
    - Dst: EcdsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:323,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:324,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:329,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:330,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:331,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 333
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - EcdsaKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - ASSERT_THAT
    - EcdsaKeyFormat::mutable_params
    - HasSubstr
    - set_encoding
    - EXPECT_THAT
    - StatusIs
    - set_curve
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParseParametersWithUnkownEncodingFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:337,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:337,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:346,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:346,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:349,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:352,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:353,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:353,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:353,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:356,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:358,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:358,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:359,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:359,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:360,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:361,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:361,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:362,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:365,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:366,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:366,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:367,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:368,1
    - Dst: EcdsaKeyFormat::has_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:368,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:369,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:369,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:369,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:370,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:370,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:370,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:371,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:371,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 372
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EcdsaKeyFormat::ParseFromString
    - EcdsaKeyFormat::params
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - ASSERT_TRUE
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    - EcdsaKeyFormat::has_params
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaProtoSerializationTest, SerializeParametersWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:376,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:376,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:379,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:380,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:381,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:384,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:385,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:385,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:388,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:389,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:390,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:391,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:392,1
    - Dst: google::crypto::tink::EcdsaPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:393,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:393,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:399,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:404,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:405,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:405,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:405,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:406,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:406,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:407,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:410,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:416,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:418,1
    - Dst: EcPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:420,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:420,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:420,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:421,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:422,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:422,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:424,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 425
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - google::crypto::tink::EcdsaPublicKey::set_x
    - google::crypto::tink::EcdsaPublicKey::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - GetIdRequirement
    - EcPoint
    - EcdsaParams::set_hash_type
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::internal::NewEcKey
    - google::crypto::tink::EcdsaPublicKey::set_y
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EcdsaParams::set_encoding
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::RegisterEcdsaProtoSerialization
    - google::crypto::tink::EcdsaPublicKey::set_version
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaProtoSerializationTest, ParsePublicKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:429,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:429,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:429,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:432,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:432,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:435,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:439,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:439,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:442,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:443,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:444,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:444,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:445,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 447
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EcdsaProtoSerializationTest,\n       ParsePublicKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:450,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:450,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:450,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:453,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:454,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:455,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:458,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:459,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:461,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:462,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:463,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:464,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:465,1
    - Dst: google::crypto::tink::EcdsaPublicKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:466,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:466,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:469,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:473,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:473,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:476,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:478,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:478,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:479,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 449
    functionDepth: 4
    functionLinenumber: 449
    functionLinenumberEnd: 481
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPublicKey::set_x
    - google::crypto::tink::EcdsaPublicKey::SerializeAsString
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - EcdsaParams::set_hash_type
    - crypto::tink::internal::NewEcKey
    - google::crypto::tink::EcdsaPublicKey::set_y
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - EcdsaParams::set_encoding
    - util::StatusOr::status
    - crypto::tink::RegisterEcdsaProtoSerialization
    - google::crypto::tink::EcdsaPublicKey::set_version
    - HasSubstr
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParsePublicKeyWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:484,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:485,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:485,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:485,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:488,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:494,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:494,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:497,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:498,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:498,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:500,1
    - Dst: EcPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:502,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:502,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:502,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:503,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:504,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:504,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:507,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:510,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:510,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:511,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:511,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:511,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:514,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:515,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:516,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:516,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:517,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:517,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:517,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:518,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:518,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:519,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:520,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:520,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:521,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:522,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:522,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:522,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:525,1
    - Dst: google::crypto::tink::EcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:525,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:526,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:527,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:528,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:529,1
    - Dst: google::crypto::tink::EcdsaPublicKey::version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:529,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:529,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:532,1
    - Dst: google::crypto::tink::EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:532,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:532,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:533,1
    - Dst: google::crypto::tink::EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:533,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:533,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:534,1
    - Dst: google::crypto::tink::EcdsaPublicKey::has_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:534,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:535,1
    - Dst: google::crypto::tink::EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:535,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:536,1
    - Dst: google::crypto::tink::EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:536,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:536,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:537,1
    - Dst: google::crypto::tink::EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:537,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 538
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPublicKey::ParseFromString
    - BigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::EcdsaPublicKey::version
    - google::crypto::tink::EcdsaPublicKey::params
    - EXPECT_THAT
    - ObjectIdentifier
    - EcPoint
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - google::crypto::tink::EcdsaPublicKey::y
    - crypto::tink::internal::NewEcKey
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - Eq
    - google::crypto::tink::EcdsaPublicKey::has_params
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::RegisterEcdsaProtoSerialization
    - google::crypto::tink::EcdsaPublicKey::x
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaProtoSerializationTest, SerializePublicKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:541,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:542,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:542,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:542,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:545,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:546,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:547,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:550,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:551,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:551,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:554,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:555,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:556,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:557,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:560,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:561,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:562,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:562,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:564,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:565,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:565,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:568,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:571,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:571,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:574,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:575,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:576,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:576,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:577,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:577,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:577,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:578,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:578,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:579,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:582,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:588,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:588,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:590,1
    - Dst: EcPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:592,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:592,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:592,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:593,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:594,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:594,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:597,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:599,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:599,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:600,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:601,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:603,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 540
    functionDepth: 4
    functionLinenumber: 540
    functionLinenumberEnd: 604
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPrivateKey::set_key_value
    - crypto::tink::util::SecretDataAsStringView
    - google::crypto::tink::EcdsaPublicKey::set_x
    - crypto::tink::internal::ProtoKeySerialization::Create
    - BigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::EcdsaPrivateKey::SerializeAsString
    - google::crypto::tink::EcdsaPrivateKey::mutable_public_key
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - GetIdRequirement
    - EcPoint
    - EcdsaParams::set_hash_type
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::internal::NewEcKey
    - google::crypto::tink::EcdsaPublicKey::set_y
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EcdsaParams::set_encoding
    - Eq
    - google::crypto::tink::EcdsaPrivateKey::set_version
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::RegisterEcdsaProtoSerialization
    - google::crypto::tink::EcdsaPublicKey::set_version
    - RestrictedBigInteger
    - crypto::tink::EcdsaPrivateKey::Create
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaProtoSerializationTest, ParsePrivateKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:608,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:608,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:608,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:611,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:611,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:614,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:618,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:618,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:621,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:622,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:623,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:623,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:624,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 626
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(EcdsaProtoSerializationTest,\n       ParsePrivateKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:629,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:629,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:629,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:632,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:633,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:634,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:637,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:638,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:638,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:641,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:642,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:643,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:644,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:647,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:648,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:649,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:649,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:651,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:652,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:652,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:655,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:659,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:659,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:662,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:663,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:664,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:664,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:665,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 667
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPrivateKey::set_key_value
    - crypto::tink::util::SecretDataAsStringView
    - google::crypto::tink::EcdsaPublicKey::set_x
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::EcdsaPrivateKey::SerializeAsString
    - google::crypto::tink::EcdsaPrivateKey::mutable_public_key
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - EcdsaParams::set_hash_type
    - crypto::tink::internal::NewEcKey
    - google::crypto::tink::EcdsaPublicKey::set_y
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - EcdsaParams::set_encoding
    - google::crypto::tink::EcdsaPrivateKey::set_version
    - util::StatusOr::status
    - crypto::tink::RegisterEcdsaProtoSerialization
    - google::crypto::tink::EcdsaPublicKey::set_version
    - HasSubstr
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParsePrivateKeyWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:670,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:670,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:670,1
    - Dst: EcdsaParams::set_curve
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:673,1
    - Dst: EcdsaParams::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:674,1
    - Dst: EcdsaParams::set_encoding
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:675,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:678,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:679,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:679,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:682,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:683,1
    - Dst: google::crypto::tink::EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:684,1
    - Dst: google::crypto::tink::EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:685,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:688,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:690,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:691,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:691,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:693,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:694,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:694,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:697,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:701,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:701,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:704,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:706,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:706,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:706,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 669
    functionDepth: 4
    functionLinenumber: 669
    functionLinenumberEnd: 708
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPrivateKey::set_key_value
    - crypto::tink::util::SecretDataAsStringView
    - google::crypto::tink::EcdsaPublicKey::set_x
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::EcdsaPrivateKey::SerializeAsString
    - google::crypto::tink::EcdsaPrivateKey::mutable_public_key
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::EcdsaPublicKey::mutable_params
    - EcdsaParams::set_hash_type
    - crypto::tink::internal::NewEcKey
    - google::crypto::tink::EcdsaPublicKey::set_y
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - EcdsaParams::set_encoding
    - google::crypto::tink::EcdsaPrivateKey::set_version
    - util::StatusOr::status
    - crypto::tink::RegisterEcdsaProtoSerialization
    - google::crypto::tink::EcdsaPublicKey::set_version
    - HasSubstr
    - EcdsaParams::set_curve
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, ParsePrivateKeyNoSecretKeyAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:711,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:712,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:712,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:712,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:715,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:721,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:721,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:724,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:725,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:725,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:727,1
    - Dst: EcPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:729,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:729,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:729,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:730,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:731,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:731,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:733,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:735,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:735,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:736,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:737,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:738,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:738,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:741,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:743,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:744,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:744,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:745,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:745,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:745,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:748,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:749,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:750,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:750,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:751,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:751,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:751,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:752,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:752,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:753,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:754,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:754,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:755,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:756,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:756,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:756,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:759,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::ParseFromString
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:759,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:760,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:761,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:762,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:763,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::version
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:763,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:763,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:766,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::key_value
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:767,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:768,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:768,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:768,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:769,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::has_public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:769,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:769,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:770,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:770,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:770,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:771,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:771,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:771,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:772,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:772,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:772,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:773,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:773,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:773,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:774,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:774,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:775,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:776,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:776,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:776,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:777,1
    - Dst: google::crypto::tink::EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:777,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 710
    functionDepth: 4
    functionLinenumber: 710
    functionLinenumberEnd: 778
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::EcdsaPrivateKey::public_key
    - google::crypto::tink::EcdsaPrivateKey::ParseFromString
    - std::string
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - EcPoint
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - crypto::tink::internal::NewEcKey
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::EcdsaPrivateKey::key_value
    - google::crypto::tink::EcdsaPrivateKey::version
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::RegisterEcdsaProtoSerialization
    - internal::ProtoKeySerialization*::IdRequirement
    - google::crypto::tink::EcdsaPrivateKey::has_public_key
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - RestrictedBigInteger
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaProtoSerializationTest, SerializePrivateKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:781,1
    - Dst: crypto::tink::RegisterEcdsaProtoSerialization
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:781,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:781,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:784,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:790,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:790,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:793,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:794,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:794,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:796,1
    - Dst: EcPoint
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:798,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:798,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:798,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:799,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:800,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:800,1
    - Dst: crypto::tink::EcdsaPrivateKey::Create
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:802,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:804,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:804,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:805,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:806,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:807,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:807,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:810,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:813,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:813,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:814,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 816
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - RestrictedBigInteger
    - crypto::tink::util::SecretDataAsStringView
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterEcdsaProtoSerialization
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - EcPoint
    - StatusIs
    - crypto::tink::EcdsaPublicKey::Create
    - crypto::tink::EcdsaPrivateKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(EcdsaProtoSerializationTest, SerializePrivateKeyNoSecretKeyAccessFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:53,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:54,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: crypto::tink::PublicKeySignFactoryTest::SetUp
    functionSourceFile: /src/tink/cc/signature/public_key_sign_factory_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::SignatureConfig::Register
    - auto::ok
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEcdsaTestPrivateKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: crypto::tink::GetNewEcdsaPrivateKey
    functionSourceFile: /src/tink/cc/signature/public_key_sign_factory_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::GetEcdsaTestPrivateKey
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: EcdsaPrivateKey GetNewEcdsaPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::PublicKeySignFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:66,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:67,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:68,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:69,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:70,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:71,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:72,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_sign_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::PublicKeySignFactory::GetPrimitive
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(PublicKeySignFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AddTinkKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:82,1
    - Dst: crypto::tink::GetNewEcdsaPrivateKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:82,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:86,1
    - Dst: crypto::tink::GetNewEcdsaPrivateKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:86,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:90,1
    - Dst: crypto::tink::GetNewEcdsaPrivateKey
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:90,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:93,1
    - Dst: crypto::tink::PublicKeySignFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:96,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:97,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:98,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:99,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:100,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:100,1
    - Dst: auto::Sign
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:104,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:104,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:105,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_factory_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_sign_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::PublicKeySignFactory::GetPrimitive
    - EXPECT_NE
    - std::move
    - Keyset::set_primary_key_id
    - AddTinkKey
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::value
    - crypto::tink::GetNewEcdsaPrivateKey
    - auto::Sign
    linkageType: ''
    returnType: void
    signature: void TEST_F(PublicKeySignFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Ed25519VerifyBoringSsl::New
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:42,1
    - Dst: key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - Ed25519PublicKey
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: "Ed25519VerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      Ed25519PublicKey& public_key) const"
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - key_value
    - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> Ed25519VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const Ed25519PublicKey& public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:46,1
    - Dst: version
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:46,1
    - Dst: crypto::tink::Ed25519VerifyKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:46,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:47,1
    - Dst: key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:49,1
    - Dst: Status
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:50,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed25519PublicKey
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: crypto::tink::Ed25519VerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ValidateVersion
    - key_value
    - version
    - Status
    - crypto::tink::Ed25519VerifyKeyManager::get_version
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status Ed25519VerifyKeyManager::ValidateKey(const Ed25519PublicKey&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:51,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:53,1
    - Dst: Ed25519PrivateKey::set_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:57,1
    - Dst: crypto::tink::Ed25519SignKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:57,1
    - Dst: Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:58,1
    - Dst: Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:61,1
    - Dst: auto::set_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:62,1
    - Dst: crypto::tink::Ed25519SignKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:62,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - Ed25519KeyFormat
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: crypto::tink::Ed25519SignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey::mutable_public_key
    - util::StatusOr::status
    - crypto::tink::internal::NewEd25519Key
    - util::StatusOr::ok
    - auto::set_key_value
    - Ed25519PrivateKey::set_version
    - Ed25519PrivateKey::set_key_value
    - crypto::tink::Ed25519SignKeyManager::get_version
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<Ed25519PrivateKey>
    signature: "StatusOr<Ed25519PrivateKey> Ed25519SignKeyManager::CreateKey(\n    const
      Ed25519KeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:73,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:73,1
    - Dst: key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:74,1
    - Dst: public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:74,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: "Ed25519SignKeyManager::PublicKeySignFactory::Create(\n    const
      Ed25519PrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - public_key
    - key_value
    - crypto::tink::util::SecretDataFromStringView
    - absl::StrCat
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> Ed25519SignKeyManager::PublicKeySignFactory::Create(\n
      \   const Ed25519PrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:80,1
    - Dst: version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:80,1
    - Dst: crypto::tink::Ed25519SignKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:80,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:81,1
    - Dst: key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:82,1
    - Dst: Status
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:83,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:86,1
    - Dst: public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: crypto::tink::Ed25519SignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - ValidateVersion
    - key_value
    - version
    - Status
    - Ed25519VerifyKeyManager
    - crypto::tink::Ed25519SignKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: Status Ed25519SignKeyManager::ValidateKey(const Ed25519PrivateKey&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:91,1
    - Dst: version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:91,1
    - Dst: crypto::tink::Ed25519SignKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:91,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:92,1
    - Dst: ReadSecretBytesFromStream
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:95,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:96,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:98,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:102,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:105,1
    - Dst: Ed25519PrivateKey::set_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:108,1
    - Dst: crypto::tink::Ed25519SignKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:108,1
    - Dst: Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:109,1
    - Dst: Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:112,1
    - Dst: auto::set_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:113,1
    - Dst: crypto::tink::Ed25519SignKeyManager::get_version
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:113,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - Ed25519KeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: crypto::tink::Ed25519SignKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey::mutable_public_key
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - crypto::tink::internal::NewEd25519Key
    - ReadSecretBytesFromStream
    - version
    - util::StatusOr::ok
    - auto::set_key_value
    - Ed25519PrivateKey::set_version
    - Ed25519PrivateKey::set_key_value
    - crypto::tink::Ed25519SignKeyManager::get_version
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<Ed25519PrivateKey>
    signature: "StatusOr<Ed25519PrivateKey> Ed25519SignKeyManager::DeriveKey(\n    const
      Ed25519KeyFormat& key_format, InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/ed25519_sign_key_manager.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - Ed25519KeyFormat
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: crypto::tink::Ed25519SignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/signature/ed25519_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status Ed25519SignKeyManager::ValidateKeyFormat(\n    const Ed25519KeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 21
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1Parameters::Variant>
    signature: "util::StatusOr<RsaSsaPkcs1Parameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - RsaSsaPkcs1Parameters::Variant
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 26
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    RsaSsaPkcs1Parameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: crypto::tink::ToEnumHashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1Parameters::HashType>
    signature: "util::StatusOr<RsaSsaPkcs1Parameters::HashType> ToEnumHashType(\n
      \   HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - RsaSsaPkcs1Parameters::HashType
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HashType>
    signature: "util::StatusOr<HashType> ToProtoHashType(\n    RsaSsaPkcs1Parameters::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:150,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:152,1
    - Dst: crypto::tink::ToEnumHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:156,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:156,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:157,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:158,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - output_prefix_type
    - ' params'
    - modulus_size_in_bits
    - ' public_exponent'
    argTypes:
    - OutputPrefixType
    - RsaSsaPkcs1Params
    - int
    - BigInteger
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 12
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::ok
    - crypto::tink::ToEnumHashType
    - crypto::tink::ToVariant
    - hash_type
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1Parameters>
    signature: "util::StatusOr<RsaSsaPkcs1Parameters> ToParameters(\n    OutputPrefixType
      output_prefix_type, const RsaSsaPkcs1Params& params,\n    int modulus_size_in_bits,
      const BigInteger& public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:171,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:172,1
    - Dst: RsaSsaPkcs1KeyFormat::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:177,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:179,1
    - Dst: RsaSsaPkcs1KeyFormat::has_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:182,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:183,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:187,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:187,1
    - Dst: RsaSsaPkcs1KeyFormat::params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:188,1
    - Dst: RsaSsaPkcs1KeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:189,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:190,1
    - Dst: RsaSsaPkcs1KeyFormat::public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 191
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 191
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::params
    - BigInteger
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToParameters
    - GetKeyTemplate
    - RsaSsaPkcs1KeyFormat::modulus_size_in_bits
    - RsaSsaPkcs1KeyFormat::public_exponent
    - RsaSsaPkcs1KeyFormat::has_params
    - RsaSsaPkcs1KeyFormat::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1Parameters>
    signature: "util::StatusOr<RsaSsaPkcs1Parameters> ParseParameters(\n    const
      internal::ProtoParametersSerialization& serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:196,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:197,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:202,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:203,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:204,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:204,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:205,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:208,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:209,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:213,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:216,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:216,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:216,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:217,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:217,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:218,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:219,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:222,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:223,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 225
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 225
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - google::crypto::tink::RsaSsaPkcs1PublicKey::params
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::RsaSsaPkcs1PublicKey::n
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::RsaSsaPkcs1PublicKey::ParseFromString
    - crypto::tink::ToParameters
    - util::StatusOr::ok
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - GetOutputPrefixType
    - google::crypto::tink::RsaSsaPkcs1PublicKey::e
    - SerializedKeyProto
    - google::crypto::tink::RsaSsaPkcs1PublicKey::version
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1PublicKey>
    signature: "util::StatusOr<RsaSsaPkcs1PublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:230,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:231,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:234,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:235,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:239,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:240,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:240,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:241,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:244,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:245,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:249,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:252,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:253,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:253,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:254,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:254,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:255,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:256,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:260,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:261,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:262,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:263,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:264,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:267,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:269,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:269,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:270,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:270,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:271,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:271,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:272,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:272,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:273,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:273,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:274,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:274,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 276
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 276
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::version
    - crypto::tink::ToParameters
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::dp
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::q
    - IdRequirement
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::crt
    - util::StatusOr::ok
    - GetOutputPrefixType
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::d
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::ParseFromString
    - GetSecret
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::p
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::dq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - SerializedKeyProto
    - RestrictedBigInteger
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPkcs1PrivateKey>
    signature: "util::StatusOr<RsaSsaPkcs1PrivateKey> ParsePrivateKey(\n    const
      internal::ProtoKeySerialization& serialization,\n    absl::optional<SecretKeyAccessToken>
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:281,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:281,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:282,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:283,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:287,1
    - Dst: GetHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:287,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:288,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:289,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:293,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:295,1
    - Dst: GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:295,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:297,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:298,1
    - Dst: GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:298,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:299,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:301,1
    - Dst: RsaSsaPkcs1KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - RsaSsaPkcs1Parameters
    constantsTouched: []
    func_position:
      end: 304
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 304
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - std::string
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - crypto::tink::ToProtoHashType
    - RsaSsaPkcs1Params::set_hash_type
    - GetVariant
    - util::StatusOr::ok
    - GetHashType
    - GetPublicExponent
    - RsaSsaPkcs1KeyFormat::SerializeAsString
    - GetModulusSizeInBits
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const RsaSsaPkcs1Parameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:310,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:310,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:311,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:312,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:316,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:319,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:320,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:322,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:323,1
    - Dst: GetModulus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:323,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:323,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:324,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:325,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:325,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:328,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:328,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:329,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:330,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:333,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:334,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:334,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:335,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - RsaSsaPkcs1PublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 338
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 338
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - GetModulus
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - GetParameters
    - util::StatusOr::status
    - std::string
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::ToProtoHashType
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - RsaSsaPkcs1Params::set_hash_type
    - util::StatusOr::ok
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - GetIdRequirement
    - google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const RsaSsaPkcs1PublicKey& key,\n    absl::optional<SecretKeyAccessToken>
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:343,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:344,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:349,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:349,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:350,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:351,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:355,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:358,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:359,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:361,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:361,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:362,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:362,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:363,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:363,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:364,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:367,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:368,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:370,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:371,1
    - Dst: GetPrimeP
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:371,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:371,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:372,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:373,1
    - Dst: GetPrimeQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:373,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:373,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:374,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:375,1
    - Dst: GetPrimeExponentP
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:375,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:376,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:377,1
    - Dst: GetPrimeExponentQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:377,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:378,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:379,1
    - Dst: GetPrivateExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:379,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:380,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:381,1
    - Dst: GetCrtCoefficient
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:381,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:384,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:384,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:385,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:386,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:390,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:390,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:391,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - RsaSsaPkcs1PrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 394
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 394
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - GetPublicKey
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
    - GetPrimeP
    - std::string
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
    - crypto::tink::ToProtoHashType
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
    - util::StatusOr::ok
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - GetIdRequirement
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
    - GetPrimeQ
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
    - RsaSsaPkcs1Params::set_hash_type
    - absl::optional<SecretKeyAccessToken>::has_value
    - GetPrimeExponentP
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - GetCrtCoefficient
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
    - GetPrivateExponent
    - GetPrimeExponentQ
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const RsaSsaPkcs1PrivateKey& key,\n    absl::optional<SecretKeyAccessToken>
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1ProtoParametersParserImpl::RsaSsaPkcs1ProtoParametersParserImpl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: crypto::tink::RsaSsaPkcs1ProtoParametersParser
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1ProtoParametersParserImpl::RsaSsaPkcs1ProtoParametersParserImpl
    linkageType: ''
    returnType: RsaSsaPkcs1ProtoParametersParserImpl
    signature: RsaSsaPkcs1ProtoParametersParserImpl * RsaSsaPkcs1ProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1ProtoParametersSerializerImpl::RsaSsaPkcs1ProtoParametersSerializerImpl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 407
    functionName: crypto::tink::RsaSsaPkcs1ProtoParametersSerializer
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1ProtoParametersSerializerImpl::RsaSsaPkcs1ProtoParametersSerializerImpl
    linkageType: ''
    returnType: RsaSsaPkcs1ProtoParametersSerializerImpl
    signature: 'RsaSsaPkcs1ProtoParametersSerializerImpl *

      RsaSsaPkcs1ProtoParametersSerializer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1ProtoPublicKeyParserImpl::RsaSsaPkcs1ProtoPublicKeyParserImpl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: crypto::tink::RsaSsaPkcs1ProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1ProtoPublicKeyParserImpl::RsaSsaPkcs1ProtoPublicKeyParserImpl
    linkageType: ''
    returnType: RsaSsaPkcs1ProtoPublicKeyParserImpl
    signature: RsaSsaPkcs1ProtoPublicKeyParserImpl * RsaSsaPkcs1ProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1ProtoPublicKeySerializerImpl::RsaSsaPkcs1ProtoPublicKeySerializerImpl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: crypto::tink::RsaSsaPkcs1ProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1ProtoPublicKeySerializerImpl::RsaSsaPkcs1ProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: RsaSsaPkcs1ProtoPublicKeySerializerImpl
    signature: RsaSsaPkcs1ProtoPublicKeySerializerImpl * RsaSsaPkcs1ProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1ProtoPrivateKeyParserImpl::RsaSsaPkcs1ProtoPrivateKeyParserImpl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: crypto::tink::RsaSsaPkcs1ProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1ProtoPrivateKeyParserImpl::RsaSsaPkcs1ProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: RsaSsaPkcs1ProtoPrivateKeyParserImpl
    signature: RsaSsaPkcs1ProtoPrivateKeyParserImpl * RsaSsaPkcs1ProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1ProtoPrivateKeySerializerImpl::RsaSsaPkcs1ProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 432
    functionName: crypto::tink::RsaSsaPkcs1ProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1ProtoPrivateKeySerializerImpl::RsaSsaPkcs1ProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: RsaSsaPkcs1ProtoPrivateKeySerializerImpl
    signature: 'RsaSsaPkcs1ProtoPrivateKeySerializerImpl *

      RsaSsaPkcs1ProtoPrivateKeySerializer()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:438,1
    - Dst: crypto::tink::RsaSsaPkcs1ProtoParametersParser
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:439,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:440,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:445,1
    - Dst: crypto::tink::RsaSsaPkcs1ProtoParametersSerializer
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:446,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:447,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:451,1
    - Dst: crypto::tink::RsaSsaPkcs1ProtoPublicKeyParser
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:452,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:453,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:457,1
    - Dst: crypto::tink::RsaSsaPkcs1ProtoPublicKeySerializer
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:458,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:459,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:463,1
    - Dst: crypto::tink::RsaSsaPkcs1ProtoPrivateKeyParser
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:464,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:465,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:469,1
    - Dst: crypto::tink::RsaSsaPkcs1ProtoPrivateKeySerializer
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 471
    functionName: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::RsaSsaPkcs1ProtoParametersParser
    - crypto::tink::RsaSsaPkcs1ProtoPublicKeyParser
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RsaSsaPkcs1ProtoParametersSerializer
    - crypto::tink::RsaSsaPkcs1ProtoPrivateKeySerializer
    - crypto::tink::RsaSsaPkcs1ProtoPrivateKeyParser
    - crypto::tink::RsaSsaPkcs1ProtoPublicKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterRsaSsaPkcs1ProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PublicKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: crypto::tink::Ed25519PublicKey::Ed25519PublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519PublicKey(const Ed25519PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PublicKey
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: '& operator=(const Ed25519PublicKey& other)'
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519PublicKey
    signature: Ed25519PublicKey & operator=(const Ed25519PublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PublicKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: crypto::tink::Ed25519PublicKey::Ed25519PublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519PublicKey(Ed25519PublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(Ed25519PublicKey&& other)'
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519PublicKey
    signature: Ed25519PublicKey & operator=(Ed25519PublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: crypto::tink::Ed25519PublicKey::GetPublicKeyBytes
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetPublicKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::Ed25519PublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519Parameters
    signature: Ed25519Parameters & GetParameters() const override
  - 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: crypto::tink::Ed25519PublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - output_prefix
    argTypes:
    - Ed25519Parameters
    - absl::string_view
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: crypto::tink::Ed25519PublicKey::Ed25519PublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ed25519PublicKey(const Ed25519Parameters& parameters,\n                            absl::string_view
      public_key_bytes,\n                            absl::optional<int> id_requirement,\n
      \                           absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:54,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:54,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:55,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:57,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - RsaSsaPkcs1SignKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcsSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:66,1
    - Dst: auto::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:67,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:68,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:70,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:70,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:71,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:72,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:72,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:72,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hash_type
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - HashType
    - int
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 7
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - auto::set_hash_type
    - crypto::tink::internal::BignumToString
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    linkageType: ''
    returnType: RsaSsaPkcs1KeyFormat
    signature: "RsaSsaPkcs1KeyFormat CreateKeyFormat(HashType hash_type,\n                                     int
      modulus_size_in_bits,\n                                     int public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc: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: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 23
    functionsReached:
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: RsaSsaPkcs1KeyFormat
    signature: RsaSsaPkcs1KeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:81,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:81,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - RsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:86,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:88,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::mutable_params
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatSha384Allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:93,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:95,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::mutable_params
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatSha512Allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:100,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:102,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::mutable_params
    - RsaSsaPkcs1SignKeyManager
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatSha1Disallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:107,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:109,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:109,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::mutable_params
    - RsaSsaPkcs1SignKeyManager
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatUnkownHashDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:114,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:116,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:116,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1SignKeyManager
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - Not
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatSmallModulusDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:125,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:126,1
    - Dst: has_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:127,1
    - Dst: RsaSsaPkcs1PublicKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:127,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:128,1
    - Dst: RsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:128,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:129,1
    - Dst: RsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:130,1
    - Dst: RsaSsaPkcs1PublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:130,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:132,1
    - Dst: public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:132,1
    - Dst: RsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:132,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:134,1
    - Dst: RsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:135,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:137,1
    - Dst: d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:138,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:140,1
    - Dst: p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:141,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:143,1
    - Dst: q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:144,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:146,1
    - Dst: dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:147,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:150,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:154,1
    - Dst: BN_new
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:155,1
    - Dst: BN_mul
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:155,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:155,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:155,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:155,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:162,1
    - Dst: BN_dup
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:162,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:163,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:163,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:163,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:164,1
    - Dst: BN_new
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: BN_mod
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:169,1
    - Dst: BN_dup
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:169,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:169,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:170,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:170,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:170,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:171,1
    - Dst: BN_new
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:172,1
    - Dst: BN_mod
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:172,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:172,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:172,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:172,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:173,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:173,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:173,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ' private_key'
    - ' key_format'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    - RsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 174
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 174
    functionName: crypto::tink::CheckNewKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_THAT
    - internal::SslUniquePtr<BIGNUM>
    - BN_mod
    - RsaSsaPkcs1PublicKey::version
    - dq
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_new
    - BN_dup
    - RsaSsaPkcs1PublicKey::e
    - dp
    - EXPECT_GE
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - BN_sub_word
    - params
    - version
    - public_exponent
    - has_public_key
    - BN_num_bits
    - util::StatusOr::get
    - public_key
    - p
    - q
    - BN_cmp
    - RsaSsaPkcs1PublicKey::params
    - d
    - modulus_size_in_bits
    - EXPECT_GT
    - auto::get
    - BN_mul
    - RsaSsaPkcs1PublicKey::n
    linkageType: ''
    returnType: void
    signature: "void CheckNewKey(const RsaSsaPkcs1PrivateKey& private_key,\n                 const
      RsaSsaPkcs1KeyFormat& key_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:178,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:181,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:182,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:187,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:191,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:192,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, CreateKeySmallKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:197,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:201,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:202,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, CreateKeyLargeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:207,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:209,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:209,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:219,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:220,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:221,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:221,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:222,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:224,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - RsaSsaPkcs1SignKeyManager
    - absl::flat_hash_set::insert
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, CreateKeyAlwaysNewRsaPair)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:229,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:230,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:232,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:234,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:235,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:236,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:236,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:237,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:238,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:238,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:238,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:239,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:239,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:239,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:244,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:247,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:248,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:251,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:253,1
    - Dst: RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:254,1
    - Dst: RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:258,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:258,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 261
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1SignKeyManager
    - IsOk
    - StatusOr::value
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - RsaSsaPkcs1PrivateKey::public_key
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:90,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:99,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:103,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:108,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:108,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:109,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:109,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:110,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:111,1
    - Dst: util::StatusOr::GetModulus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:111,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetModulus
    - util::StatusOr::GetIdRequirement
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1PublicKeyTest, CreatePublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:122,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:126,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:129,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:129,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PublicKeyTest, CreateWithNonMatchingModulusSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:141,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:154,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:154,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:156,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:160,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:160,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:162,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 165
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:168,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:177,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:181,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:184,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:187,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:193,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:194,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1PublicKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:206,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:215,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:219,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:222,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:224,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:227,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:230,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 233
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PublicKeyTest, DifferentParametersNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:243,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:245,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:259,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:262,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:264,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:267,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:269,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:271,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 273
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PublicKeyTest, DifferentModulusNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:283,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:287,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:290,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:292,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:295,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:297,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:298,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:299,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 301
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PublicKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:311,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:315,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:316,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:316,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:319,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:322,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:325,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:328,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:330,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:331,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:332,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 334
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - std::string
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - EXPECT_FALSE
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1PublicKeyTest, PaddedWithZerosModulusEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:67,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:67,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:68,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:68,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:70,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:75,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:75,1
    - Dst: EcdsaKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:75,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - EcdsaKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:81,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:82,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:83,1
    - Dst: EcdsaParams*::set_encoding
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 11
    functionsReached:
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_hash_type
    - EcdsaParams*::set_curve
    - EcdsaParams*::set_encoding
    linkageType: ''
    returnType: EcdsaKeyFormat
    signature: EcdsaKeyFormat CreateValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:90,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:94,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:95,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:97,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:97,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyFormatUnknownCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:101,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:102,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:103,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:105,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:105,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:106,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:106,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - Not
    - IsOk
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyFormatBadHashP256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:111,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:112,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:113,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:115,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:115,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:116,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:116,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - Not
    - IsOk
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyFormatBadHashP384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:121,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:122,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:123,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:125,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:125,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:126,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - Not
    - IsOk
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyFormatBadHashP521)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:131,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:133,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:136,1
    - Dst: EcdsaPrivateKey::version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:136,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:138,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:138,1
    - Dst: EcdsaPrivateKey::version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:139,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:139,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:140,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:141,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:141,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:141,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:142,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:142,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:143,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:145,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:145,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:145,1
    - Dst: Gt
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:146,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:146,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:146,1
    - Dst: Gt
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:148,1
    - Dst: EcdsaPrivateKey::key_value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:148,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:148,1
    - Dst: Gt
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Gt
    - SizeIs
    - EcdsaPrivateKey::version
    - StatusOr::value
    - IsOk
    - EcdsaPrivateKey::public_key
    - ASSERT_THAT
    - EcdsaKeyFormat::params
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - EcdsaPrivateKey::key_value
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:152,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:155,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:155,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:159,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc: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: crypto::tink::CreateValidKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 13
    functionsReached:
    - EcdsaSignKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: EcdsaPrivateKey CreateValidKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:165,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EcdsaSignKeyManager
    - crypto::tink::CreateValidKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:169,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:170,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:171,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:173,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:173,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:174,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:174,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaPrivateKey::mutable_public_key
    - Not
    - IsOk
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyBadHashP256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:179,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:180,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:181,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:183,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:183,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:184,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaPrivateKey::mutable_public_key
    - Not
    - IsOk
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyBadHashP384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:189,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:190,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:191,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:193,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:193,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:194,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:194,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - EcdsaPrivateKey::mutable_public_key
    - Not
    - IsOk
    - EcdsaParams*::set_curve
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyBadHashP521)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:199,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:203,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:206,1
    - Dst: EcdsaPublicKey::version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:206,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:206,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:207,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:207,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:208,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:209,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:209,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:210,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:211,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:211,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:212,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:214,1
    - Dst: EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:214,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:214,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:215,1
    - Dst: EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:215,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:215,1
    - Dst: EcdsaPrivateKey::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::y
    - EcdsaPublicKey::params
    - StatusOr::value
    - IsOk
    - EcdsaPrivateKey::public_key
    - ASSERT_THAT
    - Eq
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - EcdsaPublicKey::version
    - crypto::tink::CreateValidKey
    - EcdsaPublicKey::x
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:219,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:221,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:225,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:228,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:228,1
    - Dst: EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:229,1
    - Dst: EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:230,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:231,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:232,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:232,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:233,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:234,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:237,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:237,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 4
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::y
    - EcdsaPublicKey::params
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::CreateValidKey
    - EcdsaPublicKey::x
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:243,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:246,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:246,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:250,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:253,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:253,1
    - Dst: EcdsaPublicKey::x
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:254,1
    - Dst: EcdsaPublicKey::y
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:255,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:256,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:257,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:257,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:258,1
    - Dst: EcdsaPublicKey::params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:259,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:262,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:262,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:263,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 265
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::y
    - EcdsaPublicKey::params
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - Not
    - ASSERT_THAT
    - auto::value
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::CreateValidKey
    - EcdsaPublicKey::x
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, CreateDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:268,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:269,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:272,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:274,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:275,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:275,1
    - Dst: Not
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - Not
    - IsOk
    - crypto::tink::internal::IsBoringSsl
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, DeriveKeyFailsWithOpenSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:280,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:281,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:284,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:287,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:291,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:295,1
    - Dst: Sign
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:299,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:299,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:302,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:304,1
    - Dst: Verify
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 305
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - EcdsaVerifyKeyManager
    - IsOk
    - util::StatusOr::public_key
    - crypto::tink::internal::IsBoringSsl
    - ASSERT_THAT
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - Verify
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, DeriveKeySignVerifySucceedsWithBoringSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:308,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:309,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:312,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:317,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:317,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 319
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - test::StatusIs
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - EcdsaSignKeyManager
    - GTEST_SKIP
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:322,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:323,1
    - Dst: EcdsaKeyFormat::set_version
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:327,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:328,1
    - Dst: EcdsaParams*::set_hash_type
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:329,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:330,1
    - Dst: EcdsaParams*::set_encoding
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:331,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:336,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:336,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 338
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParams*::set_hash_type
    - absl::make_unique<std::stringstream>
    - test::StatusIs
    - EcdsaKeyFormat::set_version
    - EcdsaParams*::set_encoding
    - crypto::tink::internal::IsBoringSsl
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - ASSERT_THAT
    - EcdsaSignKeyManager
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, DeriveKeyWithInvalidKeyTemplateVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:341,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:342,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:345,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:346,1
    - Dst: EcdsaParams*::set_curve
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:347,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:350,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:352,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:352,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 354
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - test::StatusIs
    - crypto::tink::internal::IsBoringSsl
    - EcdsaKeyFormat::mutable_params
    - EcdsaParams*::set_curve
    - ASSERT_THAT
    - EcdsaSignKeyManager
    - GTEST_SKIP
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, DeriveKeyInvalidCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:401,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:402,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:406,1
    - Dst: std::get<0>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:406,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:406,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:409,1
    - Dst: std::get<1>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:409,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:409,1
    - Dst: EcdsaSignKeyManager
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:412,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:413,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:413,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:414,1
    - Dst: util::StatusOr::key_value
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:414,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:415,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:415,1
    - Dst: std::get<2>
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:415,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::get<1>
    - absl::make_unique<std::stringstream>
    - IsOk
    - crypto::tink::test::HexDecodeOrDie
    - std::get<0>
    - crypto::tink::internal::IsBoringSsl
    - EcdsaKeyFormat::mutable_params
    - ASSERT_THAT
    - EcdsaSignKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - util::StatusOr::key_value
    - GetParam
    - Eq
    - std::get<2>
    linkageType: ''
    returnType: void
    signature: void TEST_P(NistCurveParamsDeriveTest, TestVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: crypto::tink::RsaSsaPkcs1PrivateKey::RsaSsaPkcs1PrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1PrivateKey(const RsaSsaPkcs1PrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: '& operator=(const RsaSsaPkcs1PrivateKey& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey
    signature: RsaSsaPkcs1PrivateKey & operator=(const RsaSsaPkcs1PrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::RsaSsaPkcs1PrivateKey::RsaSsaPkcs1PrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1PrivateKey(RsaSsaPkcs1PrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(RsaSsaPkcs1PrivateKey&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey
    signature: RsaSsaPkcs1PrivateKey & operator=(RsaSsaPkcs1PrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::RsaSsaPkcs1PrivateKey::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: crypto::tink::RsaSsaPkcs1PrivateKey::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::RsaSsaPkcs1PrivateKey::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: '& GetPrimeP(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeP(PartialKeyAccessToken token) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '& GetPrimeQ(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeQ(PartialKeyAccessToken token) const
  - 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: '& GetPrivateExponent() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrivateExponent() 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: '& GetPrimeExponentP() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeExponentP() 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: '& GetPrimeExponentQ() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetPrimeExponentQ() 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: '& GetCrtCoefficient() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: RestrictedBigInteger & GetCrtCoefficient() 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1PublicKey
    signature: RsaSsaPkcs1PublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 7
    argNames:
    - ' public_key'
    - ' p'
    - ' q'
    - ' dp'
    - ' dq'
    - ' d'
    - ' q_inv'
    argTypes:
    - RsaSsaPkcs1PublicKey
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: crypto::tink::RsaSsaPkcs1PrivateKey::RsaSsaPkcs1PrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPkcs1PrivateKey(const RsaSsaPkcs1PublicKey& public_key,\n
      \                                const RestrictedBigInteger& p,\n                                 const
      RestrictedBigInteger& q,\n                                 const RestrictedBigInteger&
      dp,\n                                 const RestrictedBigInteger& dq,\n                                 const
      RestrictedBigInteger& d,\n                                 const RestrictedBigInteger&
      q_inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:54,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:60,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:61,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ParametersTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:65,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:65,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Ed25519Parameters::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519ParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:79,1
    - Dst: Ed25519Parameters::GetVariant
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:79,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:80,1
    - Dst: Ed25519Parameters::HasIdRequirement
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:80,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - Ed25519Parameters::HasIdRequirement
    - ASSERT_THAT
    - Eq
    - EXPECT_THAT
    - IsTrue
    - Ed25519Parameters::GetVariant
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519ParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:90,1
    - Dst: Ed25519Parameters::GetVariant
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:91,1
    - Dst: Ed25519Parameters::HasIdRequirement
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:91,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - Ed25519Parameters::HasIdRequirement
    - ASSERT_THAT
    - Eq
    - EXPECT_THAT
    - IsTrue
    - Ed25519Parameters::GetVariant
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519ParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:95,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:99,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:103,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:106,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:107,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(Ed25519ParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:114,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:118,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:120,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ed25519_parameters_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Ed25519Parameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519ParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:62,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:63,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:68,1
    - Dst: GetX
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:68,1
    - Dst: GetY
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:69,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:70,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:71,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:76,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:77,1
    - Dst: EC_POINT_is_on_curve
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:79,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:79,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:81,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:82,1
    - Dst: crypto::tink::subtle::EnumToString
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:83,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - curve_type
    - ' point'
    argTypes:
    - EcdsaParameters::CurveType
    - EcPoint
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: crypto::tink::ValidatePublicPoint
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::StatusOr::status
    - GetY
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcGroupFromCurveType
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - crypto::tink::subtle::EnumToString
    - EC_POINT_is_on_curve
    - GetX
    - absl::StrCat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidatePublicPoint(EcdsaParameters::CurveType curve_type,\n
      \                                const EcPoint& point)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:92,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:96,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:97,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:101,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:101,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:102,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:105,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:108,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:108,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:111,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:113,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - EcdsaParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 115
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 115
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const EcdsaParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:119,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:120,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:125,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:126,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - EcdsaParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: crypto::tink::ValidateIdRequirement
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.cc
    functionUses: 0
    functionsReached:
    - absl::optional<int>::has_value
    - crypto::tink::util::OkStatus
    - crypto::tink::internal::ExtractStatus
    - HasIdRequirement
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateIdRequirement(const EcdsaParameters& parameters,\n
      \                                  absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateIdRequirement
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:140,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:141,1
    - Dst: ValidatePublicPoint
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:146,1
    - Dst: GetCurveType
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:146,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:147,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:152,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:154,1
    - Dst: crypto::tink::EcdsaPublicKey::EcdsaPublicKey
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ' parameters'
    - ' public_point'
    - id_requirement
    - token
    argTypes:
    - EcdsaParameters
    - EcPoint
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: crypto::tink::EcdsaPublicKey::Create
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.cc
    functionUses: 14
    functionsReached:
    - crypto::tink::EcdsaPublicKey::EcdsaPublicKey
    - util::Status::ok
    - GetCurveType
    - ValidatePublicPoint
    - util::StatusOr::status
    - ValidateIdRequirement
    - util::StatusOr::ok
    - ComputeOutputPrefix
    linkageType: ''
    returnType: util::StatusOr<EcdsaPublicKey>
    signature: "util::StatusOr<EcdsaPublicKey> EcdsaPublicKey::Create(\n    const
      EcdsaParameters& parameters, const EcPoint& public_point,\n    absl::optional<int>
      id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EcdsaPublicKey*>
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:162,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:164,1
    - Dst: EcdsaPublicKey*::GetParameters
      Src: /src/tink/cc/signature/ecdsa_public_key.cc:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: EcdsaPublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EcdsaPublicKey*>
    - EcdsaPublicKey*::GetParameters
    - GetParameters
    linkageType: ''
    returnType: bool
    signature: bool EcdsaPublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeySign
      Src: /src/tink/cc/signature/failing_signature_test.cc:37,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/failing_signature_test.cc:39,1
    - Dst: std::unique_ptr::Sign
      Src: /src/tink/cc/signature/failing_signature_test.cc:39,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/failing_signature_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/failing_signature_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingPublicKeySign
    - EXPECT_THAT
    - std::unique_ptr::Sign
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPublicKeySign, SignFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeySign
      Src: /src/tink/cc/signature/failing_signature_test.cc:46,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/failing_signature_test.cc:48,1
    - Dst: std::unique_ptr::Sign
      Src: /src/tink/cc/signature/failing_signature_test.cc:49,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/failing_signature_test.cc:50,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/failing_signature_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/failing_signature_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingPublicKeySign
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - std::unique_ptr::Sign
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPublicKeySign, SignFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeyVerify
      Src: /src/tink/cc/signature/failing_signature_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/failing_signature_test.cc:57,1
    - Dst: std::unique_ptr::Verify
      Src: /src/tink/cc/signature/failing_signature_test.cc:57,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/failing_signature_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/failing_signature_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Verify
    - crypto::tink::CreateAlwaysFailingPublicKeyVerify
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPublicKeyVerify, VerifyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeyVerify
      Src: /src/tink/cc/signature/failing_signature_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/failing_signature_test.cc:66,1
    - Dst: std::unique_ptr::Verify
      Src: /src/tink/cc/signature/failing_signature_test.cc:67,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/failing_signature_test.cc:68,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/failing_signature_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/failing_signature_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::Verify
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateAlwaysFailingPublicKeyVerify
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailPublicKeyVerify, VerifyFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:59,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:59,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:61,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:61,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:61,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - public_exponent
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: crypto::tink::PublicExponentToString
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - BN_num_bytes
    - BN_set_word
    linkageType: ''
    returnType: std::string
    signature: std::string PublicExponentToString(int64_t public_exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:87,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:100,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:100,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:102,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:102,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:103,1
    - Dst: util::StatusOr::GetSigHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:103,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:104,1
    - Dst: util::StatusOr::GetMgf1HashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:104,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:105,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:105,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:106,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:106,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - util::StatusOr::GetMgf1HashType
    - EXPECT_THAT
    - util::StatusOr::GetSigHashType
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssParametersTest, Build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:120,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:120,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:133,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithoutVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:149,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:149,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithInvalidSigHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:165,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithInvalidMgf1gHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:179,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:179,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithDifferentSigAndMgf1HashTypesFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:192,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:192,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithoutSigHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:205,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:205,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithoutMgf1HashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:220,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:220,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithLargeModulusSizeWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:233,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:233,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithTooSmallModulusSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:246,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:246,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithoutModulusSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:259,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:259,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithoutSaltLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:273,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:273,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithNegativeSaltLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:279,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:279,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:290,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:290,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::PublicExponentToString
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithValidNonF4PublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:303,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:303,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithoutPublicExponentDefaultsToF4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:307,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:307,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:317,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:317,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - util::StatusOr::status
    - crypto::tink::PublicExponentToString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithSmallPublicExponentFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:322,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:322,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:324,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:332,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:332,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - util::StatusOr::status
    - crypto::tink::PublicExponentToString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithEvenPublicExponentFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:338,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:338,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:348,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:349,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:349,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::PublicExponentToString
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithLargePublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:355,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:355,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:357,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:365,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:365,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - util::StatusOr::status
    - crypto::tink::PublicExponentToString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, BuildWithTooLargePublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:379,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:383,1
    - Dst: RsaSsaPssParameters::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:383,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:383,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:384,1
    - Dst: RsaSsaPssParameters::HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:384,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:384,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:385,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:385,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:385,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:386,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:386,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:386,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:387,1
    - Dst: util::StatusOr::GetSigHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:387,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:388,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:389,1
    - Dst: util::StatusOr::GetMgf1HashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:389,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:390,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:391,1
    - Dst: util::StatusOr::GetSaltLengthInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:391,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 392
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - RsaSsaPssParameters::HasIdRequirement
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - util::StatusOr::GetMgf1HashType
    - EXPECT_THAT
    - util::StatusOr::GetSigHashType
    - IsTrue
    - Eq
    - RsaSsaPssParameters::GetVariant
    - util::StatusOr::GetSaltLengthInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:404,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:408,1
    - Dst: RsaSsaPssParameters::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:408,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:408,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:409,1
    - Dst: RsaSsaPssParameters::HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:409,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:409,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:410,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:410,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:410,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:411,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:411,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:411,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:412,1
    - Dst: util::StatusOr::GetSigHashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:412,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:413,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:414,1
    - Dst: util::StatusOr::GetMgf1HashType
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:414,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:415,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:416,1
    - Dst: util::StatusOr::GetSaltLengthInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:416,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - RsaSsaPssParameters::HasIdRequirement
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - util::StatusOr::GetMgf1HashType
    - EXPECT_THAT
    - util::StatusOr::GetSigHashType
    - IsTrue
    - Eq
    - RsaSsaPssParameters::GetVariant
    - util::StatusOr::GetSaltLengthInBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:420,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:423,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:431,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:431,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:434,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:442,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:442,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:444,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:445,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:446,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 448
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:452,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:460,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:460,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:463,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:471,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:471,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:473,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 475
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:479,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:487,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:487,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:490,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:498,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:498,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:500,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 502
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, HashTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:506,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:514,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:514,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:517,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:525,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:525,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:527,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 529
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, SaltLengthNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:533,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:541,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:541,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:544,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:552,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:552,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:554,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 556
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, ModulusSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:560,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:568,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:568,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:571,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:571,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:573,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:581,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:581,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:583,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 585
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EXPECT_TRUE
    - crypto::tink::PublicExponentToString
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssParametersTest, PublicExponentNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:120,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - base64_string
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: crypto::tink::Base64WebSafeDecode
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 9
    functionsReached:
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - CHECK
    linkageType: ''
    returnType: std::string
    signature: std::string Base64WebSafeDecode(absl::string_view base64_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:128,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:128,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:129,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:131,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:131,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:132,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:134,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:134,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:135,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:137,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:137,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:138,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:140,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:140,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:141,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:143,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:143,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: crypto::tink::GetValidPrivateValues
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 19
    functionsReached:
    - RestrictedBigInteger
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: PrivateValues
    signature: PrivateValues GetValidPrivateValues()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:149,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:157,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:157,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:160,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:162,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: crypto::tink::GetValidPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 13
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RsaSsaPssPublicKey::Create
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - CHECK_OK
    linkageType: ''
    returnType: RsaSsaPssPublicKey
    signature: RsaSsaPssPublicKey GetValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: crypto::tink::FlipFirstByte
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string FlipFirstByte(absl::string_view str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:199,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:210,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:213,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:215,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:217,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:219,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:230,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:230,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:231,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:231,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:232,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:232,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:233,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:233,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:234,1
    - Dst: util::StatusOr::GetPrimeP
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:234,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:236,1
    - Dst: util::StatusOr::GetPrimeQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:236,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:236,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:238,1
    - Dst: util::StatusOr::GetPrimeExponentP
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:238,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:239,1
    - Dst: util::StatusOr::GetPrimeExponentQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:239,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:240,1
    - Dst: util::StatusOr::GetCrtCoefficient
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:240,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:241,1
    - Dst: util::StatusOr::GetPrivateExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:241,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 242
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - crypto::tink::GetValidPrivateValues
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - util::StatusOr::GetPrivateExponent
    - IsOk
    - util::StatusOr::GetPrimeExponentP
    - util::StatusOr::GetPrimeExponentQ
    - util::StatusOr::GetCrtCoefficient
    - EXPECT_THAT
    - GetParam
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPrimeP
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::RsaSsaPssPublicKey::Create
    - util::StatusOr::GetPrimeQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssPrivateKeyTest, BuildPrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:246,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:246,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:250,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:253,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:253,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:253,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:254,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:257,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:257,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:258,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:258,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:259,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:259,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:262,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:263,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:265,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:265,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:266,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:266,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:268,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:269,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:271,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:272,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:274,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:275,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:277,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:278,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:280,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:281,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:283,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:284,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:287,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:295,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:297,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:298,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:300,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:303,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:306,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:306,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:308,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:308,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:310,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:310,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:312,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:312,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:314,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:314,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:316,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:316,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:320,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:320,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:320,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:321,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:321,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:322,1
    - Dst: util::StatusOr::GetPrimeP
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:322,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:322,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:323,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:324,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:325,1
    - Dst: util::StatusOr::GetPrimeQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:325,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:325,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:326,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:328,1
    - Dst: util::StatusOr::GetPrimeExponentP
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:328,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:329,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:331,1
    - Dst: util::StatusOr::GetPrimeExponentQ
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:331,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:332,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:333,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:334,1
    - Dst: util::StatusOr::GetCrtCoefficient
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:334,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:335,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:336,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:337,1
    - Dst: util::StatusOr::GetPrivateExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:337,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:338,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:339,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:340,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:340,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:341,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:341,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 342
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - RSA_get0_factors
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - util::StatusOr::GetPrivateExponent
    - IsOk
    - RSA_generate_key_ex
    - util::StatusOr::GetPrimeExponentP
    - util::StatusOr::GetPrimeExponentQ
    - util::StatusOr::GetCrtCoefficient
    - RSA_get0_crt_params
    - EXPECT_THAT
    - internal::SslUniquePtr::get
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPrimeP
    - RSA_get0_key
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::internal::BignumToString
    - util::StatusOr::GetIdRequirement
    - crypto::tink::RsaSsaPssPublicKey::Create
    - BN_set_word
    - util::StatusOr::GetPrimeQ
    - BN_num_bytes
    - NotNull
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyFromBoringSsl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:345,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:346,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:349,1
    - Dst: RsaSsaPssPublicKey::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:350,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:351,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:351,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:351,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:352,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:353,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:353,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:356,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:364,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:366,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:366,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 368
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - BigInteger
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - RsaSsaPssPublicKey::GetParameters
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesModulus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:371,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:372,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:375,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:378,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:378,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:378,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:379,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:385,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:387,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:387,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesPrimeP)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:392,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:393,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:396,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:400,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:400,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:400,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:401,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:406,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:408,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:408,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 410
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesPrimeQ)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:413,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:414,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:417,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:422,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:422,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:422,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:423,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:427,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:429,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:429,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 431
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesPrimeExponentP)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:434,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:435,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:438,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:444,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:444,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:444,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:445,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:450,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:450,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 452
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesPrimeExponentQ)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:455,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:456,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:459,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:466,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:466,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:466,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:467,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:469,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:471,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:471,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 473
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesPrivateExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:476,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:477,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:480,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:488,1
    - Dst: crypto::tink::FlipFirstByte
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:488,1
    - Dst: crypto::tink::Base64WebSafeDecode
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:488,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:489,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:490,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:492,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:492,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 494
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - RestrictedBigInteger
    - crypto::tink::FlipFirstByte
    - crypto::tink::Base64WebSafeDecode
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateKeyValidatesCrtCoefficient)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:497,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:500,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:507,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:509,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:509,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 511
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPublicKeyNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:514,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:517,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:518,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:524,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:526,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:526,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 528
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrimePNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:531,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:534,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:535,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:541,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:543,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:543,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrimeQNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:548,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:551,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:552,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:558,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:560,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:560,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 562
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrimeExponentPNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:565,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:568,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:569,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:575,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:577,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:577,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrimeExponentQNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:582,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:585,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:586,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:592,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:594,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:594,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildPrivateExponentNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:599,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:602,1
    - Dst: crypto::tink::GetValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:603,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:609,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:611,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:611,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetValidPublicKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, BuildCrtCoefficientNotSetFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:617,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:625,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:625,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:629,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:638,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:640,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:641,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:641,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:643,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:646,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:654,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:656,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:656,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 658
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::GetValidPrivateValues
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, CreateMismatchedKeyPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:661,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:663,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:671,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:671,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:674,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:676,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:677,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:677,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:679,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:682,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:690,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:692,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:692,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:695,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:703,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:705,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:705,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:707,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:708,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:709,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 711
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssPrivateKeyTest, PrivateKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:715,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:723,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:723,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:726,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:728,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:729,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:729,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:731,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:733,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:734,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:734,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:736,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:739,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:747,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:749,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:749,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:752,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:760,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:762,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:762,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:764,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:765,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:766,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 768
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 768
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:772,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:780,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:780,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:783,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:785,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:786,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:786,1
    - Dst: crypto::tink::GetValidPrivateValues
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:788,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:791,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:799,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:801,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:801,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:803,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:804,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:805,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 807
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 807
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - crypto::tink::GetValidPrivateValues
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPrivateKeyTest, DifferentKeyTypesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/config_v0_test.cc:52,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/config_v0_test.cc:52,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/config_v0_test.cc:52,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/config_v0_test.cc:53,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/config_v0_test.cc:53,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/signature/config_v0_test.cc:55,1
    - Dst: crypto::tink::KeyGenConfigSignatureV0
      Src: /src/tink/cc/signature/config_v0_test.cc:55,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/config_v0_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/config_v0_test.cc:56,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/signature/config_v0_test.cc:59,1
    - Dst: crypto::tink::ConfigSignatureV0
      Src: /src/tink/cc/signature/config_v0_test.cc:59,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/config_v0_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/config_v0_test.cc:60,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/signature/config_v0_test.cc:62,1
    - Dst: crypto::tink::ConfigSignatureV0
      Src: /src/tink/cc/signature/config_v0_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/config_v0_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/config_v0_test.cc:63,1
    - Dst: Sign
      Src: /src/tink/cc/signature/config_v0_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/config_v0_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/config_v0_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/config_v0_test.cc:68,1
    - Dst: Verify
      Src: /src/tink/cc/signature/config_v0_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/config_v0_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - crypto::tink::GetPublicKeysetHandle
    - ASSERT_THAT
    - crypto::tink::KeyGenConfigSignatureV0
    - EXPECT_THAT
    - Verify
    - crypto::tink::GetPrimitive
    - GetParam
    - Sign
    - crypto::tink::ConfigSignatureV0
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::RsaSsaPkcs1VerifyKeyManager::RsaSsaPkcs1VerifyKeyManager
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1VerifyKeyManager()
  - 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: crypto::tink::RsaSsaPkcs1VerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RsaSsaPkcs1VerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: crypto::tink::RsaSsaPkcs1VerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:61,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:62,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:64,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1VerifyKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:70,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:70,1
    - Dst: RsaSsaPkcs1PublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:70,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1VerifyKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    - RsaSsaPkcs1PublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:78,1
    - Dst: auto::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:79,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:80,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:82,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:82,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:83,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:84,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:84,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:84,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hash_type
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - HashType
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 12
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - auto::set_hash_type
    - crypto::tink::internal::BignumToString
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    linkageType: ''
    returnType: RsaSsaPkcs1KeyFormat
    signature: "RsaSsaPkcs1KeyFormat CreateKeyFormat(HashType hash_type,\n                                     int
      modulus_size_in_bits,\n                                     int public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc: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: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 32
    functionsReached:
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: RsaSsaPkcs1KeyFormat
    signature: RsaSsaPkcs1KeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:93,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc: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: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::ValidKeyFormat
    - RsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey
    signature: RsaSsaPkcs1PrivateKey CreateValidPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:97,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 11
    functionsReached:
    - RsaSsaPkcs1SignKeyManager
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: RsaSsaPkcs1PublicKey
    signature: RsaSsaPkcs1PublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:105,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1VerifyKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:109,1
    - Dst: RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:111,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:111,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1VerifyKeyManager
    - Not
    - IsOk
    - RsaSsaPkcs1PublicKey::set_version
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:115,1
    - Dst: RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:117,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:117,1
    - Dst: Not
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1VerifyKeyManager
    - Not
    - IsOk
    - RsaSsaPkcs1PublicKey::mutable_params
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, PublicKeyUnkownHashDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:121,1
    - Dst: RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:122,1
    - Dst: RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:124,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:124,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:125,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1PublicKey::set_n
    - RsaSsaPkcs1VerifyKeyManager
    - RsaSsaPkcs1PublicKey::set_e
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, ValidateKeyFormatSmallModulusDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:131,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:134,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:135,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:137,1
    - Dst: RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:140,1
    - Dst: RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:141,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:142,1
    - Dst: RsaSsaPkcs1PrivateKey::d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:142,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:143,1
    - Dst: RsaSsaPkcs1PrivateKey::p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:143,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:144,1
    - Dst: RsaSsaPkcs1PrivateKey::q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:144,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:145,1
    - Dst: RsaSsaPkcs1PrivateKey::dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:145,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:146,1
    - Dst: RsaSsaPkcs1PrivateKey::dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:146,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:147,1
    - Dst: RsaSsaPkcs1PrivateKey::crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:147,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:149,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:157,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:157,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 160
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1PrivateKey::dq
    - RsaSsaPkcs1PrivateKey::dp
    - RsaSsaPkcs1SignKeyManager
    - RsaSsaPkcs1PrivateKey::p
    - RsaSsaPkcs1VerifyKeyManager
    - IsOk
    - StatusOr::value
    - RsaSsaPkcs1PrivateKey::q
    - ASSERT_THAT
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - RsaSsaPkcs1PrivateKey::d
    - RsaSsaPkcs1PrivateKey::public_key
    - crypto::tink::CreateKeyFormat
    - RsaSsaPkcs1PrivateKey::crt
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1SignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:174,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:183,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:184,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:189,1
    - Dst: RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:201,1
    - Dst: RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:202,1
    - Dst: RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:203,1
    - Dst: RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:204,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:208,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1PublicKey::set_n
    - RsaSsaPkcs1VerifyKeyManager
    - IsOk
    - RsaSsaPkcs1PublicKey::set_e
    - RsaSsaPkcs1PublicKey::mutable_params
    - RsaSsaPkcs1PublicKey::set_version
    - auto::value
    - EXPECT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1VerifyKeyManagerTest, NistTestVector)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - CurveType
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: "& EcdsaParameters::Builder::SetCurveType(\n    CurveType curve_type)"
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters::Builder
    signature: "EcdsaParameters::Builder & EcdsaParameters::Builder::SetCurveType(\n
      \   CurveType curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: "& EcdsaParameters::Builder::SetHashType(\n    HashType hash_type)"
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters::Builder
    signature: "EcdsaParameters::Builder & EcdsaParameters::Builder::SetHashType(\n
      \   HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - signature_encoding
    argTypes:
    - SignatureEncoding
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: "& EcdsaParameters::Builder::SetSignatureEncoding(\n    SignatureEncoding
      signature_encoding)"
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters::Builder
    signature: "EcdsaParameters::Builder & EcdsaParameters::Builder::SetSignatureEncoding(\n
      \   SignatureEncoding signature_encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: "& EcdsaParameters::Builder::SetVariant(\n    Variant variant)"
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters::Builder
    signature: "EcdsaParameters::Builder & EcdsaParameters::Builder::SetVariant(\n
      \   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:55,1
    - Dst: has_value
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:59,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:60,1
    - Dst: has_value
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:63,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:64,1
    - Dst: has_value
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:69,1
    - Dst: absl::c_linear_search
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:77,1
    - Dst: absl::c_linear_search
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:86,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:113,1
    - Dst: absl::c_linear_search
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:121,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:122,1
    - Dst: absl::c_linear_search
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:130,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:131,1
    - Dst: EcdsaParameters
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:135,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 137
    functionName: EcdsaParameters::Builder::Build()
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.cc
    functionUses: 0
    functionsReached:
    - has_value
    - crypto::tink::internal::ExtractStatus
    - absl::c_linear_search
    - EcdsaParameters
    - absl::InvalidArgumentError
    linkageType: ''
    returnType: util::StatusOr<EcdsaParameters>
    signature: util::StatusOr<EcdsaParameters> EcdsaParameters::Builder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EcdsaParameters*>
      Src: /src/tink/cc/signature/ecdsa_parameters.cc:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: EcdsaParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EcdsaParameters*>
    linkageType: ''
    returnType: bool
    signature: bool EcdsaParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:58,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:58,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:60,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:60,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:60,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - public_exponent
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: crypto::tink::PublicExponentToString
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - BN_num_bytes
    - BN_set_word
    linkageType: ''
    returnType: std::string
    signature: std::string PublicExponentToString(int64_t public_exponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:85,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:96,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:96,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:98,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:98,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:99,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:99,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:100,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:100,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:101,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:101,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ParametersTest, Build)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:113,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:124,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:124,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithoutVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:138,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:138,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithInvalidHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:149,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:149,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithoutHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:162,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithLargeModulusSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:173,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:173,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithTooSmallModulusSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:184,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:184,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithoutModulusSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:190,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:190,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:199,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:199,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::PublicExponentToString
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithValidNonF4PublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:210,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:210,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithoutPublicExponentDefaultsToF4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:214,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:214,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:222,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:222,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - util::StatusOr::status
    - crypto::tink::PublicExponentToString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithSmallPublicExponentFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:227,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:227,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:235,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:235,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - util::StatusOr::status
    - crypto::tink::PublicExponentToString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithEvenPublicExponentFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:241,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:241,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:250,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:250,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::PublicExponentToString
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithLargePublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:256,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:256,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:264,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:264,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - util::StatusOr::status
    - crypto::tink::PublicExponentToString
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, BuildWithTooLargePublicExponent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:280,1
    - Dst: RsaSsaPkcs1Parameters::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:280,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:281,1
    - Dst: RsaSsaPkcs1Parameters::HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:281,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:281,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:282,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:282,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:283,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:283,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:284,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:284,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - RsaSsaPkcs1Parameters::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - IsTrue
    - Eq
    - RsaSsaPkcs1Parameters::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:300,1
    - Dst: RsaSsaPkcs1Parameters::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:300,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:301,1
    - Dst: RsaSsaPkcs1Parameters::HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:301,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:301,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:302,1
    - Dst: util::StatusOr::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:302,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:303,1
    - Dst: util::StatusOr::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:303,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:304,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:304,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 306
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetModulusSizeInBits
    - RsaSsaPkcs1Parameters::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetPublicExponent
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - IsTrue
    - Eq
    - RsaSsaPkcs1Parameters::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:309,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:318,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:327,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:329,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:330,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:331,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 333
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:343,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:343,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:352,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:354,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:366,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:366,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:375,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:375,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:377,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 379
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, HashTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:383,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:389,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:392,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:398,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:398,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:400,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 402
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, ModulusSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:412,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:412,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:415,1
    - Dst: crypto::tink::PublicExponentToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:415,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:417,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:423,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:423,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:425,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - EXPECT_TRUE
    - crypto::tink::PublicExponentToString
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPkcs1ParametersTest, PublicExponentNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:50,1
    - Dst: PrimitiveSet<PublicKeyVerify>*::get_primary
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:54,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - public_key_verify_set
    argTypes:
    - PrimitiveSet<PublicKeyVerify>*
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - PrimitiveSet<PublicKeyVerify>*::get_primary
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<PublicKeyVerify>* public_key_verify_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - public_key_verify_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<PublicKeyVerify>>
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: crypto::tink::PublicKeyVerifySetWrapper::PublicKeyVerifySetWrapper
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PublicKeyVerifySetWrapper(\n      std::unique_ptr<PrimitiveSet<PublicKeyVerify>>
      public_key_verify_set,\n      std::unique_ptr<MonitoringClient> monitoring_verify_client
      = nullptr)"
  - 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: ~PublicKeyVerifySetWrapper() override
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PublicKeyVerifySetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:82,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:83,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:88,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:92,1
    - Dst: get_primitives
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:94,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:96,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:97,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:101,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:101,1
    - Dst: get_primitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:104,1
    - Dst: crypto::tink::PublicKeyVerifySetWrapper::Verify
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:106,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:107,1
    - Dst: Log
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:109,1
    - Dst: get_key_id
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:109,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:109,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:111,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:119,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:120,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:121,1
    - Dst: get_primitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:122,1
    - Dst: crypto::tink::PublicKeyVerifySetWrapper::Verify
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:123,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:124,1
    - Dst: Log
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:126,1
    - Dst: get_key_id
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:126,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:127,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:129,1
    - Dst: LogFailure
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:134,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 137
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 137
    functionName: crypto::tink::PublicKeyVerifySetWrapper::Verify
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_output_prefix_type
    - get_primitive
    - get_raw_primitives
    - std::string
    - auto::ok
    - absl::string_view::size
    - LogFailure
    - crypto::tink::internal::ExtractStatus
    - get_primitives
    - crypto::tink::PublicKeyVerifySetWrapper::Verify
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - auto::value
    - Log
    - absl::StrCat
    - get_key_id
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status PublicKeyVerifySetWrapper::Verify(absl::string_view signature,\n
      \                                              absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:144,1
    - Dst: std::unique_ptr<PrimitiveSet<PublicKeyVerify>>::get
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:144,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:145,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:148,1
    - Dst: absl::make_unique<PublicKeyVerifySetWrapper>
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:152,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:153,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:157,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:158,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:159,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:163,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:164,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:165,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:166,1
    - Dst: absl::make_unique<PublicKeyVerifySetWrapper>
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:169,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - public_key_verify_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<PublicKeyVerify>>
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: crypto::tink::PublicKeyVerifyWrapper::Wrap
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - absl::make_unique<PublicKeyVerifySetWrapper>
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    - std::unique_ptr<PrimitiveSet<PublicKeyVerify>>::get
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> PublicKeyVerifyWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<PublicKeyVerify>> public_key_verify_set)\n
      \   const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/signature/ed25519_private_key.cc:40,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_private_key.cc:41,1
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/signature/ed25519_private_key.cc:46,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ed25519_private_key.cc:46,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/ed25519_private_key.cc:47,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_private_key.cc:47,1
    - Dst: GetPublicKeyBytes
      Src: /src/tink/cc/signature/ed25519_private_key.cc:48,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/signature/ed25519_private_key.cc:49,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/signature/ed25519_private_key.cc:49,1
    - Dst: public_key::data
      Src: /src/tink/cc/signature/ed25519_private_key.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_private_key.cc:51,1
    - Dst: crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
      Src: /src/tink/cc/signature/ed25519_private_key.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    - token
    argTypes:
    - Ed25519PublicKey
    - RestrictedData
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: crypto::tink::Ed25519PrivateKey::Create
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.cc
    functionUses: 8
    functionsReached:
    - CRYPTO_memcmp
    - public_key::data
    - GetSecret
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::NewEd25519Key
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
    - absl::string_view::data
    - GetPublicKeyBytes
    linkageType: ''
    returnType: util::StatusOr<Ed25519PrivateKey>
    signature: "util::StatusOr<Ed25519PrivateKey> Ed25519PrivateKey::Create(\n    const
      Ed25519PublicKey& public_key, const RestrictedData& private_key_bytes,\n    PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const Ed25519PrivateKey*>
      Src: /src/tink/cc/signature/ed25519_private_key.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: Ed25519PrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const Ed25519PrivateKey*>
    linkageType: ''
    returnType: bool
    signature: bool Ed25519PrivateKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 22
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<Ed25519Parameters::Variant>
    signature: "util::StatusOr<Ed25519Parameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Ed25519Parameters::Variant
    constantsTouched: []
    func_position:
      end: 105
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 105
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 29
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    Ed25519Parameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:110,1
    - Dst: Ed25519KeyFormat::ParseFromString
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:115,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:116,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:117,1
    - Dst: Ed25519KeyFormat::version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:120,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:121,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:126,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:126,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:127,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:128,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::Ed25519Parameters::Create
    - util::StatusOr::ok
    - GetKeyTemplate
    - Ed25519KeyFormat::ParseFromString
    - crypto::tink::ToVariant
    - Ed25519KeyFormat::version
    linkageType: ''
    returnType: util::StatusOr<Ed25519Parameters>
    signature: "util::StatusOr<Ed25519Parameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:138,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:143,1
    - Dst: google::crypto::tink::Ed25519PublicKey::ParseFromString
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:144,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:145,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:145,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:146,1
    - Dst: google::crypto::tink::Ed25519PublicKey::version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:149,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:150,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:155,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:155,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:156,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:157,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:161,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:162,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:163,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:166,1
    - Dst: google::crypto::tink::Ed25519PublicKey::key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:166,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:167,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 169
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 169
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::Ed25519PublicKey::version
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::Ed25519Parameters::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::Ed25519PublicKey::ParseFromString
    - util::StatusOr::ok
    - crypto::tink::Ed25519PublicKey::Create
    - google::crypto::tink::Ed25519PublicKey::key_value
    - GetOutputPrefixType
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<Ed25519PublicKey>
    signature: "util::StatusOr<Ed25519PublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:174,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:175,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:179,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:183,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::ParseFromString
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:184,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:184,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:185,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:188,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:189,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:194,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:194,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:195,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:196,1
    - Dst: crypto::tink::Ed25519Parameters::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:200,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:201,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:202,1
    - Dst: crypto::tink::Ed25519PublicKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:205,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:206,1
    - Dst: IdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:207,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:207,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:208,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:209,1
    - Dst: crypto::tink::Ed25519PrivateKey::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:212,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:213,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:213,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 215
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 215
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PrivateKey::version
    - crypto::tink::Ed25519Parameters::Create
    - google::crypto::tink::Ed25519PrivateKey::public_key
    - crypto::tink::Ed25519PublicKey::Create
    - IdRequirement
    - util::StatusOr::ok
    - GetOutputPrefixType
    - GetSecret
    - google::crypto::tink::Ed25519PrivateKey::key_value
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::Ed25519PrivateKey::ParseFromString
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - TypeUrl
    - crypto::tink::Ed25519PrivateKey::Create
    linkageType: ''
    returnType: util::StatusOr<Ed25519PrivateKey>
    signature: "util::StatusOr<Ed25519PrivateKey> ParsePrivateKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:220,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:220,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:221,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:222,1
    - Dst: Ed25519KeyFormat::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:226,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:228,1
    - Dst: Ed25519KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - Ed25519Parameters
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - GetVariant
    - util::StatusOr::ok
    - Ed25519KeyFormat::set_version
    - Ed25519KeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const Ed25519Parameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:236,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:238,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:239,1
    - Dst: GetPublicKeyBytes
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:239,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:239,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:242,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:242,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:243,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:244,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:247,1
    - Dst: google::crypto::tink::Ed25519PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:248,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:248,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:249,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - Ed25519PublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 252
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 252
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - std::string
    - GetParameters
    - crypto::tink::ToOutputPrefixType
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    - util::StatusOr::status
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::Ed25519PublicKey::SerializeAsString
    - util::StatusOr::ok
    - GetIdRequirement
    - GetPublicKeyBytes
    - google::crypto::tink::Ed25519PublicKey::set_version
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const Ed25519PublicKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrivateKeyBytes
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:257,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:257,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:258,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:259,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:261,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:262,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:267,1
    - Dst: google::crypto::tink::Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:269,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:270,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:270,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:270,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_version
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:273,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:274,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:276,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:277,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:277,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:280,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:280,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:281,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:282,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:286,1
    - Dst: google::crypto::tink::Ed25519PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:286,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:287,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - Ed25519PrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 290
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 290
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Ed25519PrivateKey::set_version
    - google::crypto::tink::Ed25519PrivateKey::set_key_value
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ProtoKeySerialization::Create
    - GetPublicKey
    - google::crypto::tink::Ed25519PublicKey::set_version
    - util::StatusOr::GetSecret
    - std::string
    - util::StatusOr::ok
    - GetIdRequirement
    - google::crypto::tink::Ed25519PrivateKey::mutable_public_key
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::Ed25519PrivateKey::SerializeAsString
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - google::crypto::tink::Ed25519PublicKey::set_key_value
    - crypto::tink::internal::ExtractStatus
    - GetPrivateKeyBytes
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const Ed25519PrivateKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519ProtoParametersParserImpl::Ed25519ProtoParametersParserImpl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: crypto::tink::Ed25519ProtoParametersParser
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - Ed25519ProtoParametersParserImpl::Ed25519ProtoParametersParserImpl
    linkageType: ''
    returnType: Ed25519ProtoParametersParserImpl
    signature: Ed25519ProtoParametersParserImpl * Ed25519ProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519ProtoParametersSerializerImpl::Ed25519ProtoParametersSerializerImpl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: crypto::tink::Ed25519ProtoParametersSerializer
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - Ed25519ProtoParametersSerializerImpl::Ed25519ProtoParametersSerializerImpl
    linkageType: ''
    returnType: Ed25519ProtoParametersSerializerImpl
    signature: Ed25519ProtoParametersSerializerImpl * Ed25519ProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519ProtoPublicKeyParserImpl::Ed25519ProtoPublicKeyParserImpl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: crypto::tink::Ed25519ProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - Ed25519ProtoPublicKeyParserImpl::Ed25519ProtoPublicKeyParserImpl
    linkageType: ''
    returnType: Ed25519ProtoPublicKeyParserImpl
    signature: Ed25519ProtoPublicKeyParserImpl * Ed25519ProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519ProtoPublicKeySerializerImpl::Ed25519ProtoPublicKeySerializerImpl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: crypto::tink::Ed25519ProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - Ed25519ProtoPublicKeySerializerImpl::Ed25519ProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: Ed25519ProtoPublicKeySerializerImpl
    signature: Ed25519ProtoPublicKeySerializerImpl * Ed25519ProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519ProtoPrivateKeyParserImpl::Ed25519ProtoPrivateKeyParserImpl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: crypto::tink::Ed25519ProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - Ed25519ProtoPrivateKeyParserImpl::Ed25519ProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: Ed25519ProtoPrivateKeyParserImpl
    signature: Ed25519ProtoPrivateKeyParserImpl * Ed25519ProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519ProtoPrivateKeySerializerImpl::Ed25519ProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: crypto::tink::Ed25519ProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - Ed25519ProtoPrivateKeySerializerImpl::Ed25519ProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: Ed25519ProtoPrivateKeySerializerImpl
    signature: Ed25519ProtoPrivateKeySerializerImpl * Ed25519ProtoPrivateKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:332,1
    - Dst: crypto::tink::Ed25519ProtoParametersParser
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:333,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:334,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:339,1
    - Dst: crypto::tink::Ed25519ProtoParametersSerializer
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:340,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:341,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:345,1
    - Dst: crypto::tink::Ed25519ProtoPublicKeyParser
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:346,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:347,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:351,1
    - Dst: crypto::tink::Ed25519ProtoPublicKeySerializer
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:352,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:353,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:357,1
    - Dst: crypto::tink::Ed25519ProtoPrivateKeyParser
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:358,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:359,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:363,1
    - Dst: crypto::tink::Ed25519ProtoPrivateKeySerializer
      Src: /src/tink/cc/signature/ed25519_proto_serialization.cc:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 365
    functionName: crypto::tink::RegisterEd25519ProtoSerialization
    functionSourceFile: /src/tink/cc/signature/ed25519_proto_serialization.cc
    functionUses: 16
    functionsReached:
    - crypto::tink::Ed25519ProtoPrivateKeySerializer
    - util::Status::ok
    - crypto::tink::Ed25519ProtoPrivateKeyParser
    - crypto::tink::Ed25519ProtoParametersSerializer
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Ed25519ProtoPublicKeyParser
    - crypto::tink::Ed25519ProtoParametersParser
    - crypto::tink::Ed25519ProtoPublicKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterEd25519ProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: crypto::tink::RsaSsaPkcs1Parameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: crypto::tink::RsaSsaPkcs1Parameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: crypto::tink::RsaSsaPkcs1Parameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1Parameters
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: crypto::tink::RsaSsaPkcs1Parameters::RsaSsaPkcs1Parameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1Parameters(const RsaSsaPkcs1Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1Parameters
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: '& operator=(const RsaSsaPkcs1Parameters& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters
    signature: RsaSsaPkcs1Parameters & operator=(const RsaSsaPkcs1Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1Parameters
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: crypto::tink::RsaSsaPkcs1Parameters::RsaSsaPkcs1Parameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPkcs1Parameters(RsaSsaPkcs1Parameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPkcs1Parameters
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& operator=(RsaSsaPkcs1Parameters&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPkcs1Parameters
    signature: RsaSsaPkcs1Parameters & operator=(RsaSsaPkcs1Parameters&& other)
  - 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: crypto::tink::RsaSsaPkcs1Parameters::GetModulusSizeInBits
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetModulusSizeInBits() 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: '& GetPublicExponent() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & GetPublicExponent() 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: crypto::tink::RsaSsaPkcs1Parameters::GetHashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetHashType() 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: crypto::tink::RsaSsaPkcs1Parameters::GetVariant
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: crypto::tink::RsaSsaPkcs1Parameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - modulus_size_in_bits
    - ' public_exponent'
    - hash_type
    - variant
    argTypes:
    - int
    - BigInteger
    - HashType
    - Variant
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: crypto::tink::RsaSsaPkcs1Parameters::RsaSsaPkcs1Parameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPkcs1Parameters(int modulus_size_in_bits,\n                                 const
      BigInteger& public_exponent,\n                                 HashType hash_type,
      Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:52,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:52,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:53,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:55,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:55,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:60,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:60,1
    - Dst: Ed25519PublicKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:60,1
    - Dst: Not
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Ed25519PublicKey
    - IsOk
    - Not
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:65,1
    - Dst: Ed25519KeyFormat
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc: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: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 5
    functionsReached:
    - Ed25519KeyFormat
    - Ed25519SignKeyManager
    linkageType: ''
    returnType: Ed25519PrivateKey
    signature: Ed25519PrivateKey CreateValidPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:69,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc: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: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 15
    functionsReached:
    - Ed25519SignKeyManager
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: Ed25519PublicKey
    signature: Ed25519PublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:75,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:79,1
    - Dst: Ed25519PublicKey::set_version
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:81,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:81,1
    - Dst: Not
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - Ed25519PublicKey::set_version
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:85,1
    - Dst: Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:86,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:87,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:87,1
    - Dst: Not
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Not
    - IsOk
    - Ed25519PublicKey::set_key_value
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyKeyManagerTest, PublicKeyWrongKeyLength31)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:91,1
    - Dst: Ed25519PublicKey::set_key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:92,1
    - Dst: std::string
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:93,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:93,1
    - Dst: Not
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Not
    - IsOk
    - Ed25519PublicKey::set_key_value
    - Ed25519VerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519VerifyKeyManagerTest, PublicKeyWrongKeyLength64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:97,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:99,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:102,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:102,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:103,1
    - Dst: Ed25519PrivateKey::key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:103,1
    - Dst: Ed25519PublicKey::key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:104,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:111,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:111,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - IsOk
    - Ed25519PublicKey::key_value
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - Ed25519VerifyKeyManager
    - absl::StrCat
    - EXPECT_THAT
    - Ed25519PrivateKey::key_value
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:117,1
    - Dst: Ed25519SignKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:120,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:120,1
    - Dst: crypto::tink::subtle::Ed25519SignBoringSsl::New
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:122,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:123,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:123,1
    - Dst: Ed25519PrivateKey::key_value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:124,1
    - Dst: Ed25519PrivateKey::public_key
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:125,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:133,1
    - Dst: Not
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Ed25519SignBoringSsl::New
    - Ed25519PrivateKey::public_key
    - IsOk
    - Not
    - Ed25519SignKeyManager
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - Ed25519VerifyKeyManager
    - absl::StrCat
    - EXPECT_THAT
    - Ed25519PrivateKey::key_value
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519SignKeyManagerTest, CreateDifferentPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519Parameters
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: crypto::tink::Ed25519Parameters::Ed25519Parameters
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519Parameters(const Ed25519Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519Parameters
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: '& operator=(const Ed25519Parameters& other)'
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519Parameters
    signature: Ed25519Parameters & operator=(const Ed25519Parameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519Parameters
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: crypto::tink::Ed25519Parameters::Ed25519Parameters
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519Parameters(Ed25519Parameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519Parameters
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& operator=(Ed25519Parameters&& other)'
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519Parameters
    signature: Ed25519Parameters & operator=(Ed25519Parameters&& other)
  - 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: crypto::tink::Ed25519Parameters::GetVariant
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - 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: crypto::tink::Ed25519Parameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - variant
    argTypes:
    - Variant
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: crypto::tink::Ed25519Parameters::Ed25519Parameters
    functionSourceFile: /src/tink/cc/signature/ed25519_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519Parameters(Variant variant)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: crypto::tink::EcdsaParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: crypto::tink::EcdsaParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::EcdsaParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaParameters
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: crypto::tink::EcdsaParameters::EcdsaParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcdsaParameters(const EcdsaParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaParameters
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const EcdsaParameters& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters
    signature: EcdsaParameters & operator=(const EcdsaParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaParameters
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: crypto::tink::EcdsaParameters::EcdsaParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcdsaParameters(EcdsaParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaParameters
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: '& operator=(EcdsaParameters&& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters
    signature: EcdsaParameters & operator=(EcdsaParameters&& other)
  - 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: crypto::tink::EcdsaParameters::GetCurveType
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CurveType
    signature: CurveType GetCurveType() 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: crypto::tink::EcdsaParameters::GetHashType
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetHashType() 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: crypto::tink::EcdsaParameters::GetSignatureEncoding
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SignatureEncoding
    signature: SignatureEncoding GetSignatureEncoding() 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: crypto::tink::EcdsaParameters::GetVariant
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: crypto::tink::EcdsaParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - curve_type
    - hash_type
    - signature_encoding
    - variant
    argTypes:
    - CurveType
    - HashType
    - SignatureEncoding
    - Variant
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: crypto::tink::EcdsaParameters::EcdsaParameters
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EcdsaParameters(CurveType curve_type, HashType hash_type,\n                           SignatureEncoding
      signature_encoding,\n                           Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::EcdsaPublicKey::EcdsaPublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcdsaPublicKey(const EcdsaPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const EcdsaPublicKey& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaPublicKey
    signature: EcdsaPublicKey & operator=(const EcdsaPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::EcdsaPublicKey::EcdsaPublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcdsaPublicKey(EcdsaPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(EcdsaPublicKey&& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaPublicKey
    signature: EcdsaPublicKey & operator=(EcdsaPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: '& GetPublicPoint(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcPoint
    signature: EcPoint & GetPublicPoint(PartialKeyAccessToken token) 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: crypto::tink::EcdsaPublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaParameters
    signature: EcdsaParameters & GetParameters() const override
  - 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: crypto::tink::EcdsaPublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' public_point'
    - id_requirement
    - output_prefix
    argTypes:
    - EcdsaParameters
    - EcPoint
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: crypto::tink::EcdsaPublicKey::EcdsaPublicKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EcdsaPublicKey(const EcdsaParameters& parameters,\n                          const
      EcPoint& public_point,\n                          absl::optional<int> id_requirement,\n
      \                         absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssPublicKey(const RsaSsaPssPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const RsaSsaPssPublicKey& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPublicKey
    signature: RsaSsaPssPublicKey & operator=(const RsaSsaPssPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssPublicKey(RsaSsaPssPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(RsaSsaPssPublicKey&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPublicKey
    signature: RsaSsaPssPublicKey & operator=(RsaSsaPssPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& GetModulus(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & GetModulus(PartialKeyAccessToken token) 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: crypto::tink::RsaSsaPssPublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters
    signature: RsaSsaPssParameters & GetParameters() const override
  - 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: crypto::tink::RsaSsaPssPublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' modulus'
    - id_requirement
    - output_prefix
    argTypes:
    - RsaSsaPssParameters
    - BigInteger
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPssPublicKey(const RsaSsaPssParameters& parameters,\n                                const
      BigInteger& modulus,\n                                absl::optional<int> id_requirement,\n
      \                               absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/signature/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddSignatureV0
      Src: /src/tink/cc/signature/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigSignatureV0
    functionSourceFile: /src/tink/cc/signature/config_v0.cc
    functionUses: 1
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddSignatureV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigSignatureV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:37,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:39,1
    - Dst: crypto::tink::PublicKeySignFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:42,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: crypto::tink::PublicKeySignFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/signature/public_key_sign_factory.cc
    functionUses: 3
    functionsReached:
    - util::Status::ok
    - crypto::tink::PublicKeySignFactory::GetPrimitive
    - absl::make_unique<PublicKeySignWrapper>
    - ConfigGlobalRegistry
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: util::StatusOr<std::unique_ptr<PublicKeySign>> PublicKeySignFactory::GetPrimitive(const
      KeysetHandle& keyset_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:51,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:53,1
    - Dst: crypto::tink::PublicKeySignFactory::GetPrimitive
      Src: /src/tink/cc/signature/public_key_sign_factory.cc:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<PublicKeySign>*
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: crypto::tink::PublicKeySignFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/signature/public_key_sign_factory.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::PublicKeySignFactory::GetPrimitive
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - util::Status::ok
    - absl::make_unique<PublicKeySignWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> PublicKeySignFactory::GetPrimitive(\n
      \   const KeysetHandle& keyset_handle,\n    const KeyManager<PublicKeySign>*
      custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:46,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:51,1
    - Dst: GetValue
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:51,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:53,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:57,1
    - Dst: GetValue
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:57,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:58,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:59,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:63,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:63,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:63,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:64,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:65,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:69,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:69,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:69,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:70,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:71,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:74,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:74,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:74,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:76,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:80,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:80,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:82,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:85,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:85,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:87,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:90,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:90,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:92,1
    - Dst: RSA_set0_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:97,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:97,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:97,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:97,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:97,1
    - Dst: RSA_set0_factors
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:99,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:99,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:99,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:99,1
    - Dst: RSA_set0_crt_params
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:100,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:100,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:100,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:100,1
    - Dst: util::StatusOr::release
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:102,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:114,1
    - Dst: RSA_check_fips
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:119,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:120,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 8
    argNames:
    - ' public_exponent'
    - ' modulus'
    - ' p'
    - ' q'
    - ' d'
    - ' dp'
    - ' dq'
    - ' q_inv'
    argTypes:
    - BigInteger
    - BigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 126
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 126
    functionName: crypto::tink::ValidateKeyPair
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::StringToBignum
    - internal::SslUniquePtr::get
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - RSA_set0_crt_params
    - util::StatusOr::ok
    - util::StatusOr::release
    - GetValue
    - RSA_set0_key
    - RSA_check_fips
    - crypto::tink::util::OkStatus
    - RSA_set0_factors
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyPair(\n    const BigInteger& public_exponent,
      const BigInteger& modulus,\n    const RestrictedBigInteger& p, const RestrictedBigInteger&
      q,\n    const RestrictedBigInteger& d, const RestrictedBigInteger& dp,\n    const
      RestrictedBigInteger& dq, const RestrictedBigInteger& q_inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: "& RsaSsaPssPrivateKey::Builder::SetPublicKey(\n    const RsaSsaPssPublicKey&
      public_key)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder & RsaSsaPssPrivateKey::Builder::SetPublicKey(\n
      \   const RsaSsaPssPublicKey& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' p'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: "& RsaSsaPssPrivateKey::Builder::SetPrimeP(\n    const RestrictedBigInteger&
      p)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder & RsaSsaPssPrivateKey::Builder::SetPrimeP(\n
      \   const RestrictedBigInteger& p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' q'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: "& RsaSsaPssPrivateKey::Builder::SetPrimeQ(\n    const RestrictedBigInteger&
      q)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder & RsaSsaPssPrivateKey::Builder::SetPrimeQ(\n
      \   const RestrictedBigInteger& q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dp'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: "&\nRsaSsaPssPrivateKey::Builder::SetPrimeExponentP(\n    const
      RestrictedBigInteger& dp)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder &\nRsaSsaPssPrivateKey::Builder::SetPrimeExponentP(\n
      \   const RestrictedBigInteger& dp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' dq'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: "&\nRsaSsaPssPrivateKey::Builder::SetPrimeExponentQ(\n    const
      RestrictedBigInteger& dq)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder &\nRsaSsaPssPrivateKey::Builder::SetPrimeExponentQ(\n
      \   const RestrictedBigInteger& dq)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' d'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: "&\nRsaSsaPssPrivateKey::Builder::SetPrivateExponent(\n    const
      RestrictedBigInteger& d)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder &\nRsaSsaPssPrivateKey::Builder::SetPrivateExponent(\n
      \   const RestrictedBigInteger& d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' q_inv'
    argTypes:
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: "&\nRsaSsaPssPrivateKey::Builder::SetCrtCoefficient(\n    const
      RestrictedBigInteger& q_inv)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssPrivateKey::Builder
    signature: "RsaSsaPssPrivateKey::Builder &\nRsaSsaPssPrivateKey::Builder::SetCrtCoefficient(\n
      \   const RestrictedBigInteger& q_inv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:179,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:183,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:183,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:184,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:188,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:188,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:189,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:193,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:194,1
    - Dst: has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:198,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:199,1
    - Dst: ValidateKeyPair
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:204,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:205,1
    - Dst: GetModulus
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:206,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:207,1
    - Dst: RsaSsaPssPrivateKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 213
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 213
    functionName: "RsaSsaPssPrivateKey::Builder::Build(\n    PartialKeyAccessToken
      token)"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached:
    - GetModulus
    - RsaSsaPssPrivateKey
    - GetParameters
    - util::Status::ok
    - has_value
    - crypto::tink::internal::ExtractStatus
    - ValidateKeyPair
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> RsaSsaPssPrivateKey::Builder::Build(\n
      \   PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RsaSsaPssPrivateKey*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:217,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:221,1
    - Dst: RsaSsaPssPrivateKey*::GetPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: RsaSsaPssPrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const RsaSsaPssPrivateKey*>
    - RsaSsaPssPrivateKey*::GetPublicKey
    - GetPublicKey
    linkageType: ''
    returnType: bool
    signature: bool RsaSsaPssPrivateKey::operator==(const Key& other) 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: crypto::tink::PublicKeyVerifySetWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: crypto::tink::PublicKeyVerifySetWrapperTest::TearDown
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeyVerifyWrapper
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:76,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:78,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:79,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:80,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:80,1
    - Dst: PrimitiveSet<PublicKeyVerify>::PrimitiveSet<PublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:85,1
    - Dst: PublicKeyVerifyWrapper
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:87,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:87,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:89,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:90,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:91,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:92,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:92,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:100,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:101,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:102,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:103,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:106,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:107,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:108,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:109,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:112,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:113,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:114,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:115,1
    - Dst: PrimitiveSet<PublicKeyVerify>::PrimitiveSet<PublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:121,1
    - Dst: DummyPublicKeyVerify::DummyPublicKeyVerify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:124,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:125,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:125,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:126,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:127,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:127,1
    - Dst: std::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:129,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:130,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:130,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:131,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:132,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:132,1
    - Dst: std::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:134,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:135,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:135,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:136,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:137,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:140,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:140,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:140,1
    - Dst: PublicKeyVerifyWrapper
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:144,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:145,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:145,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:145,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:146,1
    - Dst: DummyPublicKeySign::DummyPublicKeySign
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:149,1
    - Dst: std::unique_ptr::Sign
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:150,1
    - Dst: std::unique_ptr::Verify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:152,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - PrimitiveSet<PublicKeyVerify>::PrimitiveSet<PublicKeyVerify>
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::status
    - std::string
    - util::Status::ok
    - IsOk
    - std::unique_ptr::Verify
    - KeysetInfo::KeyInfo*::set_status
    - std::make_unique<DummyPublicKeyVerify>
    - std::unique_ptr::Sign
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - DummyPublicKeyVerify::DummyPublicKeyVerify
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    - KeysetInfo::KeyInfo*::set_key_id
    - DummyPublicKeySign::DummyPublicKeySign
    - auto::value
    - KeysetInfo::add_key_info
    - PublicKeyVerifyWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(PublicKeyVerifySetWrapperTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:160,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:161,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 4
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo PopulateKeyInfo(uint32_t key_id,\n                                    OutputPrefixType
      out_prefix_type,\n                                    KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:169,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:170,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:172,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:173,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:175,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 12
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:187,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:191,1
    - Dst: absl::make_unique<StrictMock<MockMonitoringClient>>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:193,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:198,1
    - Dst: New
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:198,1
    - Dst: Return
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:200,1
    - Dst: ByMove
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:200,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:200,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:203,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:203,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:207,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:208,1
    - Dst: Not
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:209,1
    - Dst: IsNull
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 210
    functionName: crypto::tink::PublicKeyVerifySetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - absl::make_unique<StrictMock<MockMonitoringClient>>
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: ~PublicKeyVerifySetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~PublicKeyVerifySetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:222,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeyVerify>>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:227,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:228,1
    - Dst: absl::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:229,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:233,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:234,1
    - Dst: absl::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:235,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:238,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:241,1
    - Dst: absl::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:242,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:244,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:245,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:245,1
    - Dst: PublicKeyVerifyWrapper
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:251,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:252,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:252,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:252,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:257,1
    - Dst: get_identifier
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:257,1
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:258,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:261,1
    - Dst: Log
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:261,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:262,1
    - Dst: Verify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 263
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - DummyPublicKeySign
    - absl::string_view::size
    - std::move
    - ASSERT_THAT
    - absl::StrCat
    - absl::make_unique<DummyPublicKeyVerify>
    - auto::AddPrimitive
    - IsOk
    - crypto::tink::CreateTestKeysetInfo
    - EXPECT_THAT
    - Verify
    - get_identifier
    - EXPECT_CALL
    - IsOkAndHolds
    - KeysetInfo::key_info
    - util::StatusOr::status
    - auto::set_primary
    - absl::make_unique<PrimitiveSet<PublicKeyVerify>>
    - Log
    - NotNull
    - PublicKeyVerifyWrapper
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PublicKeyVerifySetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringVerifySuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:268,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeyVerify>>
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:273,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:273,1
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeyVerify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:274,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:278,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:278,1
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeyVerify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:279,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:282,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:285,1
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeyVerify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:286,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:286,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:287,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:288,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:288,1
    - Dst: PublicKeyVerifyWrapper
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:292,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:293,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:293,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:293,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:299,1
    - Dst: LogFailure
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:300,1
    - Dst: Verify
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:300,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/public_key_verify_wrapper_test.cc:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 302
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - LogFailure
    - util::StatusOr::status
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<PublicKeyVerify>>
    - StatusIs
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - Verify
    - crypto::tink::CreateAlwaysFailingPublicKeyVerify
    - PublicKeyVerifyWrapper
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PublicKeyVerifySetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringVerifyFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:53,1
    - Dst: e
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:54,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:57,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:58,1
    - Dst: RsaSsaPssParams::sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:58,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:59,1
    - Dst: RsaSsaPssParams::mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:59,1
    - Dst: RsaSsaPssParams::salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:60,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:63,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:64,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' rsa_ssa_pss_public_key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: "RsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      RsaSsaPssPublicKey& rsa_ssa_pss_public_key) const"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - RsaSsaPssParams::sig_hash
    - auto::ok
    - RsaSsaPssParams::mgf1_hash
    - std::move
    - params
    - RsaSsaPssParams::salt_length
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - n
    - e
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> RsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const RsaSsaPssPublicKey& rsa_ssa_pss_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:70,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:70,1
    - Dst: crypto::tink::RsaSsaPssVerifyKeyManager::get_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:70,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:71,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:73,1
    - Dst: n
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:73,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:74,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:75,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:78,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:78,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:78,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:79,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:82,1
    - Dst: e
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:82,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:83,1
    - Dst: crypto::tink::RsaSsaPssVerifyKeyManager::ValidateParams
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:86,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: crypto::tink::RsaSsaPssVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - crypto::tink::internal::ValidateRsaPublicExponent
    - crypto::tink::RsaSsaPssVerifyKeyManager::ValidateParams
    - crypto::tink::internal::StringToBignum
    - ValidateVersion
    - StatusOr::get
    - StatusOr::status
    - crypto::tink::internal::ValidateRsaModulusSize
    - params
    - version
    - crypto::tink::RsaSsaPssVerifyKeyManager::get_version
    - BN_num_bits
    - n
    - e
    linkageType: ''
    returnType: Status
    signature: "Status RsaSsaPssVerifyKeyManager::ValidateKey(\n    const RsaSsaPssPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsHashTypeSafeForSignature
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:91,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:92,1
    - Dst: sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:92,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:93,1
    - Dst: mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:107,1
    - Dst: sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:109,1
    - Dst: mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:109,1
    - Dst: sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:111,1
    - Dst: salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:114,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - RsaSsaPssParams
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 118
    functionName: crypto::tink::RsaSsaPssVerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - util::Status::ok
    - salt_length
    - sig_hash
    - crypto::tink::internal::ExtractStatus
    - mgf1_hash
    - absl::StrCat
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::internal::IsHashTypeSafeForSignature
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status RsaSsaPssVerifyKeyManager::ValidateParams(\n    const RsaSsaPssParams&
      params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:71,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:82,1
    - Dst: util::StatusOr::GetCurveType
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:83,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:84,1
    - Dst: util::StatusOr::GetSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:86,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:86,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:87,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:87,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetCurveType
    - GetParam
    - util::StatusOr::GetSignatureEncoding
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaParametersTest, BuildWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:91,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:92,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:100,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:105,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:106,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:112,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithoutVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:117,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:118,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:127,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithInvalidCurveTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:132,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:133,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:139,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithoutCurveTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:144,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:145,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:154,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithInvalidHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:159,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:160,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:166,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithoutHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:171,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:171,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:180,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithInvalidSignatureEncodingFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:185,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:185,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:191,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithoutSignatureEncodingFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:197,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:198,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:205,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithIncompatibleHashTypeForCurveP256Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:211,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:212,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:219,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithIncompatibleHashTypeForCurveP384Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:225,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:226,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:233,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, BuildWithIncompatibleHashTypeForCurveP521Fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:249,1
    - Dst: EcdsaParameters::GetCurveType
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:249,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:250,1
    - Dst: EcdsaParameters::GetHashType
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:250,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:251,1
    - Dst: EcdsaParameters::GetSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:251,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:253,1
    - Dst: EcdsaParameters::GetVariant
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:254,1
    - Dst: EcdsaParameters::HasIdRequirement
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:254,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 255
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParameters::HasIdRequirement
    - EcdsaParameters::GetCurveType
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EcdsaParameters::GetHashType
    - EcdsaParameters::GetSignatureEncoding
    - EXPECT_THAT
    - IsTrue
    - EcdsaParameters::GetVariant
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:269,1
    - Dst: EcdsaParameters::GetCurveType
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:269,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:269,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:270,1
    - Dst: EcdsaParameters::GetHashType
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:270,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:271,1
    - Dst: EcdsaParameters::GetSignatureEncoding
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:271,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:273,1
    - Dst: EcdsaParameters::GetVariant
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:273,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:273,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:274,1
    - Dst: EcdsaParameters::HasIdRequirement
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:274,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaParameters::HasIdRequirement
    - EcdsaParameters::GetCurveType
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EcdsaParameters::GetHashType
    - EcdsaParameters::GetSignatureEncoding
    - EXPECT_THAT
    - IsTrue
    - EcdsaParameters::GetVariant
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:278,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:287,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:296,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:298,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:299,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:300,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 302
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:312,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:321,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:323,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 325
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:329,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:335,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:338,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:344,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:346,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 348
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, DifferentCurveTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:352,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:358,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:358,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:367,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:369,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 371
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, DifferentHashTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:381,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:381,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:384,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:390,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:392,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_parameters_test.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 394
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaParametersTest, DifferentSignatureEncodingNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:67,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:68,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:68,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:70,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:70,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:71,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:72,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:73,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:73,1
    - Dst: SignatureKeyTemplates::EcdsaP256
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:77,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:85,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:85,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:85,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:86,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:87,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:87,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:87,1
    - Dst: SignatureKeyTemplates::EcdsaP256Raw
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:93,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:94,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:96,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:96,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:97,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:98,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:99,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:100,1
    - Dst: SignatureKeyTemplates::EcdsaP256Raw
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:104,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:112,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:112,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:112,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:114,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:114,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:114,1
    - Dst: SignatureKeyTemplates::EcdsaP384
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:120,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:121,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:123,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:123,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:124,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:125,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:126,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:126,1
    - Dst: SignatureKeyTemplates::EcdsaP384
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:130,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:137,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:137,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:137,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:139,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:139,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha512
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:145,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:146,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:148,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:148,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:149,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:150,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:151,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:151,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha512
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:155,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:162,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:162,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:162,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:163,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:164,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:164,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:164,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha384
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:170,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:171,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:173,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:173,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:174,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:175,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:176,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:176,1
    - Dst: SignatureKeyTemplates::EcdsaP384Sha384
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:180,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:187,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:187,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:187,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:189,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:189,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:189,1
    - Dst: SignatureKeyTemplates::EcdsaP521
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:195,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:196,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:198,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:198,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:199,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:200,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:201,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:201,1
    - Dst: SignatureKeyTemplates::EcdsaP521
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:205,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:212,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:212,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:212,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:213,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:214,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:214,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 216
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - SignatureKeyTemplates::EcdsaP384Sha384
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - SignatureKeyTemplates::EcdsaP256Raw
    - SignatureKeyTemplates::EcdsaP384Sha512
    - SignatureKeyTemplates::EcdsaP521
    - auto::get_key_type
    - SignatureKeyTemplates::EcdsaP384
    - EcdsaKeyFormat::ParseFromString
    - auto::get_key_factory
    - EcdsaKeyFormat::params
    - type_url
    - value
    - SignatureKeyTemplates::EcdsaP256
    - internal::MakePrivateKeyManager<PublicKeySign>
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithDerEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::EcdsaP256Ieee
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:225,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:226,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:226,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:228,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:228,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:229,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:230,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:231,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:232,1
    - Dst: SignatureKeyTemplates::EcdsaP256Ieee
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:236,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:243,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:243,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:243,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:244,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:245,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:245,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:245,1
    - Dst: SignatureKeyTemplates::EcdsaP384Ieee
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:250,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:251,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:252,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:252,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:254,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:254,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:255,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:256,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:257,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:258,1
    - Dst: SignatureKeyTemplates::EcdsaP384Ieee
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:262,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:269,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:269,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:269,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:270,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:271,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:271,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:271,1
    - Dst: SignatureKeyTemplates::EcdsaP521Ieee
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:277,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:278,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:278,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:280,1
    - Dst: EcdsaKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:280,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:280,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:281,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:282,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:283,1
    - Dst: EcdsaKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:284,1
    - Dst: SignatureKeyTemplates::EcdsaP521Ieee
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:288,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:295,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:295,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:295,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:296,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:297,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:297,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 299
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - SignatureKeyTemplates::EcdsaP384Ieee
    - auto::ok
    - EXPECT_EQ
    - auto::get_key_type
    - EcdsaKeyFormat::ParseFromString
    - auto::get_key_factory
    - EcdsaKeyFormat::params
    - type_url
    - value
    - internal::MakePrivateKeyManager<PublicKeySign>
    - SignatureKeyTemplates::EcdsaP256Ieee
    - SignatureKeyTemplates::EcdsaP521Ieee
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithIeeeEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:307,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:308,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:310,1
    - Dst: RsaSsaPkcs1KeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:310,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:311,1
    - Dst: RsaSsaPkcs1KeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:311,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:312,1
    - Dst: RsaSsaPkcs1KeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:312,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:314,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:314,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:316,1
    - Dst: RsaSsaPkcs1KeyFormat::public_exponent
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:318,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:318,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:318,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:318,1
    - Dst: SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:321,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:322,1
    - Dst: internal::MakeKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:327,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:327,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:327,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:328,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:329,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:329,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 330
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - RsaSsaPkcs1KeyFormat::params
    - internal::MakeKeyManager<PublicKeySign>
    - auto::ok
    - auto::get_key_type
    - ASSERT_THAT
    - type_url
    - SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4
    - RsaSsaPkcs1KeyFormat::modulus_size_in_bits
    - RsaSsaPkcs1KeyFormat::ParseFromString
    - auto::status
    - crypto::tink::internal::StringToBignum
    - IsOk
    - EXPECT_GE
    - RsaSsaPkcs1KeyFormat::public_exponent
    - output_prefix_type
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - util::StatusOr::get
    - BN_cmp
    - BN_set_word
    - auto::get_key_factory
    - value
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithRsaSsaPkcs13072Sha256F4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:336,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:337,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:337,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:338,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:338,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:340,1
    - Dst: RsaSsaPkcs1KeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:340,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:340,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:341,1
    - Dst: RsaSsaPkcs1KeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:341,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:342,1
    - Dst: RsaSsaPkcs1KeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:342,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:344,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:344,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:346,1
    - Dst: RsaSsaPkcs1KeyFormat::public_exponent
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:347,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:348,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:348,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:348,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:348,1
    - Dst: SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:351,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:352,1
    - Dst: internal::MakeKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:356,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:357,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:357,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:357,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:358,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:359,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:359,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 360
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - RsaSsaPkcs1KeyFormat::params
    - internal::MakeKeyManager<PublicKeySign>
    - auto::ok
    - auto::get_key_type
    - ASSERT_THAT
    - type_url
    - RsaSsaPkcs1KeyFormat::modulus_size_in_bits
    - RsaSsaPkcs1KeyFormat::ParseFromString
    - auto::status
    - crypto::tink::internal::StringToBignum
    - IsOk
    - EXPECT_GE
    - RsaSsaPkcs1KeyFormat::public_exponent
    - output_prefix_type
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4
    - util::StatusOr::get
    - BN_cmp
    - BN_set_word
    - auto::get_key_factory
    - value
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithRsaSsaPkcs14096Sha512F4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:366,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:367,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:367,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:368,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:368,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:370,1
    - Dst: RsaSsaPssKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:370,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:371,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:371,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:372,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:372,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:373,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:373,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:374,1
    - Dst: RsaSsaPssKeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:374,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:376,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:376,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:378,1
    - Dst: RsaSsaPssKeyFormat::public_exponent
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:378,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:379,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:379,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:380,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:380,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:380,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:380,1
    - Dst: SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:385,1
    - Dst: internal::MakeKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:389,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:390,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:390,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:390,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:391,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:392,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:392,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 393
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - internal::MakeKeyManager<PublicKeySign>
    - auto::ok
    - auto::get_key_type
    - ASSERT_THAT
    - type_url
    - auto::status
    - crypto::tink::internal::StringToBignum
    - IsOk
    - EXPECT_GE
    - output_prefix_type
    - SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - RsaSsaPssKeyFormat::params
    - RsaSsaPssKeyFormat::ParseFromString
    - util::StatusOr::get
    - BN_cmp
    - BN_set_word
    - auto::get_key_factory
    - value
    - RsaSsaPssKeyFormat::public_exponent
    - RsaSsaPssKeyFormat::modulus_size_in_bits
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithRsaSsaPss3072Sha256Sha256F4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:399,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:400,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:400,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:401,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:401,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:403,1
    - Dst: RsaSsaPssKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:403,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:403,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:404,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:405,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:406,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:406,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:407,1
    - Dst: RsaSsaPssKeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:407,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:409,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:409,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:411,1
    - Dst: RsaSsaPssKeyFormat::public_exponent
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:411,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:412,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:412,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:413,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:413,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:413,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:413,1
    - Dst: SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:418,1
    - Dst: internal::MakeKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:423,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:423,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:423,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:424,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:425,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:425,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 426
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - internal::MakeKeyManager<PublicKeySign>
    - auto::ok
    - auto::get_key_type
    - ASSERT_THAT
    - type_url
    - auto::status
    - crypto::tink::internal::StringToBignum
    - IsOk
    - EXPECT_GE
    - output_prefix_type
    - SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - RsaSsaPssKeyFormat::params
    - RsaSsaPssKeyFormat::ParseFromString
    - util::StatusOr::get
    - BN_cmp
    - BN_set_word
    - auto::get_key_factory
    - value
    - RsaSsaPssKeyFormat::public_exponent
    - RsaSsaPssKeyFormat::modulus_size_in_bits
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithRsaSsaPss4096Sha384Sha384F4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:432,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:433,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:434,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:434,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:436,1
    - Dst: RsaSsaPssKeyFormat::ParseFromString
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:436,1
    - Dst: value
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:437,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:438,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:439,1
    - Dst: RsaSsaPssKeyFormat::params
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:439,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:440,1
    - Dst: RsaSsaPssKeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:440,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:442,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:442,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:445,1
    - Dst: RsaSsaPssKeyFormat::public_exponent
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:445,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:446,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:447,1
    - Dst: BN_cmp
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:447,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:447,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:447,1
    - Dst: SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:452,1
    - Dst: internal::MakeKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:457,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:457,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:457,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:458,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:459,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:459,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 460
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - internal::MakeKeyManager<PublicKeySign>
    - auto::ok
    - auto::get_key_type
    - ASSERT_THAT
    - type_url
    - auto::status
    - crypto::tink::internal::StringToBignum
    - IsOk
    - EXPECT_GE
    - output_prefix_type
    - EXPECT_EQ
    - SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4
    - internal::SslUniquePtr::get
    - RsaSsaPssKeyFormat::params
    - RsaSsaPssKeyFormat::ParseFromString
    - util::StatusOr::get
    - BN_cmp
    - BN_set_word
    - auto::get_key_factory
    - value
    - RsaSsaPssKeyFormat::public_exponent
    - RsaSsaPssKeyFormat::modulus_size_in_bits
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithRsaSsaPss4096Sha512Sha512F4)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::Ed25519
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:466,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:466,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:467,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:467,1
    - Dst: SignatureKeyTemplates::Ed25519
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:470,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:471,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:479,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:479,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:479,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:481,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:482,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:482,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 483
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - auto::get_key_type
    - auto::get_key_factory
    - type_url
    - SignatureKeyTemplates::Ed25519
    - internal::MakePrivateKeyManager<PublicKeySign>
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithEd25519)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureKeyTemplates::Ed25519WithRawOutput
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:490,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:490,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:491,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:491,1
    - Dst: SignatureKeyTemplates::Ed25519WithRawOutput
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:495,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:496,1
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:504,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:504,1
    - Dst: type_url
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:504,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:506,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:507,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:507,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_key_templates_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 508
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - SignatureKeyTemplates::Ed25519WithRawOutput
    - auto::get_key_type
    - auto::get_key_factory
    - type_url
    - internal::MakePrivateKeyManager<PublicKeySign>
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureKeyTemplatesTest, KeyTemplatesWithEd25519WithRawOutput)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcdsaPrivateKey(const EcdsaPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(const EcdsaPrivateKey& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: EcdsaPrivateKey & operator=(const EcdsaPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EcdsaPrivateKey(EcdsaPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - EcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '& operator=(EcdsaPrivateKey&& other)'
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: EcdsaPrivateKey & operator=(EcdsaPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& GetPrivateKeyValue(\n      PartialKeyAccessToken token) const"
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedBigInteger
    signature: "RestrictedBigInteger & GetPrivateKeyValue(\n      PartialKeyAccessToken
      token) 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EcdsaPublicKey
    signature: EcdsaPublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key_value'
    argTypes:
    - EcdsaPublicKey
    - RestrictedBigInteger
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EcdsaPrivateKey(const EcdsaPublicKey& public_key,\n                           const
      RestrictedBigInteger& private_key_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:43,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:45,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:50,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:54,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:54,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:55,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:58,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:61,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:61,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:64,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:66,1
    - Dst: GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - RsaSsaPssParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const RsaSsaPssParameters&
      parameters,\n    absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:75,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:76,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:81,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:82,1
    - Dst: SizeInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:89,1
    - Dst: GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:90,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:92,1
    - Dst: GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:93,1
    - Dst: SizeInBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:94,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:98,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:99,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:100,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' modulus'
    - id_requirement
    - token
    argTypes:
    - RsaSsaPssParameters
    - BigInteger
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: crypto::tink::RsaSsaPssPublicKey::Create
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc
    functionUses: 17
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - SizeInBytes
    - util::StatusOr::ok
    - absl::StrFormat
    - absl::optional<int>::has_value
    - GetModulusSizeInBits
    - ComputeOutputPrefix
    - crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPublicKey>
    signature: "util::StatusOr<RsaSsaPssPublicKey> RsaSsaPssPublicKey::Create(\n    const
      RsaSsaPssParameters& parameters, const BigInteger& modulus,\n    absl::optional<int>
      id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RsaSsaPssPublicKey*>
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:109,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:113,1
    - Dst: RsaSsaPssPublicKey*::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: RsaSsaPssPublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - dynamic_cast<const RsaSsaPssPublicKey*>
    - RsaSsaPssPublicKey*::GetParameters
    linkageType: ''
    returnType: bool
    signature: bool RsaSsaPssPublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:56,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:56,1
    - Dst: RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:57,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:57,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:57,1
    - Dst: RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:59,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:59,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:59,1
    - Dst: RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:61,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:61,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:61,1
    - Dst: RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:62,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:62,1
    - Dst: RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:63,1
    - Dst: auto*::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:64,1
    - Dst: RsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:64,1
    - Dst: auto*::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:65,1
    - Dst: auto*::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - internal::RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: crypto::tink::RsaPrivateKeySubtleToProto
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - RsaSsaPkcs1PrivateKey::set_version
    - std::string
    - RsaSsaPkcs1SignKeyManager
    - RsaSsaPkcs1PrivateKey::set_dq
    - RsaSsaPkcs1PrivateKey::set_q
    - RsaSsaPkcs1PrivateKey::set_d
    - auto*::set_version
    - RsaSsaPkcs1PrivateKey::set_p
    - RsaSsaPkcs1PrivateKey::set_dp
    - RsaSsaPkcs1PrivateKey::set_crt
    - auto*::set_n
    - auto*::set_e
    - RsaSsaPkcs1PrivateKey::mutable_public_key
    linkageType: ''
    returnType: RsaSsaPkcs1PrivateKey
    signature: "RsaSsaPkcs1PrivateKey RsaPrivateKeySubtleToProto(\n    const internal::RsaPrivateKey&
      private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:73,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:74,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:75,1
    - Dst: d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:75,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:76,1
    - Dst: p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:76,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:77,1
    - Dst: q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:77,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:78,1
    - Dst: dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:78,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:79,1
    - Dst: dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:79,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:80,1
    - Dst: crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' key_proto'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: crypto::tink::RsaPrivateKeyProtoToSubtle
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - dq
    - p
    - q
    - d
    - crypto::tink::util::SecretDataFromStringView
    - dp
    - crt
    linkageType: ''
    returnType: internal::RsaPrivateKey
    signature: "internal::RsaPrivateKey RsaPrivateKeyProtoToSubtle(\n    const RsaSsaPkcs1PrivateKey&
      key_proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:89,1
    - Dst: public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:89,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:90,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:91,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:97,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:97,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:98,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:99,1
    - Dst: RsaPrivateKeySubtleToProto
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:103,1
    - Dst: RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:104,1
    - Dst: auto*::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:105,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' rsa_ssa_pkcs1_key_format'
    argTypes:
    - RsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: crypto::tink::RsaSsaPkcs1SignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - auto*::mutable_params
    - util::Status::ok
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::NewRsaKeyPair
    - StatusOr::get
    - StatusOr::status
    - params
    - public_exponent
    - modulus_size_in_bits
    - RsaPrivateKeySubtleToProto
    - RsaSsaPkcs1PrivateKey::mutable_public_key
    linkageType: ''
    returnType: StatusOr<RsaSsaPkcs1PrivateKey>
    signature: "StatusOr<RsaSsaPkcs1PrivateKey> RsaSsaPkcs1SignKeyManager::CreateKey(\n
      \   const RsaSsaPkcs1KeyFormat& rsa_ssa_pkcs1_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaPrivateKeyProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:113,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:115,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:116,1
    - Dst: hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:116,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:117,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:118,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:118,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:121,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:122,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:123,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:123,1
    - Dst: SignAndVerify
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:125,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:125,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:126,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: "RsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n    const
      RsaSsaPkcs1PrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - public_key
    - RsaPrivateKeyProtoToSubtle
    - auto::ok
    - RsaSsaPkcs1VerifyKeyManager
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - auto::value
    - SignAndVerify
    - crypto::tink::util::Enums::ProtoToSubtle
    - hash_type
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> RsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n
      \   const RsaSsaPkcs1PrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:136,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:136,1
    - Dst: crypto::tink::RsaSsaPkcs1SignKeyManager::get_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:136,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:137,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:138,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: crypto::tink::RsaSsaPkcs1SignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - crypto::tink::RsaSsaPkcs1SignKeyManager::get_version
    - RsaSsaPkcs1VerifyKeyManager
    - ValidateVersion
    - version
    linkageType: ''
    returnType: Status
    signature: "Status RsaSsaPkcs1SignKeyManager::ValidateKey(\n    const RsaSsaPkcs1PrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:144,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:144,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:145,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:149,1
    - Dst: public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:149,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:150,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:153,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: crypto::tink::RsaSsaPkcs1SignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - crypto::tink::internal::ValidateRsaPublicExponent
    - RsaSsaPkcs1VerifyKeyManager
    - params
    - public_exponent
    - modulus_size_in_bits
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: Status
    signature: "Status RsaSsaPkcs1SignKeyManager::ValidateKeyFormat(\n    const RsaSsaPkcs1KeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/signature/ed25519_verify_key_manager.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: crypto::tink::Ed25519VerifyKeyManager::Ed25519VerifyKeyManager
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void Ed25519VerifyKeyManager()
  - 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: crypto::tink::Ed25519VerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: crypto::tink::Ed25519VerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/ed25519_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<RsaSsaPssPrivateKey>
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:57,1
    - Dst: auto::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:58,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:58,1
    - Dst: auto::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:59,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:59,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:59,1
    - Dst: auto::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:60,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:60,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:60,1
    - Dst: auto::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: auto::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:62,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:62,1
    - Dst: auto::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:63,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:63,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:63,1
    - Dst: auto::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:64,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:65,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:65,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:66,1
    - Dst: auto*::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:67,1
    - Dst: RsaSsaPssSignKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:67,1
    - Dst: auto*::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:68,1
    - Dst: auto*::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - internal::RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: crypto::tink::RsaPrivateKeySubtleToProto
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - auto::set_d
    - std::string
    - auto::set_crt
    - auto::set_dp
    - auto::set_p
    - auto*::set_version
    - auto*::set_n
    - auto::mutable_public_key
    - auto::set_dq
    - auto*::set_e
    - auto::set_q
    - RsaSsaPssSignKeyManager
    - absl::make_unique<RsaSsaPssPrivateKey>
    - auto::set_version
    linkageType: ''
    returnType: std::unique_ptr<RsaSsaPssPrivateKey>
    signature: "std::unique_ptr<RsaSsaPssPrivateKey> RsaPrivateKeySubtleToProto(\n
      \   const internal::RsaPrivateKey& private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:76,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:77,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:78,1
    - Dst: d
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:78,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:79,1
    - Dst: p
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:79,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:80,1
    - Dst: q
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:80,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:81,1
    - Dst: dp
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:81,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:82,1
    - Dst: dq
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:82,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:83,1
    - Dst: crt
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' key_proto'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: crypto::tink::RsaPrivateKeyProtoToSubtle
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - dq
    - p
    - q
    - d
    - crypto::tink::util::SecretDataFromStringView
    - dp
    - crt
    linkageType: ''
    returnType: internal::RsaPrivateKey
    signature: "internal::RsaPrivateKey RsaPrivateKeyProtoToSubtle(\n    const RsaSsaPssPrivateKey&
      key_proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:92,1
    - Dst: public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:92,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:94,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:99,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:100,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:100,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:101,1
    - Dst: std::move
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:106,1
    - Dst: RsaPrivateKeySubtleToProto
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:106,1
    - Dst: RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:107,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: crypto::tink::RsaSsaPssSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::NewRsaKeyPair
    - std::move
    - params
    - public_exponent
    - modulus_size_in_bits
    - util::StatusOr::ok
    - RsaSsaPssPrivateKey::mutable_public_key
    - RsaPrivateKeySubtleToProto
    linkageType: ''
    returnType: StatusOr<RsaSsaPssPrivateKey>
    signature: "StatusOr<RsaSsaPssPrivateKey> RsaSsaPssSignKeyManager::CreateKey(\n
      \   const RsaSsaPssKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaPrivateKeyProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:114,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:116,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:117,1
    - Dst: sig_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:117,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:118,1
    - Dst: mgf1_hash
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:118,1
    - Dst: salt_length
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:119,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:121,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:121,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:124,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:126,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:126,1
    - Dst: SignAndVerify
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:128,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:128,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:129,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: "RsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n    const
      RsaSsaPssPrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - public_key
    - RsaPrivateKeyProtoToSubtle
    - salt_length
    - sig_hash
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - mgf1_hash
    - auto::value
    - SignAndVerify
    - crypto::tink::util::Enums::ProtoToSubtle
    - RsaSsaPssVerifyKeyManager
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> RsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n
      \   const RsaSsaPssPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:139,1
    - Dst: version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:139,1
    - Dst: crypto::tink::RsaSsaPssSignKeyManager::get_version
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:139,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:140,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:141,1
    - Dst: public_key
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - RsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: crypto::tink::RsaSsaPssSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - ValidateVersion
    - crypto::tink::RsaSsaPssSignKeyManager::get_version
    - version
    - RsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: Status
    signature: "Status RsaSsaPssSignKeyManager::ValidateKey(\n    const RsaSsaPssPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:147,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:147,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:148,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:152,1
    - Dst: public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:152,1
    - Dst: Status::ok
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:153,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:156,1
    - Dst: params
      Src: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - RsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: crypto::tink::RsaSsaPssSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - crypto::tink::internal::ValidateRsaPublicExponent
    - params
    - public_exponent
    - modulus_size_in_bits
    - RsaSsaPssVerifyKeyManager
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: Status
    signature: "Status RsaSsaPssSignKeyManager::ValidateKeyFormat(\n    const RsaSsaPssKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaPublicKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:152,1
    - Dst: EcdsaPublicKey::set_x
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:153,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:153,1
    - Dst: EcdsaPublicKey::set_y
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:154,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:154,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:155,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:156,1
    - Dst: EcdsaPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: crypto::tink::GetExpectedEcdsaPublicKeyProto
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - EcdsaPublicKey::set_y
    - EcdsaPublicKey::mutable_params
    - EcdsaPublicKey::set_x
    - EcdsaPublicKey::set_version
    - absl::HexStringToBytes
    linkageType: ''
    returnType: EcdsaPublicKey
    signature: EcdsaPublicKey GetExpectedEcdsaPublicKeyProto(EcdsaSignatureEncoding
      encoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPublicKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:168,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:169,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:172,1
    - Dst: RsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:175,1
    - Dst: RsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:176,1
    - Dst: RsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:177,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:178,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:179,1
    - Dst: RsaSsaPssPublicKey::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:180,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pem_encoded_key
    - hash_type
    - key_version
    argTypes:
    - absl::string_view
    - HashType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: crypto::tink::GetRsaSsaPssPublicKeyProto
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssPublicKey::mutable_params
    - util::StatusOr::status
    - RsaSsaPssPublicKey::set_e
    - crypto::tink::util::Enums::HashLength
    - std::move
    - util::StatusOr::ok
    - RsaSsaPssPublicKey::set_n
    - crypto::tink::subtle::PemParser::ParseRsaPublicKey
    - RsaSsaPssPublicKey::set_version
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPublicKey>
    signature: "util::StatusOr<RsaSsaPssPublicKey> GetRsaSsaPssPublicKeyProto(\n    absl::string_view
      pem_encoded_key, HashType hash_type,\n    uint32_t key_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::PemParser::ParseRsaPrivateKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:195,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:196,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:199,1
    - Dst: RsaSsaPssPrivateKey::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:204,1
    - Dst: RsaSsaPssPrivateKey::set_d
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:205,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:206,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:206,1
    - Dst: RsaSsaPssPrivateKey::set_p
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:207,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:208,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:208,1
    - Dst: RsaSsaPssPrivateKey::set_q
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:209,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:210,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:210,1
    - Dst: RsaSsaPssPrivateKey::set_dp
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:211,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:212,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:212,1
    - Dst: RsaSsaPssPrivateKey::set_dq
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:213,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:214,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:214,1
    - Dst: RsaSsaPssPrivateKey::set_crt
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:215,1
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:216,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:216,1
    - Dst: RsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:219,1
    - Dst: RsaSsaPssPublicKey*::set_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:220,1
    - Dst: RsaSsaPssPublicKey*::set_e
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:221,1
    - Dst: RsaSsaPssPublicKey*::set_n
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:222,1
    - Dst: RsaSsaPssPublicKey*::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:224,1
    - Dst: RsaSsaPssPublicKey*::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:225,1
    - Dst: RsaSsaPssPublicKey*::mutable_params
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:226,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - pem_encoded_key
    - hash_type
    - key_version
    argTypes:
    - absl::string_view
    - HashType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: crypto::tink::GetRsaSsaPssPrivateKeyProto
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - RsaSsaPssPublicKey*::set_e
    - crypto::tink::util::Enums::HashLength
    - std::move
    - RsaSsaPssPrivateKey::set_d
    - RsaSsaPssPrivateKey::set_p
    - RsaSsaPssPrivateKey::set_dq
    - std::string
    - util::StatusOr::ok
    - RsaSsaPssPublicKey*::set_version
    - RsaSsaPssPublicKey*::set_n
    - RsaSsaPssPrivateKey::set_dp
    - RsaSsaPssPrivateKey::set_crt
    - crypto::tink::subtle::PemParser::ParseRsaPrivateKey
    - RsaSsaPssPrivateKey::set_q
    - util::StatusOr::status
    - RsaSsaPssPublicKey*::mutable_params
    - RsaSsaPssPrivateKey::mutable_public_key
    - RsaSsaPssPrivateKey::set_version
    linkageType: ''
    returnType: util::StatusOr<RsaSsaPssPrivateKey>
    signature: "util::StatusOr<RsaSsaPssPrivateKey> GetRsaSsaPssPrivateKeyProto(\n
      \   absl::string_view pem_encoded_key, HashType hash_type,\n    uint32_t key_version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - serialized_key
    - key_type
    - algorithm
    - key_size_in_bits
    - hash_type
    argTypes:
    - absl::string_view
    - crypto::tink::PemKeyType
    - crypto::tink::PemAlgorithm
    - size_t
    - google::crypto::tink::HashType
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: crypto::tink::CreatePemKey
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: PemKey
    signature: "PemKey CreatePemKey(absl::string_view serialized_key,\n                    crypto::tink::PemKeyType
      key_type,\n                    crypto::tink::PemAlgorithm algorithm,\n                    size_t
      key_size_in_bits,\n                    google::crypto::tink::HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:246,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:248,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:249,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:249,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - SignaturePemKeysetReaderBuilder
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, BuildEmptyPemArray)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:255,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:257,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:257,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:262,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:266,1
    - Dst: std::unique_ptr::ReadEncrypted
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:266,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 268
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ReadEncrypted
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - std::move
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadEncryptedUnsupported)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:272,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:275,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:275,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:278,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:278,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:283,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:285,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:288,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:293,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:293,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:294,1
    - Dst: std::unique_ptr::primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:294,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:294,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:295,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:295,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:295,1
    - Dst: Eq
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:295,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:295,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:300,1
    - Dst: std::unique_ptr::primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:300,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:301,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:302,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:304,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:305,1
    - Dst: RsaSsaPssVerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:305,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:306,1
    - Dst: RsaSsaPssVerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:307,1
    - Dst: crypto::tink::GetRsaSsaPssPublicKeyProto
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:310,1
    - Dst: RsaSsaPssVerifyKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:312,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:313,1
    - Dst: util::StatusOr::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:314,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:314,1
    - Dst: EqualsKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:314,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:319,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:319,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:320,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:321,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:323,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:324,1
    - Dst: RsaSsaPssVerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:324,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:325,1
    - Dst: RsaSsaPssVerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:326,1
    - Dst: crypto::tink::GetRsaSsaPssPublicKeyProto
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:329,1
    - Dst: RsaSsaPssVerifyKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:330,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:331,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:332,1
    - Dst: util::StatusOr::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:332,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:334,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:334,1
    - Dst: EqualsKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 335
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key::mutable_key_data
    - KeyData*::set_key_material_type
    - std::move
    - Keyset::Key::set_key_id
    - KeyData*::set_type_url
    - RsaSsaPssVerifyKeyManager::key_material_type
    - ASSERT_THAT
    - crypto::tink::GetRsaSsaPssPublicKeyProto
    - RsaSsaPssVerifyKeyManager::get_key_type
    - RsaSsaPssVerifyKeyManager::get_version
    - SizeIs
    - std::unique_ptr::primary_key_id
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - Not
    - EXPECT_THAT
    - Keyset::Key::set_status
    - EqualsKey
    - EXPECT_EQ
    - std::unique_ptr::key
    - util::StatusOr::SerializeAsString
    - Keyset::Key::set_output_prefix_type
    - auto::Build
    - auto::Add
    - Eq
    - crypto::tink::CreatePemKey
    - std::unique_ptr::Read
    - KeyData*::set_value
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaCorrectPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:338,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:341,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:341,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:344,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:344,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:349,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:351,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:353,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:354,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:354,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:357,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:357,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:358,1
    - Dst: std::unique_ptr::primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:358,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:358,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:359,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:359,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:359,1
    - Dst: Eq
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:359,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:359,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:367,1
    - Dst: std::unique_ptr::primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:367,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:368,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:369,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:371,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:372,1
    - Dst: RsaSsaPssSignKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:372,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:373,1
    - Dst: RsaSsaPssSignKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:374,1
    - Dst: crypto::tink::GetRsaSsaPssPrivateKeyProto
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:376,1
    - Dst: RsaSsaPssSignKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:378,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:378,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:379,1
    - Dst: util::StatusOr::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:379,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:380,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:380,1
    - Dst: EqualsKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:380,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:385,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:385,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:386,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:387,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:389,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:390,1
    - Dst: RsaSsaPssSignKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:390,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:391,1
    - Dst: RsaSsaPssSignKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:392,1
    - Dst: crypto::tink::GetRsaSsaPssPrivateKeyProto
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:394,1
    - Dst: RsaSsaPssSignKeyManager::get_version
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:395,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:396,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:397,1
    - Dst: util::StatusOr::SerializeAsString
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:397,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:398,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:398,1
    - Dst: EqualsKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 399
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key::mutable_key_data
    - KeyData*::set_key_material_type
    - std::move
    - Keyset::Key::set_key_id
    - KeyData*::set_type_url
    - ASSERT_THAT
    - SizeIs
    - std::unique_ptr::primary_key_id
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - Not
    - RsaSsaPssSignKeyManager::key_material_type
    - EXPECT_THAT
    - Keyset::Key::set_status
    - RsaSsaPssSignKeyManager::get_key_type
    - EqualsKey
    - EXPECT_EQ
    - std::unique_ptr::key
    - util::StatusOr::SerializeAsString
    - Keyset::Key::set_output_prefix_type
    - auto::Build
    - crypto::tink::GetRsaSsaPssPrivateKeyProto
    - auto::Add
    - Eq
    - crypto::tink::CreatePemKey
    - RsaSsaPssSignKeyManager::get_version
    - std::unique_ptr::Read
    - KeyData*::set_value
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaCorrectPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:404,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:406,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:406,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:410,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:411,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:411,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:413,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:415,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:415,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - std::unique_ptr::Read
    - std::move
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaPrivateKeyKeyTypeMismatch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:422,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:425,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:425,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:429,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:430,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:430,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:432,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:434,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:434,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 436
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - std::unique_ptr::Read
    - std::move
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaPublicKeyKeyTypeMismatch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:440,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:443,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:443,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:447,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:448,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:448,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:450,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:452,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:452,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 454
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - std::unique_ptr::Read
    - std::move
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaPublicKeyTooSmall)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:459,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:462,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:462,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:466,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:467,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:467,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:469,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:471,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:471,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 473
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - std::unique_ptr::Read
    - std::move
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaPublicKeySizeMismatch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:477,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:480,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:480,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:484,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:485,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:485,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:487,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:489,1
    - Dst: std::unique_ptr::Read
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:489,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 491
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - std::unique_ptr::Read
    - std::move
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadRsaPublicKeyInvalidHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:494,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:497,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:497,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:501,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:501,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:505,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:506,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:506,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:508,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:509,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:509,1
    - Dst: std::move
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:510,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:514,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:514,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:515,1
    - Dst: std::unique_ptr::primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:515,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:515,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:516,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:516,1
    - Dst: Not
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:516,1
    - Dst: Eq
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:516,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:516,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:521,1
    - Dst: std::unique_ptr::primary_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:521,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:522,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:523,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:526,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:527,1
    - Dst: EcdsaVerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:527,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:528,1
    - Dst: EcdsaVerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:528,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:529,1
    - Dst: crypto::tink::GetExpectedEcdsaPublicKeyProto
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:530,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:532,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:532,1
    - Dst: EqualsKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:532,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:537,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:537,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:538,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:539,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:542,1
    - Dst: KeyData*::set_type_url
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:543,1
    - Dst: EcdsaVerifyKeyManager::get_key_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:543,1
    - Dst: KeyData*::set_key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:544,1
    - Dst: EcdsaVerifyKeyManager::key_material_type
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:545,1
    - Dst: KeyData*::set_value
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:546,1
    - Dst: crypto::tink::GetExpectedEcdsaPublicKeyProto
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:547,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:549,1
    - Dst: std::unique_ptr::key
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:549,1
    - Dst: EqualsKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 550
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key::mutable_key_data
    - KeyData*::set_key_material_type
    - std::move
    - Keyset::Key::set_key_id
    - KeyData*::set_type_url
    - ASSERT_THAT
    - crypto::tink::GetExpectedEcdsaPublicKeyProto
    - SizeIs
    - std::unique_ptr::primary_key_id
    - EcdsaVerifyKeyManager::key_material_type
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - Not
    - EXPECT_THAT
    - EcdsaVerifyKeyManager::get_key_type
    - Keyset::Key::set_status
    - EqualsKey
    - std::unique_ptr::key
    - Keyset::Key::set_output_prefix_type
    - auto::Build
    - auto::Add
    - Eq
    - crypto::tink::CreatePemKey
    - auto::get
    - KeyData*::set_value
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadECDSACorrectPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:553,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:556,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:556,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:560,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:561,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:561,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:562,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:563,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:563,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 565
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - ASSERT_THAT
    - auto::Build
    - auto::get
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadECDSAWrongHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:568,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:571,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:571,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:575,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:576,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:576,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:577,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:578,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:578,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 580
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - ASSERT_THAT
    - auto::Build
    - auto::get
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadECDSAWrongKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:583,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:586,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:586,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:590,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:591,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:591,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:592,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:593,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:593,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 595
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - ASSERT_THAT
    - auto::Build
    - auto::get
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadECDSAWrongAlgorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:598,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:601,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:601,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:605,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:606,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:606,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:607,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:608,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:608,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 610
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 610
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - ASSERT_THAT
    - auto::Build
    - auto::get
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadEd25519ShouldFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:613,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:616,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:616,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:620,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:621,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:621,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:622,1
    - Dst: crypto::tink::internal::IsBoringSsl
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:632,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:633,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:633,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:634,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:636,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:636,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 639
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - ASSERT_THAT
    - crypto::tink::internal::IsBoringSsl
    - auto::Build
    - auto::get
    - EXPECT_THAT
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadSecp256k1ShouldFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignaturePemKeysetReaderBuilder
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:642,1
    - Dst: auto::Add
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:645,1
    - Dst: crypto::tink::CreatePemKey
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:645,1
    - Dst: auto::Build
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:649,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:650,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:650,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:651,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:652,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:652,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 654
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::CreatePemKey
    - SignaturePemKeysetReaderBuilder
    - IsOk
    - ASSERT_THAT
    - auto::Build
    - auto::get
    - StatusIs
    - auto::Add
    linkageType: ''
    returnType: void
    signature: void TEST(SignaturePemKeysetReaderTest, ReadEcdsaP384ShouldFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519PrivateKey(const Ed25519PrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const Ed25519PrivateKey& other)'
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519PrivateKey
    signature: Ed25519PrivateKey & operator=(const Ed25519PrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ed25519PrivateKey(Ed25519PrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Ed25519PrivateKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(Ed25519PrivateKey&& other)'
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519PrivateKey
    signature: Ed25519PrivateKey & operator=(Ed25519PrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '& GetPrivateKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetPrivateKeyBytes(PartialKeyAccessToken token) 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Ed25519PublicKey
    signature: Ed25519PublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    argTypes:
    - Ed25519PublicKey
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
    functionSourceFile: /src/tink/cc/signature/ed25519_private_key.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ed25519PrivateKey(const Ed25519PublicKey& public_key,\n                             const
      RestrictedData& private_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyTemplate>
      Src: /src/tink/cc/signature/signature_key_templates.cc:55,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/signature/signature_key_templates.cc:56,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_key_templates.cc:57,1
    - Dst: EcdsaPrivateKey
      Src: /src/tink/cc/signature/signature_key_templates.cc:57,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:58,1
    - Dst: EcdsaKeyFormat::mutable_params
      Src: /src/tink/cc/signature/signature_key_templates.cc:60,1
    - Dst: auto::set_hash_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:61,1
    - Dst: auto::set_curve
      Src: /src/tink/cc/signature/signature_key_templates.cc:62,1
    - Dst: auto::set_encoding
      Src: /src/tink/cc/signature/signature_key_templates.cc:63,1
    - Dst: EcdsaKeyFormat::SerializeToString
      Src: /src/tink/cc/signature/signature_key_templates.cc:64,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/signature/signature_key_templates.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - hash_type
    - curve_type
    - encoding
    - output_prefix_type
    argTypes:
    - HashType
    - EllipticCurveType
    - EcdsaSignatureEncoding
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: crypto::tink::NewEcdsaKeyTemplate
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - auto::set_hash_type
    - EcdsaPrivateKey
    - absl::make_unique<KeyTemplate>
    - auto::set_output_prefix_type
    - auto::set_curve
    - EcdsaKeyFormat::mutable_params
    - auto::mutable_value
    - EcdsaKeyFormat::SerializeToString
    - absl::StrCat
    - auto::set_type_url
    - auto::set_encoding
    linkageType: ''
    returnType: std::unique_ptr<KeyTemplate>
    signature: "std::unique_ptr<KeyTemplate> NewEcdsaKeyTemplate(\n    HashType hash_type,
      EllipticCurveType curve_type,\n    EcdsaSignatureEncoding encoding, OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hash_type
    - curve_type
    - encoding
    argTypes:
    - HashType
    - EllipticCurveType
    - EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: crypto::tink::NewEcdsaKeyTemplate
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::NewEcdsaKeyTemplate
    linkageType: ''
    returnType: std::unique_ptr<KeyTemplate>
    signature: "std::unique_ptr<KeyTemplate> NewEcdsaKeyTemplate(\n    HashType hash_type,
      EllipticCurveType curve_type,\n    EcdsaSignatureEncoding encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyTemplate>
      Src: /src/tink/cc/signature/signature_key_templates.cc:78,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/signature/signature_key_templates.cc:79,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_key_templates.cc:80,1
    - Dst: RsaSsaPkcs1PrivateKey
      Src: /src/tink/cc/signature/signature_key_templates.cc:80,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:81,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/signature_key_templates.cc:83,1
    - Dst: auto::set_hash_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:84,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates.cc:85,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates.cc:87,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates.cc:87,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/signature_key_templates.cc:88,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_key_templates.cc:89,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates.cc:89,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_key_templates.cc:89,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates.cc:89,1
    - Dst: RsaSsaPkcs1KeyFormat::SerializeToString
      Src: /src/tink/cc/signature/signature_key_templates.cc:90,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/signature/signature_key_templates.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - hash_type
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - HashType
    - int
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: crypto::tink::NewRsaSsaPkcs1KeyTemplate
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - RsaSsaPkcs1PrivateKey
    - auto::set_hash_type
    - crypto::tink::internal::BignumToString
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - absl::make_unique<KeyTemplate>
    - auto::set_output_prefix_type
    - BN_set_word
    - internal::SslUniquePtr::get
    - RsaSsaPkcs1KeyFormat::SerializeToString
    - auto::mutable_value
    - BN_num_bytes
    - absl::StrCat
    - auto::set_type_url
    linkageType: ''
    returnType: std::unique_ptr<KeyTemplate>
    signature: "std::unique_ptr<KeyTemplate> NewRsaSsaPkcs1KeyTemplate(HashType hash_type,\n
      \                                                      int modulus_size_in_bits,\n
      \                                                      int public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyTemplate>
      Src: /src/tink/cc/signature/signature_key_templates.cc:99,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/signature/signature_key_templates.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_key_templates.cc:101,1
    - Dst: RsaSsaPssPrivateKey
      Src: /src/tink/cc/signature/signature_key_templates.cc:101,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:102,1
    - Dst: RsaSsaPssKeyFormat::mutable_params
      Src: /src/tink/cc/signature/signature_key_templates.cc:104,1
    - Dst: auto::set_sig_hash
      Src: /src/tink/cc/signature/signature_key_templates.cc:105,1
    - Dst: auto::set_mgf1_hash
      Src: /src/tink/cc/signature/signature_key_templates.cc:106,1
    - Dst: auto::set_salt_length
      Src: /src/tink/cc/signature/signature_key_templates.cc:107,1
    - Dst: RsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/signature_key_templates.cc:108,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/signature_key_templates.cc:110,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates.cc:110,1
    - Dst: RsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/signature_key_templates.cc:111,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/signature_key_templates.cc:112,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates.cc:112,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/signature_key_templates.cc:112,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/signature_key_templates.cc:112,1
    - Dst: RsaSsaPssKeyFormat::SerializeToString
      Src: /src/tink/cc/signature/signature_key_templates.cc:113,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/signature/signature_key_templates.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - sig_hash
    - mgf1_hash
    - salt_length
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - HashType
    - HashType
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: crypto::tink::NewRsaSsaPssKeyTemplate
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - RsaSsaPssPrivateKey
    - absl::make_unique<KeyTemplate>
    - auto::set_output_prefix_type
    - auto::set_sig_hash
    - BN_set_word
    - internal::SslUniquePtr::get
    - RsaSsaPssKeyFormat::SerializeToString
    - auto::mutable_value
    - auto::set_salt_length
    - RsaSsaPssKeyFormat::set_public_exponent
    - BN_num_bytes
    - absl::StrCat
    - auto::set_type_url
    - RsaSsaPssKeyFormat::mutable_params
    - auto::set_mgf1_hash
    - RsaSsaPssKeyFormat::set_modulus_size_in_bits
    linkageType: ''
    returnType: std::unique_ptr<KeyTemplate>
    signature: "std::unique_ptr<KeyTemplate> NewRsaSsaPssKeyTemplate(HashType sig_hash,\n
      \                                                    HashType mgf1_hash,\n                                                     int
      salt_length,\n                                                     int modulus_size_in_bits,\n
      \                                                    int public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: '& SignatureKeyTemplates::EcdsaP256()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: '& SignatureKeyTemplates::EcdsaP384()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: '& SignatureKeyTemplates::EcdsaP384Sha384()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP384Sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: '& SignatureKeyTemplates::EcdsaP384Sha512()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP384Sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: '& SignatureKeyTemplates::EcdsaP521()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP521()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: '& SignatureKeyTemplates::EcdsaP256Raw()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP256Raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: '& SignatureKeyTemplates::EcdsaP256Ieee()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP256Ieee()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: '& SignatureKeyTemplates::EcdsaP384Ieee()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP384Ieee()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewEcdsaKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: '& SignatureKeyTemplates::EcdsaP521Ieee()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::EcdsaP521Ieee()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: '& SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: '& SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewRsaSsaPssKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: '& SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewRsaSsaPssKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: '& SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewRsaSsaPssKeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: '& SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:245,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/signature/signature_key_templates.cc:246,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_key_templates.cc:247,1
    - Dst: Ed25519PrivateKey
      Src: /src/tink/cc/signature/signature_key_templates.cc:247,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: '& SignatureKeyTemplates::Ed25519()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey
    - KeyTemplate*::set_type_url
    - absl::StrCat
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & SignatureKeyTemplates::Ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/signature/signature_key_templates.cc:255,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/signature/signature_key_templates.cc:256,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/signature_key_templates.cc:257,1
    - Dst: Ed25519PrivateKey
      Src: /src/tink/cc/signature/signature_key_templates.cc:257,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/signature/signature_key_templates.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: '&

      SignatureKeyTemplates::Ed25519WithRawOutput()'
    functionSourceFile: /src/tink/cc/signature/signature_key_templates.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey
    - KeyTemplate*::set_type_url
    - absl::StrCat
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      SignatureKeyTemplates::Ed25519WithRawOutput()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc: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: crypto::tink::RsaSsaPkcs1ProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:96,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:97,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1ProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:125,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:125,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:128,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:129,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:130,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:133,1
    - Dst: RsaSsaPkcs1KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:136,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:143,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:143,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:143,1
    - Dst: dynamic_cast<const RsaSsaPkcs1Parameters*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:145,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:146,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:147,1
    - Dst: RsaSsaPkcs1Parameters*::GetVariant
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:147,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:148,1
    - Dst: RsaSsaPkcs1Parameters*::GetModulusSizeInBits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:148,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:150,1
    - Dst: RsaSsaPkcs1Parameters*::GetHashType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:151,1
    - Dst: RsaSsaPkcs1Parameters*::GetPublicExponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:151,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:152,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - RsaSsaPkcs1Parameters*::GetModulusSizeInBits
    - ASSERT_THAT
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - IsOk
    - EXPECT_THAT
    - GetParam
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - internal::MutableSerializationRegistry::GlobalInstance
    - TestCase::id::has_value
    - RsaSsaPkcs1Parameters*::GetHashType
    - RsaSsaPkcs1KeyFormat::SerializeAsString
    - Eq
    - dynamic_cast<const RsaSsaPkcs1Parameters*>
    - util::StatusOr::get
    - RsaSsaPkcs1Parameters*::GetVariant
    - RsaSsaPkcs1Parameters*::GetPublicExponent
    - NotNull
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ProtoSerializationTest, ParseParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:157,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:157,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:162,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:168,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:168,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:174,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:174,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:177,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:178,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:181,1
    - Dst: RsaSsaPkcs1KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:184,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:190,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:190,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - util::StatusOr::status
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - RsaSsaPkcs1KeyFormat::SerializeAsString
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParseParametersKeyFormatWithoutParamsFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:196,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:196,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:199,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:200,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:201,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:204,1
    - Dst: RsaSsaPkcs1KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:207,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:213,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:213,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - util::StatusOr::status
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - RsaSsaPkcs1KeyFormat::SerializeAsString
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:218,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:218,1
    - Dst: RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:221,1
    - Dst: RsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:222,1
    - Dst: RsaSsaPkcs1KeyFormat::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:223,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:226,1
    - Dst: RsaSsaPkcs1KeyFormat::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:229,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:235,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:235,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPkcs1KeyFormat::set_public_exponent
    - RsaSsaPkcs1KeyFormat::mutable_params
    - util::StatusOr::status
    - RsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - RsaSsaPkcs1KeyFormat::SerializeAsString
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(RsaSsaPkcs1ProtoSerializationTest, ParseParametersWithUnkownHashFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:241,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:241,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:244,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:250,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:256,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:258,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:258,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:258,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:261,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:264,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:265,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:265,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:267,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:267,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:271,1
    - Dst: RsaSsaPkcs1KeyFormat::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:272,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:272,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:275,1
    - Dst: RsaSsaPkcs1KeyFormat::has_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:275,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:276,1
    - Dst: RsaSsaPkcs1KeyFormat::params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:276,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:276,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:277,1
    - Dst: RsaSsaPkcs1KeyFormat::modulus_size_in_bits
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:277,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:278,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:279,1
    - Dst: RsaSsaPkcs1KeyFormat::public_exponent
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:279,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 280
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - RsaSsaPkcs1KeyFormat::params
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - ASSERT_THAT
    - RsaSsaPkcs1KeyFormat::modulus_size_in_bits
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - RsaSsaPkcs1KeyFormat::ParseFromString
    - IsOk
    - EXPECT_THAT
    - ObjectIdentifier
    - IsTrue
    - GetParam
    - RsaSsaPkcs1KeyFormat::public_exponent
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - Eq
    - util::StatusOr::get
    - NotNull
    - RsaSsaPkcs1KeyFormat::has_params
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ProtoSerializationTest, SerializeParametersSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:295,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:295,1
    - Dst: CHECK_NE
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:299,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:299,1
    - Dst: BN_set_word
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:300,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:300,1
    - Dst: CHECK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:303,1
    - Dst: RSA_generate_key_ex
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:303,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:303,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:303,1
    - Dst: RSA_get0_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:308,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:308,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:311,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:311,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:312,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:314,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:314,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:315,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:317,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:317,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:318,1
    - Dst: RSA_get0_factors
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:320,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:320,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:323,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:323,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:324,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:326,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:326,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:327,1
    - Dst: RSA_get0_crt_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:329,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:329,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:332,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:332,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:333,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:335,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:335,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:336,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:338,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:338,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - modulus_size_in_bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 343
    functionName: crypto::tink::GenerateKeyValues
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::BignumToString
    - internal::SslUniquePtr::get
    - RSA_generate_key_ex
    - BN_set_word
    - CHECK_OK
    - RSA_get0_factors
    - BN_num_bytes
    - RSA_get0_crt_params
    - RSA_get0_key
    - CHECK_NE
    - CHECK
    linkageType: ''
    returnType: KeyValues
    signature: KeyValues GenerateKeyValues(int modulus_size_in_bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:346,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:347,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:347,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:350,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:352,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:355,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:356,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:357,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:358,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:359,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:360,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:360,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:363,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:366,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:366,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:371,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:372,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:372,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:372,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:373,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:373,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:374,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:377,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:381,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:383,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:386,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:387,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:388,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:389,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:389,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:391,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 392
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - GetIdRequirement
    - GetParam
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - RsaSsaPkcs1Params::set_hash_type
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ProtoSerializationTest, ParsePublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:396,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:396,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:406,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:409,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:410,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:411,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:411,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 412
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParsePublicKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:416,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:416,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:419,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:421,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:424,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:425,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:426,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:427,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:428,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:429,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:429,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:432,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:436,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:436,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:439,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:441,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:441,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 442
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - RsaSsaPkcs1Params::set_hash_type
    - ASSERT_THAT
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - google::crypto::tink::RsaSsaPkcs1PublicKey::SerializeAsString
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParsePublicKeyWithInvalidVersionFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:445,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:445,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:445,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:447,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:448,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:451,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:455,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:457,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:460,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:460,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:461,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:462,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:462,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:465,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:468,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:468,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:469,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:469,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:469,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:472,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:473,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:475,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:475,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:476,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:476,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:476,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:477,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:477,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:478,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:479,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:479,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:480,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:481,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:481,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:481,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:484,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:484,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:485,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:486,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:487,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:489,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:489,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:489,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:490,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:490,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:490,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:491,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:491,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:491,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:492,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::has_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:492,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:492,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:493,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:493,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 494
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - google::crypto::tink::RsaSsaPkcs1PublicKey::n
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - google::crypto::tink::RsaSsaPkcs1PublicKey::params
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::RsaSsaPkcs1PublicKey::ParseFromString
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - Eq
    - google::crypto::tink::RsaSsaPkcs1PublicKey::version
    - google::crypto::tink::RsaSsaPkcs1PublicKey::has_params
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - google::crypto::tink::RsaSsaPkcs1PublicKey::e
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ProtoSerializationTest, SerializePublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:497,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:498,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:498,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:498,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:501,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:503,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:506,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:507,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:508,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:509,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:512,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:513,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:514,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:515,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:516,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:517,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:518,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:519,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:521,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:522,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:522,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:525,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:528,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:528,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:531,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:532,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:533,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:533,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:534,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:534,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:534,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:535,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:535,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:536,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:539,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:543,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:545,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:545,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:548,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:549,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:550,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:551,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:551,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:554,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:556,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:557,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:558,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:559,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:560,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:561,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:562,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:563,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:564,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:565,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:566,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:567,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:568,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:570,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 571
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - BigInteger
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
    - IsOk
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - GetIdRequirement
    - GetParam
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - GetParameters
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - RsaSsaPkcs1Params::set_hash_type
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ProtoSerializationTest, ParsePrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:575,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:575,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:575,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:578,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:578,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:581,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:585,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:585,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:588,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:589,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:590,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:590,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 591
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParsePrivateKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:595,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:595,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:595,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:598,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:600,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:603,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:604,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:605,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:606,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:609,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:610,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:611,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:612,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:613,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:614,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:615,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:616,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:618,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:619,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:619,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:622,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:626,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:626,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:629,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:630,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:631,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:631,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 632
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
    - IsOk
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
    - RsaSsaPkcs1Params::set_hash_type
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
    - StatusIs
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParsePrivateKeyWithInvalidVersionFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:636,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:636,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:636,1
    - Dst: RsaSsaPkcs1Params::set_hash_type
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:639,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:641,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:644,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:645,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:646,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:647,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:650,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:651,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:652,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:653,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:654,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:655,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:656,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:657,1
    - Dst: RestrictedData
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:659,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:660,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:660,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:663,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:667,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:667,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:672,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:672,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 673
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_n
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_e
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_q
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_version
    - IsOk
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dp
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_d
    - EXPECT_THAT
    - google::crypto::tink::RsaSsaPkcs1PublicKey::mutable_params
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::SerializeAsString
    - google::crypto::tink::RsaSsaPkcs1PublicKey::set_version
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_p
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_dq
    - RsaSsaPkcs1Params::set_hash_type
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::set_crt
    - StatusIs
    - util::StatusOr::status
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::mutable_public_key
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       ParsePrivateKeyNoSecretKeyAccessFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:676,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:677,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:677,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:677,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:679,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:682,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:686,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:688,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:688,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:691,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:691,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:692,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:693,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:693,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:696,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:698,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:699,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:700,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:701,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:702,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:703,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:704,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:705,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:706,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:707,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:708,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:709,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:710,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:711,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:711,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:714,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:716,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:717,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:717,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:718,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:718,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:718,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:721,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:722,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:723,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:723,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:724,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:724,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:724,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:725,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:725,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:726,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:727,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:727,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:728,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:729,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:729,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:729,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:732,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::ParseFromString
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:732,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:733,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:734,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:735,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:737,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::version
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:737,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:737,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:738,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::p
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:738,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:738,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:739,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::q
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:739,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:739,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:740,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::dp
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:740,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:740,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:741,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::dq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:741,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:741,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:742,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::d
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:742,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:742,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:743,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::crt
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:743,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:743,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:744,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::has_public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:744,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:744,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:745,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:745,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:745,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:746,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:746,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:746,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:747,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:747,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:747,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:748,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:748,1
    - Dst: IsTrue
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:748,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:749,1
    - Dst: google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:749,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 751
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::has_public_key
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::version
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::dp
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::q
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::crt
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - GetParam
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::d
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::ParseFromString
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::p
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::public_key
    - google::crypto::tink::RsaSsaPkcs1PrivateKey::dq
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPkcs1ProtoSerializationTest, SerializePrivateKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:755,1
    - Dst: crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:755,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:755,1
    - Dst: crypto::tink::GenerateKeyValues
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:757,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:760,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:764,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:766,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:766,1
    - Dst: crypto::tink::RsaSsaPkcs1PublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:769,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:769,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:771,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:772,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:772,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:775,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:777,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:778,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:779,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:780,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:781,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:782,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:783,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:784,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:785,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:786,1
    - Dst: RestrictedBigInteger
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:787,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:788,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:789,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:790,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:790,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:793,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:796,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:796,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 798
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GenerateKeyValues
    - BigInteger
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::RsaSsaPkcs1PublicKey::Create
    - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
    - RestrictedBigInteger
    linkageType: ''
    returnType: void
    signature: "void TEST_F(RsaSsaPkcs1ProtoSerializationTest,\n       SerializePrivateKeyNoSecretKeyAccessFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:58,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - EcdsaParameters::CurveType
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: crypto::tink::SubtleCurveType
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<subtle::EllipticCurveType>
    signature: "util::StatusOr<subtle::EllipticCurveType> SubtleCurveType(\n    EcdsaParameters::CurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SubtleCurveType
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:69,1
    - Dst: GetParameters
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:69,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:70,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:71,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:74,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:75,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:76,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:78,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:78,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:78,1
    - Dst: GetPublicPoint
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:81,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:83,1
    - Dst: EcPoint::GetX
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:83,1
    - Dst: EcPoint::GetY
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:84,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:85,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:86,1
    - Dst: EC_KEY_set_public_key
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:88,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:88,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:88,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:89,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:91,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:91,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:96,1
    - Dst: GetSecret
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:97,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:97,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:98,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:99,1
    - Dst: EC_KEY_set_private_key
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:101,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:101,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:102,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:104,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:104,1
    - Dst: EC_KEY_check_key
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:108,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:109,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:111,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:111,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_value'
    - token
    argTypes:
    - EcdsaPublicKey
    - RestrictedBigInteger
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: crypto::tink::ValidateKeyPair
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.cc
    functionUses: 0
    functionsReached:
    - EC_KEY_set_group
    - crypto::tink::internal::GetSslErrors
    - GetPublicPoint
    - crypto::tink::InsecureSecretKeyAccess::Get
    - absl::StrCat
    - EC_KEY_set_public_key
    - EcPoint::GetY
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    - GetParameters
    - EC_KEY_check_key
    - GetSecret
    - internal::SslUniquePtr::get
    - crypto::tink::internal::GetEcPoint
    - crypto::tink::SubtleCurveType
    - util::StatusOr::get
    - EC_KEY_set_private_key
    - EcPoint::GetX
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKeyPair(const EcdsaPublicKey& public_key,\n                             const
      RestrictedBigInteger& private_key_value,\n                             PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateKeyPair
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:125,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:126,1
    - Dst: crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_value'
    - token
    argTypes:
    - EcdsaPublicKey
    - RestrictedBigInteger
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: crypto::tink::EcdsaPrivateKey::Create
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
    - util::Status::ok
    - ValidateKeyPair
    linkageType: ''
    returnType: util::StatusOr<EcdsaPrivateKey>
    signature: "util::StatusOr<EcdsaPrivateKey> EcdsaPrivateKey::Create(\n    const
      EcdsaPublicKey& public_key,\n    const RestrictedBigInteger& private_key_value,\n
      \   PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const EcdsaPrivateKey*>
      Src: /src/tink/cc/signature/ecdsa_private_key.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: EcdsaPrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/signature/ecdsa_private_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const EcdsaPrivateKey*>
    linkageType: ''
    returnType: bool
    signature: bool EcdsaPrivateKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: crypto::tink::RsaSsaPssParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: crypto::tink::RsaSsaPssParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::RsaSsaPssParameters::Builder::Builder
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssParameters
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: crypto::tink::RsaSsaPssParameters::RsaSsaPssParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssParameters(const RsaSsaPssParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssParameters
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: '& operator=(const RsaSsaPssParameters& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters
    signature: RsaSsaPssParameters & operator=(const RsaSsaPssParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssParameters
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: crypto::tink::RsaSsaPssParameters::RsaSsaPssParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RsaSsaPssParameters(RsaSsaPssParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RsaSsaPssParameters
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(RsaSsaPssParameters&& other)'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RsaSsaPssParameters
    signature: RsaSsaPssParameters & operator=(RsaSsaPssParameters&& other)
  - 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: crypto::tink::RsaSsaPssParameters::GetModulusSizeInBits
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetModulusSizeInBits() 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: '& GetPublicExponent() const'
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BigInteger
    signature: BigInteger & GetPublicExponent() 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: crypto::tink::RsaSsaPssParameters::GetSigHashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetSigHashType() 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: crypto::tink::RsaSsaPssParameters::GetMgf1HashType
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetMgf1HashType() 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: crypto::tink::RsaSsaPssParameters::GetSaltLengthInBytes
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetSaltLengthInBytes() 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: crypto::tink::RsaSsaPssParameters::GetVariant
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: crypto::tink::RsaSsaPssParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - modulus_size_in_bits
    - ' public_exponent'
    - sig_hash_type
    - mgf1_hash_type
    - salt_length_in_bytes
    - variant
    argTypes:
    - int
    - BigInteger
    - HashType
    - HashType
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: crypto::tink::RsaSsaPssParameters::RsaSsaPssParameters
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RsaSsaPssParameters(int modulus_size_in_bits,\n                               const
      BigInteger& public_exponent,\n                               HashType sig_hash_type,
      HashType mgf1_hash_type,\n                               int salt_length_in_bytes,
      Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:102,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:111,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:114,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:116,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:116,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:119,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:123,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:123,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:124,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:124,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:125,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:125,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:126,1
    - Dst: util::StatusOr::GetPublicPoint
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:126,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - Eq
    - util::StatusOr::GetPublicPoint
    - EXPECT_THAT
    - GetParam
    - crypto::tink::EcdsaPublicKey::Create
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaPublicKeyTest, CreatePublicKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:138,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:149,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:150,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:151,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:153,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:157,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:157,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:159,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:161,1
    - Dst: HasSubstr
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::EcdsaPublicKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPublicKeyTest, CreatePublicKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:169,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:169,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:171,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:171,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:181,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:183,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:186,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:186,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 187
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::EcdsaPublicKey::Create
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPublicKeyTest, CreatePublicKeyWithInvalidPointFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:190,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:199,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:202,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:204,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:204,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:207,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:209,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:212,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:214,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:216,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:217,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:218,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 220
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(EcdsaPublicKeyTest, PublicKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:230,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:239,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:241,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:244,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:246,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:249,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:251,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:253,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 255
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPublicKeyTest, DifferentParametersNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:265,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:269,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:272,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:274,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:274,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:275,1
    - Dst: BigInteger
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:275,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:277,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:280,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:282,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:285,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:287,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - BigInteger
    - crypto::tink::internal::NewEcKey
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPublicKeyTest, DifferentPublicPointsNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:301,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:303,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:306,1
    - Dst: crypto::tink::EcdsaPublicKey::Create
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:308,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:311,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:313,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:314,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/ecdsa_public_key_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 317
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/ecdsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - crypto::tink::EcdsaPublicKey::Create
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaPublicKeyTest, DifferentIdRequirementsNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/signature/ecdsa_verify_key_manager.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: crypto::tink::EcdsaVerifyKeyManager::EcdsaVerifyKeyManager
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void EcdsaVerifyKeyManager()
  - 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: crypto::tink::EcdsaVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::EcdsaVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: crypto::tink::EcdsaVerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/signature/ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:92,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:103,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:106,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:110,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:111,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:112,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:112,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:113,1
    - Dst: util::StatusOr::GetModulus
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:113,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:113,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetModulus
    - util::StatusOr::GetIdRequirement
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssPublicKeyTest, CreatePublicKeySucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:126,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:129,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:132,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPublicKeyTest, CreateWithNonMatchingModulusSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:146,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:161,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:162,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:163,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:167,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:167,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:169,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 172
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Ed25519PublicKeyTest, CreateKeyWithInvalidIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:175,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:186,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:189,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:191,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:194,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:200,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 202
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(RsaSsaPssPublicKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:214,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:225,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:228,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:231,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:233,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:236,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:239,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:240,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPublicKeyTest, DifferentParametersNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:254,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:256,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:269,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:271,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:272,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:274,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:277,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:279,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:280,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 283
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPublicKeyTest, DifferentModulusNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:295,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:298,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:300,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:301,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:303,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:306,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:308,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 312
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::RsaSsaPssPublicKey::Create
    - IsOk
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPublicKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:324,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:328,1
    - Dst: std::string
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:329,1
    - Dst: Eq
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:329,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:331,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:333,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:334,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:334,1
    - Dst: crypto::tink::RsaSsaPssPublicKey::Create
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:337,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:340,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:342,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:343,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:344,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 346
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - std::string
    - IsOk
    - crypto::tink::RsaSsaPssPublicKey::Create
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    - Eq
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssPublicKeyTest, PaddedWithZerosModulusEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeySignWrapper
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:71,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:71,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:72,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:73,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeySign>>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:77,1
    - Dst: PublicKeySignWrapper
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:78,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:78,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:79,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:80,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:81,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:82,1
    - Dst: std::string
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:83,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:83,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:91,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:92,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:93,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:94,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:97,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:98,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:99,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:100,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:103,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:104,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:105,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:106,1
    - Dst: PrimitiveSet<PublicKeySign>::PrimitiveSet<PublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:112,1
    - Dst: DummyPublicKeySign::DummyPublicKeySign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:115,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:117,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:117,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:118,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:120,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:122,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:122,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:123,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:123,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:125,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:127,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:127,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:128,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:131,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:131,1
    - Dst: PublicKeySignWrapper
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:134,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:135,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:135,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:135,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:136,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:136,1
    - Dst: std::unique_ptr::Sign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:138,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:139,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:139,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:139,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:140,1
    - Dst: DummyPublicKeyVerify::DummyPublicKeyVerify
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:142,1
    - Dst: std::unique_ptr::Verify
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 146
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<PublicKeySign>>
    - ASSERT_TRUE
    - EXPECT_FALSE
    - absl::make_unique<DummyPublicKeySign>
    - PrimitiveSet<PublicKeySign>::PrimitiveSet<PublicKeySign>
    - auto::status
    - std::string
    - IsOk
    - std::unique_ptr::Verify
    - KeysetInfo::KeyInfo*::set_status
    - std::unique_ptr::Sign
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - DummyPublicKeyVerify::DummyPublicKeyVerify
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    - KeysetInfo::KeyInfo*::set_key_id
    - DummyPublicKeySign::DummyPublicKeySign
    - PublicKeySignWrapper
    - auto::value
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: void
    signature: void TEST(PublicKeySignSetWrapperTest, TestBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:152,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:153,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:154,1
    - Dst: PrimitiveSet<PublicKeySign>::PrimitiveSet<PublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:158,1
    - Dst: DummyPublicKeySign::DummyPublicKeySign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:161,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:162,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:164,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:164,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:164,1
    - Dst: PublicKeySignWrapper
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:167,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:168,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:168,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:168,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:169,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:169,1
    - Dst: std::unique_ptr::Sign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:173,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:174,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:175,1
    - Dst: DummyPublicKeyVerify::DummyPublicKeyVerify
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:179,1
    - Dst: std::string::substr
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:180,1
    - Dst: std::unique_ptr::Verify
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:182,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:183,1
    - Dst: auto::code
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:183,1
    - Dst: std::string::append
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:187,1
    - Dst: std::unique_ptr::Verify
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:189,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 190
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - EXPECT_FALSE
    - PrimitiveSet<PublicKeySign>::PrimitiveSet<PublicKeySign>
    - auto::status
    - IsOk
    - std::string::substr
    - std::unique_ptr::Verify
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_status
    - auto::code
    - std::unique_ptr::Sign
    - EXPECT_PRED_FORMAT2
    - EXPECT_EQ
    - DummyPublicKeyVerify::DummyPublicKeyVerify
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo::set_key_id
    - std::string::append
    - DummyPublicKeySign::DummyPublicKeySign
    - PublicKeySignWrapper
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(PublicKeySignSetWrapperTest, TestLegacySignatures)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:196,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:197,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 5
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo PopulateKeyInfo(uint32_t key_id,\n                                    OutputPrefixType
      out_prefix_type,\n                                    KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:205,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:206,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:208,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:209,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:211,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 14
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:223,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:227,1
    - Dst: absl::make_unique<StrictMock<MockMonitoringClient>>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:229,1
    - Dst: auto::get
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:234,1
    - Dst: New
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:234,1
    - Dst: Return
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:236,1
    - Dst: ByMove
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:236,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:236,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:239,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:239,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:243,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:244,1
    - Dst: Not
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:245,1
    - Dst: IsNull
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 246
    functionName: crypto::tink::PublicKeySignSetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - absl::make_unique<StrictMock<MockMonitoringClient>>
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: ~PublicKeySignSetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~PublicKeySignSetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:258,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeySign>>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:263,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:263,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:264,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:268,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:268,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:269,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:272,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:275,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:276,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:279,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:279,1
    - Dst: PublicKeySignWrapper
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:285,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:285,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:286,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:286,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:291,1
    - Dst: Log
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:291,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:292,1
    - Dst: Sign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 293
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - Sign
    - PublicKeySignWrapper
    - IsOkAndHolds
    - absl::make_unique<PrimitiveSet<PublicKeySign>>
    - NotNull
    - Log
    - EXPECT_THAT
    - absl::make_unique<DummyPublicKeySign>
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PublicKeySignSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringSignSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:298,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeySign>>
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:303,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:303,1
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeySign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:304,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:308,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:308,1
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeySign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:309,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:312,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:315,1
    - Dst: crypto::tink::CreateAlwaysFailingPublicKeySign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:316,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:318,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:318,1
    - Dst: PublicKeySignWrapper
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:322,1
    - Dst: std::move
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:322,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:323,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:323,1
    - Dst: NotNull
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:323,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:328,1
    - Dst: LogFailure
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:328,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:329,1
    - Dst: Sign
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:329,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/public_key_sign_wrapper_test.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 331
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - LogFailure
    - auto::AddPrimitive
    - crypto::tink::CreateAlwaysFailingPublicKeySign
    - IsOk
    - std::move
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - EXPECT_CALL
    - PublicKeySignWrapper
    - StatusIs
    - IsOkAndHolds
    - absl::make_unique<PrimitiveSet<PublicKeySign>>
    - NotNull
    - EXPECT_THAT
    - Sign
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PublicKeySignSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringSignFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - encoding
    argTypes:
    - internal::SslUniquePtr<EC_KEY>
    - subtle::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: crypto::tink::internal::EcdsaRawSignBoringSsl::EcdsaRawSignBoringSsl
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void EcdsaRawSignBoringSsl(internal::SslUniquePtr<EC_KEY> key,\n                        subtle::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:37,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:38,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:39,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:40,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:43,1
    - Dst: absl::make_unique<RsaSsaPssSignKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:44,1
    - Dst: absl::make_unique<RsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:45,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:46,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:49,1
    - Dst: absl::make_unique<RsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:50,1
    - Dst: absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:52,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:55,1
    - Dst: absl::make_unique<Ed25519SignKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:56,1
    - Dst: absl::make_unique<Ed25519VerifyKeyManager>
      Src: /src/tink/cc/signature/internal/key_gen_config_v0.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 58
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 58
    functionName: crypto::tink::internal::AddSignatureKeyGenV0
    functionSourceFile: /src/tink/cc/signature/internal/key_gen_config_v0.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
    - util::Status::ok
    - absl::make_unique<RsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RsaSsaPssVerifyKeyManager>
    - absl::make_unique<EcdsaVerifyKeyManager>
    - absl::make_unique<Ed25519VerifyKeyManager>
    - absl::make_unique<EcdsaSignKeyManager>
    - absl::make_unique<RsaSsaPssSignKeyManager>
    - absl::make_unique<Ed25519SignKeyManager>
    - absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddSignatureKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:39,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:40,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:44,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:45,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:46,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:49,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:50,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:51,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:55,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:56,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:57,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:58,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:61,1
    - Dst: absl::make_unique<RsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:62,1
    - Dst: absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:63,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:64,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:67,1
    - Dst: absl::make_unique<RsaSsaPssSignKeyManager>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:68,1
    - Dst: absl::make_unique<RsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_fips_140_2.cc:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 70
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::AddSignatureFips140_2
    functionSourceFile: /src/tink/cc/signature/internal/config_fips_140_2.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyWrapper>
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - absl::make_unique<PublicKeySignWrapper>
    - absl::make_unique<RsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RsaSsaPssVerifyKeyManager>
    - absl::make_unique<EcdsaVerifyKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<EcdsaSignKeyManager>
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::make_unique<RsaSsaPssSignKeyManager>
    - absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddSignatureFips140_2(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EvpHashFromHashType
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:54,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:55,1
    - Dst: EVP_Digest
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:59,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:59,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:61,1
    - Dst: std::string
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:65,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - hash_type
    - data
    argTypes:
    - subtle::HashType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::ComputeDigest
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - std::string
    - crypto::tink::internal::ExtractStatus
    - EVP_Digest
    - reinterpret_cast<const char*>
    - crypto::tink::internal::EvpHashFromHashType
    - util::StatusOr::ok
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeDigest(subtle::HashType hash_type,\n
      \                                         absl::string_view data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:69,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:69,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:70,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:79,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:83,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:86,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:88,1
    - Dst: crypto::tink::internal::ComputeDigest
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:92,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:93,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:95,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:95,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:95,1
    - Dst: Eq
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:96,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsOkAndHolds
    - GTEST_SKIP
    - EXPECT_THAT
    - Verify
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::ComputeDigest
    - Eq
    - Sign
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaRawSignBoringSslTest, VerifySignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:101,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:101,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:102,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:111,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:115,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:120,1
    - Dst: crypto::tink::internal::ComputeDigest
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:126,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:129,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:129,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:130,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsOkAndHolds
    - GTEST_SKIP
    - EXPECT_THAT
    - Verify
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::ComputeDigest
    - Eq
    - Sign
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaRawSignBoringSslTest, VerifySignatureWithEmptyMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:136,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:136,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:137,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:146,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:150,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:155,1
    - Dst: crypto::tink::internal::ComputeDigest
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:160,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:162,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:162,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:163,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:165,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:165,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:167,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:167,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 170
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsOkAndHolds
    - GTEST_SKIP
    - EXPECT_THAT
    - Verify
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::ComputeDigest
    - Eq
    - Sign
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaRawSignBoringSslTest, VerifyFailsWithInvalidMessageOrSignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:173,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:173,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:174,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:183,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:187,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:195,1
    - Dst: crypto::tink::internal::ComputeDigest
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:200,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:202,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:202,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:202,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:203,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:203,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 205
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsOkAndHolds
    - GTEST_SKIP
    - EXPECT_THAT
    - Verify
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::ComputeDigest
    - Eq
    - Sign
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaRawSignBoringSslTest, VerifyFailsWhenEncodingDoesNotMatch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:209,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:209,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:210,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:219,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:224,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:230,1
    - Dst: crypto::tink::internal::ComputeDigest
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:235,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:237,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:237,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:237,1
    - Dst: Eq
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:238,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:238,1
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:244,1
    - Dst: SizeIs
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 246
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - crypto::tink::internal::EcFieldSizeInBytes
    - IsOkAndHolds
    - GTEST_SKIP
    - EXPECT_THAT
    - Verify
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::ComputeDigest
    - Eq
    - Sign
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: "void TEST(EcdsaRawSignBoringSslTest,\n     SignatureSizesAreCorrectWhenUsingIeeeP136Encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:249,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:249,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:250,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:258,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:259,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - Not
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaRawSignBoringSslTest, CreateFailsWithBadPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:267,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:267,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:268,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:274,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:275,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:276,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:278,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:283,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:286,1
    - Dst: crypto::tink::subtle::GetNewEcKey
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:291,1
    - Dst: crypto::tink::internal::EcdsaRawSignBoringSsl::New
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:292,1
    - Dst: StatusIs
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 266
    functionDepth: 5
    functionLinenumber: 266
    functionLinenumberEnd: 295
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::subtle::GetNewEcKey
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - crypto::tink::internal::EcdsaRawSignBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaRawSignBoringSslTest, FipsFailWithoutBoringCrypto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:55,1
    - Dst: crypto::tink::internal::AddSignatureV0
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:55,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:60,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:61,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    - crypto::tink::internal::AddSignatureV0
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureV0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:66,1
    - Dst: crypto::tink::internal::AddSignatureV0
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:66,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:72,1
    - Dst: crypto::tink::internal::AddSignatureKeyGenV0
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:72,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:78,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:78,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:79,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:79,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:80,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:80,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:81,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:81,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - RsaSsaPssVerifyKeyManager
    - EcdsaVerifyKeyManager
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - RsaSsaPkcs1VerifyKeyManager
    - crypto::tink::internal::AddSignatureKeyGenV0
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - Ed25519VerifyKeyManager
    - crypto::tink::internal::AddSignatureV0
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:95,1
    - Dst: crypto::tink::internal::AddSignatureKeyGenV0
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:97,1
    - Dst: crypto::tink::internal::AddSignatureV0
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:97,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:100,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:101,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:104,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:108,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:111,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:116,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_v0_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/signature/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - GetPublicKeysetHandle
    - IsOk
    - crypto::tink::internal::AddSignatureKeyGenV0
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - crypto::tink::internal::AddSignatureV0
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(SignatureV0KeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d2i_ECDSA_SIG
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:70,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:70,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:72,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:72,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:72,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:73,1
    - Dst: ECDSA_SIG_get0
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:78,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:78,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:82,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:87,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - der
    - key
    argTypes:
    - absl::string_view
    - EC_KEY*
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::DerToIeee
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc
    functionUses: 0
    functionsReached:
    - d2i_ECDSA_SIG
    - crypto::tink::internal::BignumToString
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - internal::SslUniquePtr::get
    - util::StatusOr::ok
    - absl::StrCat
    - ECDSA_SIG_get0
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> DerToIeee(absl::string_view
      der,\n                                                    const EC_KEY* key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<EcdsaRawSignBoringSsl>
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:99,1
    - Dst: crypto::tink::internal::EcGroupFromCurveType
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:103,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:104,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:105,1
    - Dst: EC_KEY_set_group
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:108,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:108,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:108,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:114,1
    - Dst: EC_KEY_set_public_key
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:117,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:117,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:120,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:120,1
    - Dst: BN_bin2bn
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:124,1
    - Dst: priv::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:124,1
    - Dst: priv::size
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:124,1
    - Dst: EC_KEY_set_private_key
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:125,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:125,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:125,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:126,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:128,1
    - Dst: crypto::tink::internal::GetSslErrors
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:128,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:132,1
    - Dst: EcdsaRawSignBoringSsl::EcdsaRawSignBoringSsl
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ' ec_key'
    - encoding
    argTypes:
    - subtle::SubtleUtilBoringSSL::EcKey
    - subtle::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 133
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 133
    functionName: crypto::tink::internal::EcdsaRawSignBoringSsl::New
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc
    functionUses: 8
    functionsReached:
    - EC_KEY_set_group
    - BN_bin2bn
    - EcdsaRawSignBoringSsl::EcdsaRawSignBoringSsl
    - auto::ok
    - crypto::tink::internal::GetSslErrors
    - std::move
    - absl::StrCat
    - priv::size
    - EC_KEY_set_public_key
    - crypto::tink::internal::EcGroupFromCurveType
    - util::StatusOr::ok
    - internal::CheckFipsCompatibility<EcdsaRawSignBoringSsl>
    - internal::SslUniquePtr::get
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::get
    - EC_KEY_set_private_key
    - priv::data
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<EcdsaRawSignBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<EcdsaRawSignBoringSsl>> EcdsaRawSignBoringSsl::New(const
      subtle::SubtleUtilBoringSSL::EcKey& ec_key,\n                           subtle::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:139,1
    - Dst: ECDSA_size
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:142,1
    - Dst: get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:142,1
    - Dst: ECDSA_sign
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:144,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:145,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:145,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:146,1
    - Dst: std::vector::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:146,1
    - Dst: get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:147,1
    - Dst: DerToIeee
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:151,1
    - Dst: absl::string_view
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:152,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:152,1
    - Dst: std::vector::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:152,1
    - Dst: get
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:153,1
    - Dst: auto::ok
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:154,1
    - Dst: auto::status
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:155,1
    - Dst: auto::value
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:157,1
    - Dst: std::string
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:160,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:160,1
    - Dst: std::vector::data
      Src: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: crypto::tink::internal::EcdsaRawSignBoringSsl::Sign
    functionSourceFile: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc
    functionUses: 0
    functionsReached:
    - std::vector::data
    - DerToIeee
    - absl::string_view
    - ECDSA_sign
    - auto::status
    - absl::string_view::size
    - auto::ok
    - std::string
    - crypto::tink::internal::ExtractStatus
    - ECDSA_size
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - reinterpret_cast<char*>
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - get
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> EcdsaRawSignBoringSsl::Sign(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:55,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:59,1
    - Dst: crypto::tink::internal::AddSignatureFips140_2
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:59,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/config_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddSignatureFips140_2
    - Not
    - IsOk
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureV0Test, Fips)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:63,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:68,1
    - Dst: crypto::tink::internal::AddSignatureFips140_2
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:68,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:73,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:74,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/config_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddSignatureFips140_2
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureV0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:78,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:83,1
    - Dst: crypto::tink::internal::AddSignatureFips140_2
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:83,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:88,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:88,1
    - Dst: EcdsaVerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:89,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:89,1
    - Dst: RsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:91,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:91,1
    - Dst: RsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:94,1
    - Dst: Get
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:94,1
    - Dst: Ed25519VerifyKeyManager
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:94,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/config_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddSignatureFips140_2
    - EcdsaVerifyKeyManager
    - IsOk
    - RsaSsaPkcs1VerifyKeyManager
    - Not
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - GTEST_SKIP
    - Ed25519VerifyKeyManager
    - RsaSsaPssVerifyKeyManager
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:107,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:112,1
    - Dst: crypto::tink::internal::AddSignatureKeyGenV0
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:114,1
    - Dst: crypto::tink::internal::AddSignatureFips140_2
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:114,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:117,1
    - Dst: GetParam
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:118,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:121,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:125,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:128,1
    - Dst: Sign
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:133,1
    - Dst: Verify
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/signature/internal/config_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - crypto::tink::internal::AddSignatureFips140_2
    - GetPublicKeysetHandle
    - IsOk
    - crypto::tink::internal::AddSignatureKeyGenV0
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - Verify
    - crypto::tink::internal::IsFipsEnabledInSsl
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(SignatureV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:137,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:142,1
    - Dst: crypto::tink::internal::AddSignatureKeyGenV0
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:144,1
    - Dst: crypto::tink::internal::AddSignatureFips140_2
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:144,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:147,1
    - Dst: SignatureKeyTemplates::Ed25519
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:149,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:149,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:154,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:154,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:155,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:155,1
    - Dst: Not
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/signature/internal/config_fips_140_2_test.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/signature/internal/config_fips_140_2_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - crypto::tink::internal::AddSignatureFips140_2
    - GetPublicKeysetHandle
    - IsOk
    - Not
    - crypto::tink::internal::AddSignatureKeyGenV0
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - SignatureKeyTemplates::Ed25519
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST(SignatureV0Test, GetPrimitiveNonFips1402KeyTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/signature/internal/config_v0.cc:39,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/signature/internal/config_v0.cc:40,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_v0.cc:41,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/signature/internal/config_v0.cc:44,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/signature/internal/config_v0.cc:45,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_v0.cc:46,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_v0.cc:50,1
    - Dst: absl::make_unique<EcdsaSignKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:51,1
    - Dst: absl::make_unique<EcdsaVerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_v0.cc:53,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_v0.cc:56,1
    - Dst: absl::make_unique<Ed25519SignKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:57,1
    - Dst: absl::make_unique<Ed25519VerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:58,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_v0.cc:59,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_v0.cc:62,1
    - Dst: absl::make_unique<RsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:63,1
    - Dst: absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:64,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/signature/internal/config_v0.cc:65,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
      Src: /src/tink/cc/signature/internal/config_v0.cc:68,1
    - Dst: absl::make_unique<RsaSsaPssSignKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:69,1
    - Dst: absl::make_unique<RsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/signature/internal/config_v0.cc:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 71
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::AddSignatureV0
    functionSourceFile: /src/tink/cc/signature/internal/config_v0.cc
    functionUses: 5
    functionsReached:
    - absl::make_unique<PublicKeyVerifyWrapper>
    - util::Status::ok
    - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
    - absl::make_unique<PublicKeySignWrapper>
    - absl::make_unique<RsaSsaPkcs1SignKeyManager>
    - absl::make_unique<RsaSsaPssVerifyKeyManager>
    - absl::make_unique<EcdsaVerifyKeyManager>
    - absl::make_unique<Ed25519VerifyKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<EcdsaSignKeyManager>
    - absl::make_unique<RsaSsaPssSignKeyManager>
    - absl::make_unique<Ed25519SignKeyManager>
    - absl::make_unique<RsaSsaPkcs1VerifyKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddSignatureV0(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:58,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:58,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:59,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:61,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:61,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:63,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:63,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:65,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc
    functionUses: 12
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HybridConfig::Register
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:78,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:79,1
    - Dst: crypto::tink::RegisterHpke
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:82,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:83,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:88,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:89,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:89,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:92,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:93,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:93,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:100,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:102,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:103,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:104,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:108,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:109,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:109,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:110,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:114,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:116,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:117,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:118,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:122,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:123,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:123,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:124,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - mode
    - ' keyset_filename'
    - ' input_filename'
    - ' output_filename'
    - context_info
    argTypes:
    - absl::string_view
    - std::string
    - std::string
    - std::string
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 129
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 129
    functionName: tink_cc_examples::HybridCli
    functionSourceFile: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - GetPrimitive
    - StatusOr::value
    - crypto::tink::HybridConfig::Register
    - tink_cc_examples::ReadJsonCleartextKeyset
    - StatusOr::status
    - tink_cc_examples::ReadFile
    - Decrypt
    - tink_cc_examples::WriteToFile
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::RegisterHpke
    - Encrypt
    linkageType: ''
    returnType: Status
    signature: "Status HybridCli(absl::string_view mode, const std::string& keyset_filename,\n
      \                const std::string& input_filename,\n                 const
      std::string& output_filename,\n                 absl::string_view context_info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:134,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:136,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:138,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:139,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:140,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:141,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:142,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:150,1
    - Dst: tink_cc_examples::HybridCli
      Src: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc
    functionUses: 0
    functionsReached:
    - ValidateParams
    - absl::GetFlag
    - absl::ParseCommandLine
    - tink_cc_examples::HybridCli
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:55,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:57,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:59,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:59,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:61,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/daead/deterministic_aead_cli.cc
    functionUses: 13
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:76,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:77,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:81,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:82,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:82,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:86,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:88,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:89,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:89,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:92,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:93,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:93,1
    - Dst: EncryptDeterministically
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:98,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:100,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:100,1
    - Dst: DecryptDeterministically
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:103,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:105,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:105,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - mode
    - ' keyset_filename'
    - ' input_filename'
    - ' output_filename'
    - associated_data
    argTypes:
    - absl::string_view
    - std::string
    - std::string
    - std::string
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 111
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionName: tink_cc_examples::DeterministicAeadCli
    functionSourceFile: /src/tink/cc/examples/daead/deterministic_aead_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - EncryptDeterministically
    - crypto::tink::DeterministicAeadConfig::Register
    - GetPrimitive
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - tink_cc_examples::ReadFile
    - DecryptDeterministically
    - tink_cc_examples::WriteToFile
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: Status
    signature: "Status DeterministicAeadCli(absl::string_view mode,\n                            const
      std::string& keyset_filename,\n                            const std::string&
      input_filename,\n                            const std::string& output_filename,\n
      \                           absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:116,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:118,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:120,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:121,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:122,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:123,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:124,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:133,1
    - Dst: tink_cc_examples::DeterministicAeadCli
      Src: /src/tink/cc/examples/daead/deterministic_aead_cli.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 4
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/tink/cc/examples/daead/deterministic_aead_cli.cc
    functionUses: 0
    functionsReached:
    - ValidateParams
    - absl::GetFlag
    - absl::ParseCommandLine
    - tink_cc_examples::DeterministicAeadCli
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:53,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:53,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:54,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:57,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:59,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:59,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:61,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc
    functionUses: 14
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SignatureConfig::Register
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:75,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:76,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:80,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:81,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:81,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:84,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:85,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:85,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:89,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:91,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:92,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:92,1
    - Dst: Sign
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:95,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:96,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:96,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:98,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:101,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:103,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:104,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:104,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:107,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:108,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:108,1
    - Dst: Verify
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - mode
    - ' keyset_filename'
    - ' input_filename'
    - ' signature_filename'
    argTypes:
    - absl::string_view
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 113
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 113
    functionName: tink_cc_examples::DigitalSignatureCli
    functionSourceFile: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - GetPrimitive
    - crypto::tink::SignatureConfig::Register
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - tink_cc_examples::ReadFile
    - Verify
    - tink_cc_examples::WriteToFile
    - crypto::tink::ConfigGlobalRegistry
    - Sign
    linkageType: ''
    returnType: Status
    signature: "Status DigitalSignatureCli(absl::string_view mode,\n                           const
      std::string& keyset_filename,\n                           const std::string&
      input_filename,\n                           const std::string& signature_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:118,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:120,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:122,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:123,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:124,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:125,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:137,1
    - Dst: tink_cc_examples::DigitalSignatureCli
      Src: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc
    functionUses: 0
    functionsReached:
    - ValidateParams
    - tink_cc_examples::DigitalSignatureCli
    - absl::GetFlag
    - absl::ParseCommandLine
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/aead/aead_cli.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:55,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/aead/aead_cli.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:57,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/aead/aead_cli.cc:59,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:59,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/aead/aead_cli.cc:61,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/aead/aead_cli.cc
    functionUses: 15
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/examples/aead/aead_cli.cc:75,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/aead/aead_cli.cc:76,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/aead/aead_cli.cc:80,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/aead/aead_cli.cc:81,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/aead/aead_cli.cc:81,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/aead/aead_cli.cc:85,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/aead/aead_cli.cc:87,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/aead/aead_cli.cc:88,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/aead/aead_cli.cc:88,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/aead/aead_cli.cc:91,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/aead/aead_cli.cc:92,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/aead/aead_cli.cc:92,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/aead/aead_cli.cc:98,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/aead/aead_cli.cc:99,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/aead/aead_cli.cc:99,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/examples/aead/aead_cli.cc:100,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/aead/aead_cli.cc:103,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/aead/aead_cli.cc:104,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/aead/aead_cli.cc:104,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/examples/aead/aead_cli.cc:105,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/aead/aead_cli.cc:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - mode
    - ' keyset_filename'
    - ' input_filename'
    - ' output_filename'
    - associated_data
    argTypes:
    - absl::string_view
    - std::string
    - std::string
    - std::string
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 110
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 110
    functionName: tink_cc_examples::AeadCli
    functionSourceFile: /src/tink/cc/examples/aead/aead_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - crypto::tink::DeterministicAeadConfig::Register
    - GetPrimitive
    - StatusOr::value
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - tink_cc_examples::ReadFile
    - Decrypt
    - tink_cc_examples::WriteToFile
    - crypto::tink::ConfigGlobalRegistry
    - Encrypt
    linkageType: ''
    returnType: Status
    signature: "Status AeadCli(absl::string_view mode, const std::string& keyset_filename,\n
      \              const std::string& input_filename,\n               const std::string&
      output_filename,\n               absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/aead/aead_cli.cc:115,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/aead/aead_cli.cc:117,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:119,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:120,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:121,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:122,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/aead/aead_cli.cc:123,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/aead/aead_cli.cc:131,1
    - Dst: tink_cc_examples::AeadCli
      Src: /src/tink/cc/examples/aead/aead_cli.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: main
    functionSourceFile: /src/tink/cc/examples/aead/aead_cli.cc
    functionUses: 0
    functionsReached:
    - ValidateParams
    - tink_cc_examples::AeadCli
    - absl::GetFlag
    - absl::ParseCommandLine
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:54,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:56,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:56,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:58,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc
    functionUses: 16
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:67,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:68,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:69,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:69,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:73,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:74,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:74,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:76,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:77,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:77,1
    - Dst: Status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:80,1
    - Dst: OkStatus
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ' handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: VerifyDerivedAeadKeyset
    functionSourceFile: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - GetPrimitive
    - StatusOr::status
    - Status
    - OkStatus
    - Decrypt
    - crypto::tink::ConfigGlobalRegistry
    - Encrypt
    linkageType: ''
    returnType: Status
    signature: Status VerifyDerivedAeadKeyset(const KeysetHandle& handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeyDerivationConfig::Register
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:95,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:96,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:97,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:98,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:102,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:103,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:103,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:107,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:109,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:110,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:110,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:113,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:114,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:114,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:118,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:119,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:119,1
    - Dst: VerifyDerivedAeadKeyset
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:121,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:122,1
    - Dst: tink_cc_examples::WriteJsonCleartextKeyset
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - ' keyset_filename'
    - ' salt_filename'
    - ' derived_keyset_filename'
    argTypes:
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: tink_cc_examples::KeyDerivationCli
    functionSourceFile: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - DeriveKeyset
    - crypto::tink::DeterministicAeadConfig::Register
    - GetPrimitive
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - tink_cc_examples::ReadFile
    - VerifyDerivedAeadKeyset
    - crypto::tink::KeyDerivationConfig::Register
    - tink_cc_examples::WriteJsonCleartextKeyset
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: Status
    signature: "Status KeyDerivationCli(const std::string& keyset_filename,\n                        const
      std::string& salt_filename,\n                        const std::string& derived_keyset_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:130,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:132,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:134,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:135,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:137,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:145,1
    - Dst: tink_cc_examples::KeyDerivationCli
      Src: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 148
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 148
    functionName: main
    functionSourceFile: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc
    functionUses: 0
    functionsReached:
    - ValidateParams
    - absl::GetFlag
    - absl::ParseCommandLine
    - tink_cc_examples::KeyDerivationCli
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc:48,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc:49,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc:49,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc:51,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - serialized_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: tink_walkthrough::LoadKeyset
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - StatusOr::status
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<crypto::tink::KeysetHandle>>
    signature: "StatusOr<std::unique_ptr<crypto::tink::KeysetHandle>> LoadKeyset(\n
      \   absl::string_view serialized_keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/examples/walkthrough/write_keyset.cc:52,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/write_keyset.cc:52,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/write_keyset.cc:53,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/write_keyset.cc:53,1
    - Dst: Write
      Src: /src/tink/cc/examples/walkthrough/write_keyset.cc:54,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/examples/walkthrough/write_keyset.cc:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' keyset'
    - output_stream
    - ' keyset_encryption_aead'
    argTypes:
    - crypto::tink::KeysetHandle
    - std::unique_ptr<std::ostream>
    - crypto::tink::Aead
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: tink_walkthrough::WriteEncryptedKeyset
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_keyset.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - StatusOr::get
    - std::move
    - StatusOr::status
    - crypto::tink::JsonKeysetWriter::New
    - Write
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status WriteEncryptedKeyset(\n    const crypto::tink::KeysetHandle&
      keyset,\n    std::unique_ptr<std::ostream> output_stream,\n    const crypto::tink::Aead&
      keyset_encryption_aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/examples/walkthrough/create_keyset.cc:41,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/examples/walkthrough/create_keyset.cc:44,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/create_keyset.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: tink_walkthrough::CreateAead128GcmKeyset
    functionSourceFile: /src/tink/cc/examples/walkthrough/create_keyset.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::AeadKeyTemplates::Aes128Gcm
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<KeysetHandle>>
    signature: StatusOr<std::unique_ptr<KeysetHandle>> CreateAead128GcmKeyset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:50,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:51,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:52,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:52,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' keyset_handle'
    - palintext
    - associated_data
    argTypes:
    - KeysetHandle
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: tink_walkthrough::AeadEncrypt
    functionSourceFile: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - GetPrimitive
    - StatusOr::status
    - crypto::tink::ConfigGlobalRegistry
    - Encrypt
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: "StatusOr<std::string> AeadEncrypt(const KeysetHandle& keyset_handle,\n
      \                                 absl::string_view palintext,\n                                  absl::string_view
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:69,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:70,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:71,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:71,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ' keyset_handle'
    - ciphertext
    - associated_data
    argTypes:
    - KeysetHandle
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: tink_walkthrough::AeadDecrypt
    functionSourceFile: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - GetPrimitive
    - StatusOr::status
    - Decrypt
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: "StatusOr<std::string> AeadDecrypt(const KeysetHandle& keyset_handle,\n
      \                                 absl::string_view ciphertext,\n                                  absl::string_view
      associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc:56,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc:57,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc:57,1
    - Dst: crypto::tink::KeysetHandle::Read
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - serialized_encrypted_keyset
    - ' keyset_encryption_aead'
    argTypes:
    - absl::string_view
    - crypto::tink::Aead
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: tink_walkthrough::LoadKeyset
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - std::move
    - StatusOr::status
    - crypto::tink::KeysetHandle::Read
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "StatusOr<std::unique_ptr<KeysetHandle>> LoadKeyset(\n    absl::string_view
      serialized_encrypted_keyset,\n    const crypto::tink::Aead& keyset_encryption_aead)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:58,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:58,1
    - Dst: StatusIs
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: tink_walkthrough::TEST
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc
    functionUses: 0
    functionsReached:
    - tink_walkthrough::LoadKeyset
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(LoadKeysetTest, LoadKeysetFailsWithInvalidKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:66,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:66,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:71,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:74,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:78,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:78,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: tink_walkthrough::TEST
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc
    functionUses: 0
    functionsReached:
    - GetPrimitive
    - IsOk
    - ASSERT_THAT
    - tink_walkthrough::LoadKeyset
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - crypto::tink::ConfigGlobalRegistry
    - Encrypt
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST(LoadKeysetTest, LoadKeysetSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - serialized_master_key_keyset
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: tink_walkthrough::FakeKmsClient::FakeKmsClient
    functionSourceFile: /src/tink/cc/examples/walkthrough/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeKmsClient(absl::string_view serialized_master_key_keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: tink_walkthrough::CreateAead128GcmKeysetTest::TearDown
    functionSourceFile: /src/tink/cc/examples/walkthrough/create_keyset_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:49,1
    - Dst: tink_walkthrough::CreateAead128GcmKeyset
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:49,1
    - Dst: Not
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:49,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/create_keyset_test.cc
    functionUses: 0
    functionsReached:
    - tink_walkthrough::CreateAead128GcmKeyset
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CreateAead128GcmKeysetTest,\n       CreateAead128GcmKeysetFailsIfAeadNotRegistered)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:53,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:53,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:53,1
    - Dst: tink_walkthrough::CreateAead128GcmKeyset
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:55,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:56,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:60,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:63,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:67,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:67,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/create_keyset_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/create_keyset_test.cc
    functionUses: 0
    functionsReached:
    - tink_walkthrough::CreateAead128GcmKeyset
    - GetPrimitive
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - crypto::tink::ConfigGlobalRegistry
    - Encrypt
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(CreateAead128GcmKeysetTest, CreateAead128GcmKeysetSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc:50,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc:50,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc:51,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc:51,1
    - Dst: crypto::tink::CleartextKeysetHandle::Write
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc:52,1
    - Dst: get
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' keyset'
    - output_stream
    argTypes:
    - crypto::tink::KeysetHandle
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: tink_walkthrough::WriteKeyset
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - std::move
    - StatusOr::status
    - crypto::tink::CleartextKeysetHandle::Write
    - crypto::tink::JsonKeysetWriter::New
    - get
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status WriteKeyset(\n    const crypto::tink::KeysetHandle&
      keyset,\n    std::unique_ptr<std::ostream> output_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:89,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tink_walkthrough::WriteKeysetTest::SetUp
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_keyset_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::AeadConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakeKmsClient>
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:94,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:97,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:103,1
    - Dst: tink_walkthrough::WriteEncryptedKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_keyset_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - tink_walkthrough::WriteEncryptedKeyset
    - tink_walkthrough::LoadKeyset
    - auto::GetAead
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<FakeKmsClient>
    linkageType: ''
    returnType: void
    signature: void TEST_F(WriteKeysetTest, WriteEncryptedKeysetFailsWithNullOutputStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakeKmsClient>
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:110,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:113,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:117,1
    - Dst: absl::make_unique<std::ostream>
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:120,1
    - Dst: tink_walkthrough::WriteEncryptedKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:121,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:121,1
    - Dst: Not
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_keyset_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - std::move
    - absl::make_unique<std::ostream>
    - ASSERT_THAT
    - tink_walkthrough::WriteEncryptedKeyset
    - tink_walkthrough::LoadKeyset
    - auto::GetAead
    - EXPECT_THAT
    - absl::make_unique<FakeKmsClient>
    linkageType: ''
    returnType: void
    signature: void TEST_F(WriteKeysetTest, WriteEncryptedKeysetFailsWhenStreamFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakeKmsClient>
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:127,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:130,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:134,1
    - Dst: absl::make_unique<std::ostream>
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:138,1
    - Dst: tink_walkthrough::WriteEncryptedKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:139,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:141,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:143,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:146,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:152,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:157,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:158,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:160,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:164,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:164,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/write_keyset_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 3
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_keyset_test.cc
    functionUses: 0
    functionsReached:
    - GetPrimitive
    - IsOk
    - std::move
    - std::stringbuf::str
    - absl::make_unique<std::ostream>
    - ASSERT_THAT
    - tink_walkthrough::WriteEncryptedKeyset
    - tink_walkthrough::LoadKeyset
    - auto::GetAead
    - EXPECT_THAT
    - Decrypt
    - crypto::tink::ConfigGlobalRegistry
    - IsOkAndHolds
    - Encrypt
    - absl::make_unique<FakeKmsClient>
    linkageType: ''
    returnType: void
    signature: void TEST_F(WriteKeysetTest, WriteEncryptedKeysetWithValidInputs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:61,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:61,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:63,1
    - Dst: absl::make_unique<std::ostream>
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:67,1
    - Dst: tink_walkthrough::WriteKeyset
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:67,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:70,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:71,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:76,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:77,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:79,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:82,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:89,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:89,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:90,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:92,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:92,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: tink_walkthrough::TEST
    functionSourceFile: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc
    functionUses: 0
    functionsReached:
    - GetPrimitive
    - IsOk
    - std::move
    - std::stringbuf::str
    - absl::make_unique<std::ostream>
    - ASSERT_THAT
    - tink_walkthrough::WriteKeyset
    - tink_walkthrough::LoadKeyset
    - EXPECT_THAT
    - Decrypt
    - IsOkAndHolds
    - crypto::tink::ConfigGlobalRegistry
    - Encrypt
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST(WriteCleartextKeysetTest, WriteKeysetSerializesCorrectly)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:95,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: tink_walkthrough::LoadKeysetTest::SetUp
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::AeadConfig::Register
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakeKmsClient>
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:100,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:103,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:107,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - StatusOr::status
    - ASSERT_THAT
    - tink_walkthrough::LoadKeyset
    - auto::GetAead
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<FakeKmsClient>
    linkageType: ''
    returnType: void
    signature: void TEST_F(LoadKeysetTest, LoadKeysetFailsWhenInvalidKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<FakeKmsClient>
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:112,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:115,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:119,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:121,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:123,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:127,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:129,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:132,1
    - Dst: Encrypt
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:140,1
    - Dst: Decrypt
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:140,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: tink_walkthrough::TEST_F
    functionSourceFile: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc
    functionUses: 0
    functionsReached:
    - GetPrimitive
    - IsOk
    - ASSERT_THAT
    - tink_walkthrough::LoadKeyset
    - auto::GetAead
    - EXPECT_THAT
    - Decrypt
    - crypto::tink::ConfigGlobalRegistry
    - IsOkAndHolds
    - Encrypt
    - absl::make_unique<FakeKmsClient>
    linkageType: ''
    returnType: void
    signature: void TEST_F(LoadKeysetTest, LoadKeysetSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StartsWith
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: tink_walkthrough::FakeKmsClient::DoesSupport
    functionSourceFile: /src/tink/cc/examples/walkthrough/test_util.cc
    functionUses: 0
    functionsReached:
    - absl::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool FakeKmsClient::DoesSupport(absl::string_view key_uri) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:44,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:45,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:45,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:46,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: tink_walkthrough::FakeKmsClient::GetAead
    functionSourceFile: /src/tink/cc/examples/walkthrough/test_util.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - LoadKeyset
    - GetPrimitive
    - StatusOr::status
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Aead>>
    signature: "StatusOr<std::unique_ptr<Aead>> FakeKmsClient::GetAead(\n    absl::string_view
      key_uri) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StartsWith
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: tink_walkthrough::AlwaysFailingFakeKmsClient::DoesSupport
    functionSourceFile: /src/tink/cc/examples/walkthrough/test_util.cc
    functionUses: 0
    functionsReached:
    - absl::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool AlwaysFailingFakeKmsClient::DoesSupport(absl::string_view key_uri)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/examples/walkthrough/test_util.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tink_walkthrough::AlwaysFailingFakeKmsClient::GetAead
    functionSourceFile: /src/tink/cc/examples/walkthrough/test_util.cc
    functionUses: 0
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Aead>>
    signature: "StatusOr<std::unique_ptr<Aead>> AlwaysFailingFakeKmsClient::GetAead(\n
      \   absl::string_view key_uri) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:58,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:58,1
    - Dst: tink_walkthrough::LoadKeyset
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:61,1
    - Dst: tink_walkthrough::AeadEncrypt
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:67,1
    - Dst: tink_walkthrough::AeadDecrypt
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:67,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: tink_walkthrough::TEST
    functionSourceFile: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc
    functionUses: 0
    functionsReached:
    - tink_walkthrough::AeadDecrypt
    - IsOk
    - tink_walkthrough::AeadEncrypt
    - ASSERT_THAT
    - tink_walkthrough::LoadKeyset
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: void
    signature: void TEST(LoadKeysetTest, EncryptDecrypt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::ifstream>
      Src: /src/tink/cc/examples/util/util.cc:52,1
    - Dst: auto::open
      Src: /src/tink/cc/examples/util/util.cc:53,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/examples/util/util.cc:54,1
    - Dst: std::move
      Src: /src/tink/cc/examples/util/util.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: tink_cc_examples::GetJsonKeysetReader
    functionSourceFile: /src/tink/cc/examples/util/util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JsonKeysetReader::New
    - auto::open
    - std::move
    - absl::make_unique<std::ifstream>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<KeysetReader>>
    signature: "StatusOr<std::unique_ptr<KeysetReader>> GetJsonKeysetReader(\n    const
      std::string& filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::ofstream>
      Src: /src/tink/cc/examples/util/util.cc:59,1
    - Dst: auto::open
      Src: /src/tink/cc/examples/util/util.cc:60,1
    - Dst: crypto::tink::JsonKeysetWriter::New
      Src: /src/tink/cc/examples/util/util.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/examples/util/util.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: tink_cc_examples::GetJsonKeysetWriter
    functionSourceFile: /src/tink/cc/examples/util/util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JsonKeysetWriter::New
    - std::move
    - auto::open
    - absl::make_unique<std::ofstream>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JsonKeysetWriter>>
    signature: "StatusOr<std::unique_ptr<JsonKeysetWriter>> GetJsonKeysetWriter(\n
      \   const std::string& filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tink_cc_examples::GetJsonKeysetReader
      Src: /src/tink/cc/examples/util/util.cc:69,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/util/util.cc:70,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/util/util.cc:70,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/examples/util/util.cc:71,1
    - Dst: std::move
      Src: /src/tink/cc/examples/util/util.cc:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: tink_cc_examples::ReadJsonCleartextKeyset
    functionSourceFile: /src/tink/cc/examples/util/util.cc
    functionUses: 5
    functionsReached:
    - tink_cc_examples::GetJsonKeysetReader
    - StatusOr::ok
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - StatusOr::status
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "StatusOr<std::unique_ptr<KeysetHandle>> ReadJsonCleartextKeyset(\n
      \   const std::string& filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tink_cc_examples::GetJsonKeysetWriter
      Src: /src/tink/cc/examples/util/util.cc:77,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/util/util.cc:78,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/util/util.cc:78,1
    - Dst: crypto::tink::CleartextKeysetHandle::Write
      Src: /src/tink/cc/examples/util/util.cc:79,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/examples/util/util.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' filename'
    - ' keyset_handle'
    argTypes:
    - std::string
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: tink_cc_examples::WriteJsonCleartextKeyset
    functionSourceFile: /src/tink/cc/examples/util/util.cc
    functionUses: 1
    functionsReached:
    - StatusOr::ok
    - StatusOr::get
    - StatusOr::status
    - crypto::tink::CleartextKeysetHandle::Write
    - tink_cc_examples::GetJsonKeysetWriter
    linkageType: ''
    returnType: Status
    signature: "Status WriteJsonCleartextKeyset(const std::string& filename,\n                                const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ifstream::open
      Src: /src/tink/cc/examples/util/util.cc:85,1
    - Dst: std::ifstream::is_open
      Src: /src/tink/cc/examples/util/util.cc:86,1
    - Dst: Status
      Src: /src/tink/cc/examples/util/util.cc:87,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/examples/util/util.cc:88,1
    - Dst: std::ifstream::rdbuf
      Src: /src/tink/cc/examples/util/util.cc:91,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/examples/util/util.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' filename'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: tink_cc_examples::ReadFile
    functionSourceFile: /src/tink/cc/examples/util/util.cc
    functionUses: 5
    functionsReached:
    - std::ifstream::rdbuf
    - Status
    - absl::StrCat
    - std::ifstream::open
    - std::stringstream::str
    - std::ifstream::is_open
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: StatusOr<std::string> ReadFile(const std::string& filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ofstream::is_open
      Src: /src/tink/cc/examples/util/util.cc:99,1
    - Dst: Status
      Src: /src/tink/cc/examples/util/util.cc:100,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/examples/util/util.cc:101,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/examples/util/util.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' data_to_write'
    - ' filename'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: tink_cc_examples::WriteToFile
    functionSourceFile: /src/tink/cc/examples/util/util.cc
    functionUses: 4
    functionsReached:
    - Status
    - crypto::tink::util::OkStatus
    - absl::StrCat
    - std::ofstream::is_open
    linkageType: ''
    returnType: Status
    signature: "Status WriteToFile(const std::string& data_to_write,\n                   const
      std::string& filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/mac/mac_cli.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:58,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/mac/mac_cli.cc:60,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:60,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/mac/mac_cli.cc:62,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:62,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/mac/mac_cli.cc:64,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/mac/mac_cli.cc
    functionUses: 17
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/examples/mac/mac_cli.cc:77,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:78,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/mac/mac_cli.cc:82,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:83,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/mac/mac_cli.cc:83,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/mac/mac_cli.cc:87,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/mac/mac_cli.cc:89,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:90,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/mac/mac_cli.cc:90,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/mac/mac_cli.cc:93,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:94,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/mac/mac_cli.cc:94,1
    - Dst: ComputeMac
      Src: /src/tink/cc/examples/mac/mac_cli.cc:100,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:101,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/mac/mac_cli.cc:101,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/mac/mac_cli.cc:103,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/mac/mac_cli.cc:106,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:107,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/mac/mac_cli.cc:108,1
    - Dst: exit
      Src: /src/tink/cc/examples/mac/mac_cli.cc:109,1
    - Dst: VerifyMac
      Src: /src/tink/cc/examples/mac/mac_cli.cc:113,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/mac/mac_cli.cc:114,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - mode
    - keyset_filename
    - ' data_filename'
    - ' tag_filename'
    argTypes:
    - absl::string_view
    - std::string
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 117
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 117
    functionName: tink_cc_examples::MacCli
    functionSourceFile: /src/tink/cc/examples/mac/mac_cli.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - GetPrimitive
    - crypto::tink::MacConfig::Register
    - ComputeMac
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - tink_cc_examples::ReadFile
    - exit
    - tink_cc_examples::WriteToFile
    - crypto::tink::ConfigGlobalRegistry
    - VerifyMac
    linkageType: ''
    returnType: Status
    signature: "Status MacCli(absl::string_view mode, const std::string keyset_filename,\n
      \             const std::string& data_filename,\n              const std::string&
      tag_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/mac/mac_cli.cc:122,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/mac/mac_cli.cc:124,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:126,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:127,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:128,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/mac/mac_cli.cc:129,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/mac/mac_cli.cc:138,1
    - Dst: tink_cc_examples::MacCli
      Src: /src/tink/cc/examples/mac/mac_cli.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: main
    functionSourceFile: /src/tink/cc/examples/mac/mac_cli.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - ValidateParams
    - absl::GetFlag
    - absl::ParseCommandLine
    - tink_cc_examples::MacCli
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:52,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:52,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:54,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:54,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:56,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_verify.cc
    functionUses: 18
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtSignatureRegister
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:69,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:70,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:73,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:74,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:74,1
    - Dst: JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:76,1
    - Dst: tink_cc_examples::ReadFile
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:79,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:80,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:80,1
    - Dst: crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:83,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:84,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:84,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:87,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:89,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:90,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:90,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' jwk_set_filename'
    - audience
    - ' token_filename'
    argTypes:
    - std::string
    - absl::string_view
    - std::string
    constantsTouched: []
    func_position:
      end: 93
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 93
    functionName: tink_cc_examples::JwtVerify
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_verify.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - GetPrimitive
    - crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
    - StatusOr::status
    - tink_cc_examples::ReadFile
    - VerifyAndDecode
    - crypto::tink::JwtSignatureRegister
    - JwkSetToPublicKeysetHandle
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: Status
    signature: "Status JwtVerify(const std::string& jwk_set_filename,\n                 absl::string_view
      audience,\n                 const std::string& token_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:98,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:100,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:102,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:103,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:104,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:109,1
    - Dst: tink_cc_examples::JwtVerify
      Src: /src/tink/cc/examples/jwt/jwt_verify.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: main
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_verify.cc
    functionUses: 0
    functionsReached:
    - tink_cc_examples::JwtVerify
    - ValidateParams
    - absl::GetFlag
    - absl::ParseCommandLine
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:46,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:46,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:48,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc
    functionUses: 19
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtSignatureRegister
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:59,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:60,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:63,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:64,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:64,1
    - Dst: JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:67,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:68,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:68,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' public_keyset_filename'
    - ' public_jwk_set_filename'
    argTypes:
    - std::string
    - std::string
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: tink_cc_examples::JwtGeneratePublicJwkSet
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - JwkSetFromPublicKeysetHandle
    - crypto::tink::JwtSignatureRegister
    - tink_cc_examples::WriteToFile
    linkageType: ''
    returnType: Status
    signature: "Status JwtGeneratePublicJwkSet(const std::string& public_keyset_filename,\n
      \                              const std::string& public_jwk_set_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:76,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:78,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:81,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:83,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:89,1
    - Dst: tink_cc_examples::JwtGeneratePublicJwkSet
      Src: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc
    functionUses: 0
    functionsReached:
    - ValidateParams
    - absl::GetFlag
    - tink_cc_examples::JwtGeneratePublicJwkSet
    - absl::ParseCommandLine
    - CHECK_OK
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:53,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:53,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:55,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:55,1
    - Dst: CHECK
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:57,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: ValidateParams
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_sign.cc
    functionUses: 20
    functionsReached:
    - absl::GetFlag
    - CHECK
    linkageType: ''
    returnType: void
    signature: void ValidateParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtSignatureRegister
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:69,1
    - Dst: Status::ok
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:70,1
    - Dst: tink_cc_examples::ReadJsonCleartextKeyset
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:74,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:75,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:75,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:77,1
    - Dst: absl::Now
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:79,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:79,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:81,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:81,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:83,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:85,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:86,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:86,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:88,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:89,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:89,1
    - Dst: tink_cc_examples::WriteToFile
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ' keyset_filename'
    - audience
    - ' token_filename'
    argTypes:
    - std::string
    - absl::string_view
    - std::string
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: tink_cc_examples::JwtSign
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_sign.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - GetPrimitive
    - SignAndEncode
    - StatusOr::status
    - tink_cc_examples::ReadJsonCleartextKeyset
    - crypto::tink::JwtSignatureRegister
    - absl::Now
    - tink_cc_examples::WriteToFile
    - crypto::tink::ConfigGlobalRegistry
    - RawJwtBuilder
    - absl::Seconds
    linkageType: ''
    returnType: Status
    signature: "Status JwtSign(const std::string& keyset_filename, absl::string_view
      audience,\n               const std::string& token_filename)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ParseCommandLine
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:97,1
    - Dst: ValidateParams
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:99,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:101,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:102,1
    - Dst: absl::GetFlag
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:103,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:110,1
    - Dst: tink_cc_examples::JwtSign
      Src: /src/tink/cc/examples/jwt/jwt_sign.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/tink/cc/examples/jwt/jwt_sign.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - ValidateParams
    - absl::GetFlag
    - absl::ParseCommandLine
    - tink_cc_examples::JwtSign
    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: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: crypto::tink::KeyDerivationConfig::KeyDerivationConfig
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KeyDerivationConfig()
  - 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: ~KeysetDeriver()
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeysetDeriver()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:43,1
    - Dst: PrimitiveSet<KeysetDeriver>*::get_primary
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:47,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - deriver_set
    argTypes:
    - PrimitiveSet<KeysetDeriver>*
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<KeysetDeriver>*::get_primary
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<KeysetDeriver>* deriver_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - deriver_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<KeysetDeriver>>
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: crypto::tink::KeysetDeriverSetWrapper::KeysetDeriverSetWrapper
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void KeysetDeriverSetWrapper(\n      std::unique_ptr<PrimitiveSet<KeysetDeriver>>
      deriver_set)"
  - 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: ~KeysetDeriverSetWrapper() override
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KeysetDeriverSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:71,1
    - Dst: auto::status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:71,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:73,1
    - Dst: auto::value
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:73,1
    - Dst: key_size
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:75,1
    - Dst: key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - salt
    - ' deriver'
    argTypes:
    - absl::string_view
    - KeysetDeriver
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 80
    functionName: crypto::tink::DeriveAndGetKeyData
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - DeriveKeyset
    - CleartextKeysetHandle::GetKeyset
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - auto::value
    - key
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<KeyData>
    signature: "crypto::tink::util::StatusOr<KeyData> DeriveAndGetKeyData(\n    absl::string_view
      salt, const KeysetDeriver& deriver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_all_in_keyset_order
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:85,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:86,1
    - Dst: DeriveAndGetKeyData
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:89,1
    - Dst: get_primitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:89,1
    - Dst: crypto::tink::util::StatusOr<KeyData>::ok
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:90,1
    - Dst: crypto::tink::util::StatusOr<KeyData>::status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:90,1
    - Dst: Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:91,1
    - Dst: crypto::tink::util::StatusOr<KeyData>::value
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:91,1
    - Dst: Keyset::Key*::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:92,1
    - Dst: get_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:92,1
    - Dst: Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:93,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:93,1
    - Dst: Keyset::Key*::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:94,1
    - Dst: get_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:94,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:96,1
    - Dst: get_primary
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:96,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - salt
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: crypto::tink::KeysetDeriverSetWrapper::DeriveKeyset
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<KeyData>::ok
    - get_output_prefix_type
    - get_primitive
    - crypto::tink::util::StatusOr<KeyData>::status
    - get_primary
    - Keyset::Key*::set_output_prefix_type
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - DeriveAndGetKeyData
    - Keyset::set_primary_key_id
    - Keyset::Key*::mutable_key_data
    - get_key_id
    - Keyset::Key*::set_status
    - get_status
    - Keyset::Key*::set_key_id
    - Keyset::add_key
    - get_all_in_keyset_order
    - crypto::tink::util::StatusOr<KeyData>::value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: crypto::tink::util::StatusOr<std::unique_ptr<KeysetHandle>> KeysetDeriverSetWrapper::DeriveKeyset(absl::string_view
      salt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:105,1
    - Dst: std::unique_ptr<PrimitiveSet<KeysetDeriver>>::get
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:105,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:106,1
    - Dst: absl::make_unique<KeysetDeriverSetWrapper>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - deriver_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<KeysetDeriver>>
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: crypto::tink::KeysetDeriverWrapper::Wrap
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - std::unique_ptr<PrimitiveSet<KeysetDeriver>>::get
    - std::move
    - Validate
    - absl::make_unique<KeysetDeriverSetWrapper>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<KeysetDeriver>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<KeysetDeriver>> KeysetDeriverWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<KeysetDeriver>> deriver_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:79,1
    - Dst: google::crypto::tink::HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:80,1
    - Dst: google::crypto::tink::HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:81,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:82,1
    - Dst: google::crypto::tink::HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:87,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:88,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: crypto::tink::PrfKeyFromRfcVector
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::HexDecodeOrDie
    - crypto::tink::test::AsKeyData
    - google::crypto::tink::HkdfPrfKey::set_key_value
    - google::crypto::tink::HkdfPrfKey::set_version
    - google::crypto::tink::HkdfPrfKey::mutable_params
    linkageType: ''
    returnType: KeyData
    signature: KeyData PrfKeyFromRfcVector()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: crypto::tink::SaltFromRfcVector
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::HexDecodeOrDie
    linkageType: ''
    returnType: std::string
    signature: std::string SaltFromRfcVector()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:109,1
    - Dst: std::make_unique<AesGcmKey>
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:116,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:117,1
    - Dst: RestrictedData
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:118,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:118,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:119,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key_size
    - variant
    - secret
    - id_requirement
    argTypes:
    - int
    - AesGcmParameters::Variant
    - absl::string_view
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 122
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 122
    functionName: crypto::tink::CreateAesGcmKey
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<AesGcmKey>
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::test::HexDecodeOrDie
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::AesGcmKey::Create
    linkageType: ''
    returnType: std::unique_ptr<AesGcmKey>
    signature: "std::unique_ptr<AesGcmKey> CreateAesGcmKey(int key_size,\n                                           AesGcmParameters::Variant
      variant,\n                                           absl::string_view secret,\n
      \                                          absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAesGcmKey
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:128,1
    - Dst: substr
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:131,1
    - Dst: crypto::tink::CreateAesGcmKey
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:135,1
    - Dst: substr
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:138,1
    - Dst: crypto::tink::CreateAesGcmKey
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:142,1
    - Dst: substr
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 150
    functionName: crypto::tink::TestVectors
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_test.cc
    functionUses: 0
    functionsReached:
    - substr
    - crypto::tink::CreateAesGcmKey
    linkageType: ''
    returnType: std::vector<std::vector<std::shared_ptr<Key>>>
    signature: std::vector<std::vector<std::shared_ptr<Key>>> TestVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:155,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:155,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:160,1
    - Dst: GetParameters
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:162,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:164,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:167,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:168,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:170,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:173,1
    - Dst: google::crypto::tink::PrfBasedDeriverKey::set_version
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:177,1
    - Dst: google::crypto::tink::PrfBasedDeriverKey::mutable_prf_key
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:178,1
    - Dst: crypto::tink::PrfKeyFromRfcVector
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:178,1
    - Dst: google::crypto::tink::PrfBasedDeriverKey::mutable_params
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:179,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:183,1
    - Dst: Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:184,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:185,1
    - Dst: Keyset::Key*::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:186,1
    - Dst: Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:187,1
    - Dst: KeyTemplate::output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:188,1
    - Dst: Keyset::Key*::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:189,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:189,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - derived_keys
    argTypes:
    - std::vector<std::shared_ptr<Key>>
    constantsTouched: []
    func_position:
      end: 193
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 193
    functionName: crypto::tink::CreatePrfBasedDeriverHandle
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_test.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key*::set_output_prefix_type
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - Keyset::Key*::mutable_key_data
    - KeyTemplate::output_prefix_type
    - google::crypto::tink::PrfBasedDeriverKey::mutable_prf_key
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - google::crypto::tink::PrfBasedDeriverKey::mutable_params
    - Keyset::set_primary_key_id
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - util::StatusOr::ok
    - GetIdRequirement
    - Keyset::Key*::set_key_id
    - google::crypto::tink::PrfBasedDeriverKey::set_version
    - GetParameters
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::test::AsKeyData
    - util::StatusOr::get
    - util::StatusOr::status
    - crypto::tink::PrfKeyFromRfcVector
    - crypto::tink::internal::ExtractStatus
    - Keyset::Key*::set_status
    - Keyset::add_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> CreatePrfBasedDeriverHandle(\n
      \   std::vector<std::shared_ptr<Key>> derived_keys)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:201,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:201,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:204,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:205,1
    - Dst: absl::make_unique<internal::PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:208,1
    - Dst: crypto::tink::RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:208,1
    - Dst: GetParam
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:210,1
    - Dst: crypto::tink::CreatePrfBasedDeriverHandle
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:215,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:215,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:215,1
    - Dst: std::vector::size
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:215,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:217,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:218,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:221,1
    - Dst: crypto::tink::SaltFromRfcVector
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:223,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:223,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:223,1
    - Dst: std::vector::size
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:223,1
    - Dst: std::vector::size
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:226,1
    - Dst: GetKey
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:226,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:227,1
    - Dst: std::ref
      Src: /src/tink/cc/keyderivation/keyset_deriver_test.cc:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 229
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    - IsOk
    - std::vector::size
    - EXPECT_THAT
    - GetParam
    - std::ref
    - crypto::tink::SaltFromRfcVector
    - GetKey
    - absl::make_unique<KeysetDeriverWrapper>
    - crypto::tink::RegisterAesGcmProtoSerialization
    - crypto::tink::size
    - Eq
    - crypto::tink::CreatePrfBasedDeriverHandle
    - DeriveKeyset
    - absl::make_unique<internal::PrfBasedDeriverKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_P(KeysetDeriverTest, DeriveKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:53,1
    - Dst: KeysetDeriverWrapper
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:53,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:54,1
    - Dst: HasSubstr
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - KeysetDeriverWrapper
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:58,1
    - Dst: KeysetDeriverWrapper
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:59,1
    - Dst: absl::make_unique<PrimitiveSet<KeysetDeriver>>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:60,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:62,1
    - Dst: HasSubstr
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - KeysetDeriverWrapper
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<PrimitiveSet<KeysetDeriver>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<KeysetDeriver>>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:66,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:68,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:69,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:72,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:72,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:78,1
    - Dst: KeysetDeriverWrapper
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:79,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:80,1
    - Dst: HasSubstr
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::AddPrimitive
    - IsOk
    - std::move
    - StatusIs
    - KeysetDeriverWrapper
    - KeysetInfo::KeyInfo::set_key_id
    - absl::make_unique<test::FakeKeysetDeriver>
    - HasSubstr
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - absl::make_unique<PrimitiveSet<KeysetDeriver>>
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapNoPrimary)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<KeysetDeriver>>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:84,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:86,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:87,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:88,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:89,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:92,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:95,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:95,1
    - Dst: auto::value
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:95,1
    - Dst: KeysetDeriverWrapper
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:99,1
    - Dst: auto::value
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:104,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:106,1
    - Dst: auto::value
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:108,1
    - Dst: Keyset::primary_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:108,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:109,1
    - Dst: Keyset::key_size
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:109,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:110,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:110,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:112,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:112,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:113,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:113,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:114,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:114,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - KeysetDeriverWrapper
    - ASSERT_THAT
    - KeysetInfo::KeyInfo::set_type_url
    - Keyset::key_size
    - Keyset::primary_key_id
    - auto::AddPrimitive
    - IsOk
    - absl::make_unique<test::FakeKeysetDeriver>
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_status
    - absl::make_unique<PrimitiveSet<KeysetDeriver>>
    - CleartextKeysetHandle::GetKeyset
    - KeysetInfo::KeyInfo::set_key_id
    - Eq
    - Keyset::key
    - auto::set_primary
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapSingle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<KeysetDeriver>>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:118,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:122,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:123,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:124,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:127,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:128,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:131,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:132,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:134,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:135,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:136,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:137,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:140,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:143,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:143,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:144,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:146,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:147,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:148,1
    - Dst: KeysetInfo::KeyInfo::set_type_url
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:151,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:151,1
    - Dst: absl::make_unique<test::FakeKeysetDeriver>
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:153,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:154,1
    - Dst: KeysetDeriverWrapper
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:158,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:162,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:165,1
    - Dst: Keyset::primary_key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:165,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:166,1
    - Dst: Keyset::key_size
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:166,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:166,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:168,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:170,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:170,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:170,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:174,1
    - Dst: Keyset::Key::status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:174,1
    - Dst: KeysetInfo::KeyInfo::status
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:175,1
    - Dst: Keyset::Key::key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:175,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:175,1
    - Dst: KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:176,1
    - Dst: Keyset::Key::output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:176,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:176,1
    - Dst: KeysetInfo::KeyInfo::output_prefix_type
      Src: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 178
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - KeysetDeriverWrapper
    - Keyset::Key::key_id
    - ASSERT_THAT
    - KeysetInfo::KeyInfo::output_prefix_type
    - KeysetInfo::KeyInfo::set_type_url
    - absl::StrCat
    - Keyset::key_size
    - KeysetInfo::KeyInfo::key_id
    - Keyset::primary_key_id
    - auto::AddPrimitive
    - IsOk
    - Keyset::Key::status
    - absl::make_unique<test::FakeKeysetDeriver>
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_status
    - absl::make_unique<PrimitiveSet<KeysetDeriver>>
    - CleartextKeysetHandle::GetKeyset
    - KeysetInfo::KeyInfo::set_key_id
    - std::vector::push_back
    - Eq
    - KeysetInfo::KeyInfo::status
    - Keyset::key
    - DeriveKeyset
    - auto::set_primary
    - Keyset::Key::output_prefix_type
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(KeysetDeriverWrapperTest, WrapMultiple)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:33,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:34,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:35,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:41,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:42,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:46,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:47,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:48,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:53,1
    - Dst: absl::make_unique<internal::PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_config.cc:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: crypto::tink::KeyDerivationConfig::Register
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_config.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - util::Status::ok
    - IsFipsModeEnabled
    - absl::make_unique<KeysetDeriverWrapper>
    - absl::make_unique<internal::PrfBasedDeriverKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::util::OkStatus
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status KeyDerivationConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:39,1
    - Dst: crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:40,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:41,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:42,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:45,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:46,1
    - Dst: PrfBasedDeriverKeyFormat::SerializeToString
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:48,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:48,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:52,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:52,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:53,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:54,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:57,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:58,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:59,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates.cc:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ' prf_key_template'
    - ' derived_key_template'
    argTypes:
    - KeyTemplate
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 64
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 64
    functionName: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - util::StatusOr::status
    - PrfBasedDeriverKeyFormat::mutable_prf_key_template
    - crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
    - PrfBasedDeriverKeyFormat::mutable_params
    - KeyTemplate::set_output_prefix_type
    - util::StatusOr::ok
    - KeyTemplate::mutable_value
    - PrfBasedDeriverKeyFormat::SerializeToString
    - ConfigGlobalRegistry
    - KeyTemplate::set_type_url
    - output_prefix_type
    linkageType: ''
    returnType: util::StatusOr<KeyTemplate>
    signature: "util::StatusOr<KeyTemplate> KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate(\n
      \   const KeyTemplate& prf_key_template,\n    const KeyTemplate& derived_key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: crypto::tink::internal::KeyDerivationKeyTemplatesTest::TearDown
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:56,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:56,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:59,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:59,1
    - Dst: absl::make_unique<internal::PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:63,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:64,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:67,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:68,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:70,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:75,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:76,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:78,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:82,1
    - Dst: util::StatusOr::type_url
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:85,1
    - Dst: util::StatusOr::type_url
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:86,1
    - Dst: crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:87,1
    - Dst: util::StatusOr::output_prefix_type
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:87,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:90,1
    - Dst: PrfBasedDeriverKeyFormat::ParseFromString
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:90,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:91,1
    - Dst: crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 95
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - EXPECT_TRUE
    - util::StatusOr::type_url
    - ASSERT_THAT
    - absl::make_unique<HkdfPrfKeyManager>
    - IsOk
    - KeyTemplate::set_output_prefix_type
    - EXPECT_THAT
    - PrfBasedDeriverKeyFormat::ParseFromString
    - crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
    - absl::make_unique<KeysetDeriverWrapper>
    - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    - util::StatusOr::output_prefix_type
    - Eq
    - PrfKeyTemplates::HkdfSha256
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - absl::make_unique<internal::PrfBasedDeriverKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmKeyManager>
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyDerivationKeyTemplatesTest, CreatePrfBasedKeyTemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:98,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:98,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:101,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:101,1
    - Dst: absl::make_unique<internal::PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:105,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:106,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:109,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:110,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:114,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:114,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:115,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - ASSERT_THAT
    - absl::make_unique<KeysetDeriverWrapper>
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - absl::make_unique<internal::PrfBasedDeriverKeyManager>
    - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyDerivationKeyTemplatesTest, CreatePrfBasedKeyTemplateInvalidPrfKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:122,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:122,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:125,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:125,1
    - Dst: absl::make_unique<internal::PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:129,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:130,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:133,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:134,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:136,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:139,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:140,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:142,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:142,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:143,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - PrfKeyTemplates::HkdfSha256
    - IsOk
    - ASSERT_THAT
    - absl::make_unique<KeysetDeriverWrapper>
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - absl::make_unique<internal::PrfBasedDeriverKeyManager>
    - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - StatusIs
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: "void TEST_F(KeyDerivationKeyTemplatesTest,\n       CreatePrfBasedKeyTemplateInvalidDerivedKeyTemplate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:150,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:150,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:153,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:154,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:157,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:158,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:162,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:162,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:163,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:163,1
    - Dst: Not
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 165
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - PrfKeyTemplates::HkdfSha256
    - IsOk
    - Not
    - ASSERT_THAT
    - absl::make_unique<KeysetDeriverWrapper>
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: "void TEST_F(KeyDerivationKeyTemplatesTest,\n       CreatePrfBasedKeyTemplateNoPrfBasedDeriverKeyManager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:169,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:169,1
    - Dst: absl::make_unique<KeysetDeriverWrapper>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:172,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:172,1
    - Dst: absl::make_unique<internal::PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:176,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:177,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:181,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:181,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:182,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:182,1
    - Dst: Not
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - PrfKeyTemplates::HkdfSha256
    - IsOk
    - Not
    - ASSERT_THAT
    - absl::make_unique<KeysetDeriverWrapper>
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - absl::make_unique<internal::PrfBasedDeriverKeyManager>
    - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmKeyManager>
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: "void TEST_F(KeyDerivationKeyTemplatesTest,\n       CreatePrfBasedKeyTemplateNoHkdfPrfKeyManager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:50,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:50,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:51,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:51,1
    - Dst: Not
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:52,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:54,1
    - Dst: crypto::tink::KeyDerivationConfig::Register
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:54,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:55,1
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:55,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:56,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:56,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:58,1
    - Dst: crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:61,1
    - Dst: PrfKeyTemplates::HkdfSha256
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:62,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:63,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:65,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:66,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:68,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:70,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:73,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:76,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:78,1
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:82,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/keyderivation/key_derivation_config_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/keyderivation/key_derivation_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_THAT
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::GetPrimitive
    - crypto::tink::AeadConfig::Register
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::Decrypt
    - Not
    - IsOk
    - EXPECT_THAT
    - EXPECT_EQ
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::KeyDerivationConfig::Register
    - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
    - crypto::tink::Registry::Reset
    - DeriveKeyset
    - PrfKeyTemplates::HkdfSha256
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - crypto::tink::Encrypt
    - absl::make_unique<AesGcmKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(KeyDerivationConfigTest, Register)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HkdfStreamingPrf::New
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:84,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:86,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:86,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:88,1
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::KeyDeriversTest::SetUp
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HkdfStreamingPrf::New
    - IsOk
    - ComputePrf
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:103,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:105,1
    - Dst: get
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:106,1
    - Dst: dynamic_cast<const AesGcmKey*>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:110,1
    - Dst: NotNull
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:111,1
    - Dst: AesGcmKey*::GetIdRequirement
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:112,1
    - Dst: AesGcmKey*::GetOutputPrefix
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:112,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:113,1
    - Dst: AesGcmKey*::GetKeyBytes
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:113,1
    - Dst: GetPartialKeyAccess
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:113,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:113,1
    - Dst: crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:119,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:119,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 120
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesGcmKey*>
    - SizeIs
    - IsOk
    - crypto::tink::internal::DeriveKey
    - std::move
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - KeysetHandleBuilder
    - AesGcmKey*::GetOutputPrefix
    - ASSERT_THAT
    - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
    - EXPECT_THAT
    - AesGcmKey*::GetIdRequirement
    - NotNull
    - GetPartialKeyAccess
    - AesGcmKey*::GetKeyBytes
    - Eq
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyDeriversTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:123,1
    - Dst: RegisterAesEaxProtoSerialization
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:123,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:132,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:132,1
    - Dst: get
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::internal::DeriveKey
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - RegisterAesEaxProtoSerialization
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - get
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyDeriversTest, MissingKeyDeriverFn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:144,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:146,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:149,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:149,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - util::StatusOr::status
    - IsOk
    - crypto::tink::internal::DeriveKey
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyDeriversTest, InsufficientRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:157,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:157,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:159,1
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:162,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:163,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:164,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:165,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:170,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:171,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:176,1
    - Dst: Registry::GetPrimitive<StreamingPrf>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:180,1
    - Dst: Registry::GetPrimitive<StreamingPrf>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:183,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:185,1
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:191,1
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 193
    functionName: crypto::tink::internal::KeyDeriversRfcVectorTest::SetUp
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - crypto::tink::test::HexDecodeOrDie
    - ComputePrf
    - HkdfPrfKey::set_version
    - Registry::GetPrimitive<StreamingPrf>
    - ASSERT_THAT
    - crypto::tink::test::AsKeyData
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    - crypto::tink::Registry::Reset
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:212,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:214,1
    - Dst: get
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:215,1
    - Dst: dynamic_cast<const AesGcmKey*>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:217,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:218,1
    - Dst: NotNull
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:218,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:220,1
    - Dst: AesGcmKey*::GetKeyBytes
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:220,1
    - Dst: GetPartialKeyAccess
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:220,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:222,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:225,1
    - Dst: RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:225,1
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:229,1
    - Dst: dynamic_cast<const ProtoParametersSerialization*>
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:231,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:232,1
    - Dst: NotNull
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:234,1
    - Dst: AesGcmKeyFormat::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:235,1
    - Dst: ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:235,1
    - Dst: IsTrue
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:236,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:238,1
    - Dst: get
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:240,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:241,1
    - Dst: util::StatusOr::key_value
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:242,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:244,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/key_derivers_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 245
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::key_value
    - RegisterAesGcmProtoSerialization
    - IsOk
    - EXPECT_THAT
    - GetPartialKeyAccess
    - IsTrue
    - crypto::tink::test::HexEncode
    - AesGcmKeyFormat::ParseFromString
    - AesGcmKey*::GetKeyBytes
    - MutableSerializationRegistry::GlobalInstance
    - dynamic_cast<const AesGcmKey*>
    - ProtoParametersSerialization*::GetKeyTemplate
    - AesGcmKeyManager
    - crypto::tink::internal::DeriveKey
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - Eq
    - get
    - util::StatusOr::get
    - dynamic_cast<const ProtoParametersSerialization*>
    - NotNull
    linkageType: ''
    returnType: void
    signature: void TEST_F(KeyDeriversRfcVectorTest, AesGcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver.h:34,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver.h:36,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver.h:36,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: crypto::tink::internal::ConfigPrfForDeriver
    functionSourceFile: /src/tink/cc/keyderivation/internal/config_prf_for_deriver.h
    functionUses: 0
    functionsReached:
    - Configuration::Configuration
    - absl::make_unique<HkdfPrfKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigPrfForDeriver()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:45,1
    - Dst: crypto::tink::internal::ConfigPrfForDeriver
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:45,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:46,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:46,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:48,1
    - Dst: Get
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:48,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:48,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - IsOk
    - crypto::tink::internal::ConfigPrfForDeriver
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigPrfForDeriverTest, KeyManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:53,1
    - Dst: crypto::tink::internal::ConfigPrfForDeriver
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:54,1
    - Dst: Get
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:56,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:57,1
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:60,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:61,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:62,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:65,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:68,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:68,1
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - GetPrimitive
    - IsOk
    - ComputePrf
    - HkdfPrfKey::set_version
    - crypto::tink::internal::ConfigPrfForDeriver
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    - crypto::tink::test::AsKeyData
    - ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigPrfForDeriverTest, GetUnwrappedPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:64,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:65,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:65,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:67,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:67,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - PrfBasedDeriverKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:72,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:72,1
    - Dst: PrfBasedDeriverKey
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:72,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - PrfBasedDeriverKey
    - PrfBasedDeriverKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, ValidateKeyEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:78,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:79,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:80,1
    - Dst: PrfBasedDeriverKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:83,1
    - Dst: PrfBasedDeriverKey::mutable_prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:84,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:84,1
    - Dst: PrfBasedDeriverKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:85,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:88,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - PrfBasedDeriverKey::set_version
    - IsOk
    - HkdfPrfKey::set_version
    - PrfBasedDeriverKey::mutable_params
    - crypto::tink::test::AsKeyData
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - PrfBasedDeriverKeyManager
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    - PrfBasedDeriverKey::mutable_prf_key
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:93,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:94,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:95,1
    - Dst: PrfBasedDeriverKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:98,1
    - Dst: PrfBasedDeriverKey::mutable_prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:99,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:99,1
    - Dst: PrfBasedDeriverKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:100,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:103,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - PrfBasedDeriverKey::set_version
    - HkdfPrfKey::set_version
    - PrfBasedDeriverKey::mutable_params
    - crypto::tink::test::AsKeyData
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - PrfBasedDeriverKeyManager
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - StatusIs
    - HkdfPrfKey::set_key_value
    - PrfBasedDeriverKey::mutable_prf_key
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, ValidateKeyWithWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:109,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:110,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:113,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:114,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:115,1
    - Dst: HkdfPrfKeyFormat::SerializeAsString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:116,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:117,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:120,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - PrfBasedDeriverKeyFormat::mutable_prf_key_template
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - PrfBasedDeriverKeyFormat::mutable_params
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - PrfBasedDeriverKeyManager
    - HkdfPrfKeyFormat::SerializeAsString
    - HkdfPrfKeyFormat::set_key_size
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:125,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:126,1
    - Dst: PrfBasedDeriverKeyFormat
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - PrfBasedDeriverKeyFormat
    - PrfBasedDeriverKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, ValidateKeyFormatEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:132,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:132,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:135,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:135,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:138,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:138,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:140,1
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:143,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:144,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:147,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:148,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:149,1
    - Dst: HkdfPrfKeyFormat::SerializeAsString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:150,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:151,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:152,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:157,1
    - Dst: version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:158,1
    - Dst: prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:158,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:159,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:160,1
    - Dst: prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:160,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:163,1
    - Dst: HkdfPrfKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:163,1
    - Dst: prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:164,1
    - Dst: HkdfPrfKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:164,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:166,1
    - Dst: params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:166,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:167,1
    - Dst: PrfBasedDeriverKeyFormat::params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:168,1
    - Dst: params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:169,1
    - Dst: PrfBasedDeriverKeyFormat::params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 170
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - PrfBasedDeriverKeyFormat::mutable_prf_key_template
    - HkdfPrfKeyFormat::mutable_params
    - PrfBasedDeriverKeyFormat::mutable_params
    - ASSERT_THAT
    - HkdfPrfKey::ParseFromString
    - prf_key
    - HkdfPrfKeyFormat::SerializeAsString
    - ASSERT_TRUE
    - absl::make_unique<HkdfPrfKeyManager>
    - HkdfPrfKeyManager
    - IsOk
    - EXPECT_THAT
    - params
    - version
    - HkdfPrfKeyFormat::set_key_size
    - crypto::tink::Registry::Reset
    - Eq
    - HkdfPrfKey::key_value
    - PrfBasedDeriverKeyFormat::params
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - PrfBasedDeriverKeyManager
    - absl::make_unique<AesGcmKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:174,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:174,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:177,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:177,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:180,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:180,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:182,1
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:185,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:186,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:189,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:190,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:191,1
    - Dst: HkdfPrfKeyFormat::SerializeAsString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:192,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:193,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:196,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:196,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 198
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - crypto::tink::Registry::RegisterKeyTypeManager
    - PrfBasedDeriverKeyFormat::mutable_prf_key_template
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - PrfBasedDeriverKeyFormat::mutable_params
    - StatusIs
    - ASSERT_THAT
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - PrfBasedDeriverKeyManager
    - absl::make_unique<AesGcmKeyManager>
    - HkdfPrfKeyFormat::set_key_size
    - HkdfPrfKeyFormat::SerializeAsString
    - EXPECT_THAT
    - crypto::tink::Registry::Reset
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, CreateKeyWithInvalidPrfKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:202,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:202,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:205,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:205,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:208,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:208,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:210,1
    - Dst: HkdfPrfKeyFormat::set_key_size
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:213,1
    - Dst: HkdfPrfKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:214,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:216,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:219,1
    - Dst: HkdfPrfKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:220,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:221,1
    - Dst: HkdfPrfKeyFormat::SerializeAsString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:222,1
    - Dst: PrfBasedDeriverKeyFormat::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:227,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 229
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKeyManager
    - crypto::tink::Registry::RegisterKeyTypeManager
    - PrfBasedDeriverKeyFormat::mutable_prf_key_template
    - HkdfPrfKeyFormat::mutable_params
    - IsOk
    - PrfBasedDeriverKeyFormat::mutable_params
    - ASSERT_THAT
    - PrfBasedDeriverKeyManager
    - absl::make_unique<AesGcmKeyManager>
    - HkdfPrfKeyFormat::set_key_size
    - KeyTemplate::set_type_url
    - HkdfPrfKeyFormat::SerializeAsString
    - EXPECT_THAT
    - crypto::tink::Registry::Reset
    - absl::make_unique<HkdfPrfKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, CreateKeyWithInvalidDerivedKeyTemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:233,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:233,1
    - Dst: absl::make_unique<PrfBasedDeriverKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:236,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:236,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:239,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:239,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:241,1
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:244,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:245,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:246,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:246,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:247,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:247,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:248,1
    - Dst: PrfBasedDeriverKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:250,1
    - Dst: PrfBasedDeriverKey::mutable_prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:251,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:251,1
    - Dst: PrfBasedDeriverKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:252,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:253,1
    - Dst: PrfBasedDeriverKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:257,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:259,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:262,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:263,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:266,1
    - Dst: PrfBasedDeriverKey::prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:266,1
    - Dst: PrfBasedDeriverKey::params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:268,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:271,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:274,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:274,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:275,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:275,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:275,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:277,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:277,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:278,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:281,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:281,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:281,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:283,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:283,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:285,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:285,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:285,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 286
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - AesGcmKey::ParseFromString
    - ASSERT_THAT
    - ASSERT_TRUE
    - absl::make_unique<HkdfPrfKeyManager>
    - SizeIs
    - PrfBasedDeriverKey::set_version
    - IsOk
    - PrfBasedDeriverKey::params
    - EXPECT_THAT
    - HkdfPrfKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - CleartextKeysetHandle::GetKeyset
    - HkdfPrfKey::set_version
    - PrfBasedDeriverKey::mutable_params
    - crypto::tink::Registry::Reset
    - crypto::tink::test::AsKeyData
    - PrfBasedDeriverKey::mutable_prf_key
    - Eq
    - absl::make_unique<PrfBasedDeriverKeyManager>
    - Keyset::key
    - DeriveKeyset
    - crypto::tink::internal::PrfBasedDeriver::New
    - PrfBasedDeriverKey::prf_key
    - AesGcmKey::key_value
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - PrfBasedDeriverKeyManager
    - absl::make_unique<AesGcmKeyManager>
    - HkdfPrfKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST(PrfBasedDeriverKeyManagerTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - streaming_prf
    - ' key_template'
    argTypes:
    - std::unique_ptr<StreamingPrf>
    - ::google::crypto::tink::KeyTemplate
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: crypto::tink::internal::PrfBasedDeriver::PrfBasedDeriver
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void PrfBasedDeriver(std::unique_ptr<StreamingPrf> streaming_prf,\n
      \                 const ::google::crypto::tink::KeyTemplate& key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesGcmParameters*>
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:58,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:60,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:64,1
    - Dst: AesGcmParameters*::KeySizeInBytes
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:64,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:65,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:66,1
    - Dst: crypto::tink::AesGcmKey::Create
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:68,1
    - Dst: RestrictedData
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:69,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:69,1
    - Dst: GetPartialKeyAccess
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:70,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:71,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:72,1
    - Dst: absl::make_unique<AesGcmKey>
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' generic_params'
    - randomness
    argTypes:
    - Parameters
    - InputStream*
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: crypto::tink::internal::DeriveAesGcmKey
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - RestrictedData
    - AesGcmParameters*::KeySizeInBytes
    - crypto::tink::InsecureSecretKeyAccess::Get
    - dynamic_cast<const AesGcmParameters*>
    - util::StatusOr::ok
    - GetPartialKeyAccess
    - absl::make_unique<AesGcmKey>
    - crypto::tink::AesGcmKey::Create
    - ReadBytesFromStream
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<AesGcmKey>>
    signature: "util::StatusOr<std::unique_ptr<AesGcmKey>> DeriveAesGcmKey(\n    const
      Parameters& generic_params, InputStream* randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OK
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:79,1
    - Dst: RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:79,1
    - Dst: KeyDeriverFnMap::KeyDeriverFnMap
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:81,1
    - Dst: KeyDeriverFnMap*::insert
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:82,1
    - Dst: std::type_index
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:82,1
    - Dst: typeid
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::ParametersToKeyDeriver
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers.cc
    functionUses: 0
    functionsReached:
    - KeyDeriverFnMap*::insert
    - typeid
    - std::type_index
    - KeyDeriverFnMap::KeyDeriverFnMap
    - RegisterAesGcmProtoSerialization
    - CHECK_OK
    linkageType: ''
    returnType: KeyDeriverFnMap
    signature: KeyDeriverFnMap & ParametersToKeyDeriver()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ParametersToKeyDeriver
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:90,1
    - Dst: std::type_index
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:90,1
    - Dst: typeid
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:90,1
    - Dst: crypto::tink::internal::ParametersToKeyDeriver
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:91,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:92,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:94,1
    - Dst: typeid
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:94,1
    - Dst: auto::second
      Src: /src/tink/cc/keyderivation/internal/key_derivers.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' params'
    - randomness
    argTypes:
    - Parameters
    - InputStream*
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::DeriveKey
    functionSourceFile: /src/tink/cc/keyderivation/internal/key_derivers.cc
    functionUses: 7
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ParametersToKeyDeriver
    - typeid
    - std::type_index
    - absl::StrCat
    - auto::second
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Key>>
    signature: "util::StatusOr<std::unique_ptr<Key>> DeriveKey(const Parameters& params,\n
      \                                              InputStream* randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:58,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:59,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:60,1
    - Dst: Keyset::Key::mutable_key_data
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:71,1
    - Dst: Keyset::Key::set_key_id
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:72,1
    - Dst: Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:73,1
    - Dst: Keyset::Key::set_status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:74,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:76,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:77,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ' key_template'
    - ' randomness'
    argTypes:
    - KeyTemplate
    - InputStream
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::DeriveWithGlobalRegistry
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 0
    functionsReached:
    - Keyset::Key::mutable_key_data
    - util::StatusOr::status
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - Keyset::Key::set_key_id
    - Keyset::set_primary_key_id
    - Keyset::Key::set_output_prefix_type
    - util::StatusOr::ok
    - Keyset::add_key
    - RegistryImpl::GlobalInstance
    - Keyset::Key::set_status
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> DeriveWithGlobalRegistry(\n
      \   const KeyTemplate& key_template, InputStream& randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:91,1
    - Dst: type_url
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:92,1
    - Dst: value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:92,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:94,1
    - Dst: MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:97,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:99,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:100,1
    - Dst: crypto::tink::internal::DeriveKey
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:104,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:104,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:105,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:106,1
    - Dst: KeysetHandleBuilder::Entry::CreateFromKey
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:109,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:110,1
    - Dst: KeysetHandleBuilder
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:114,1
    - Dst: absl::make_unique<KeysetHandle>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' key_template'
    - ' randomness'
    argTypes:
    - KeyTemplate
    - InputStream
    constantsTouched: []
    func_position:
      end: 117
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 117
    functionName: crypto::tink::internal::DeriveWithHardCodedMap
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 0
    functionsReached:
    - KeysetHandleBuilder::Entry::CreateFromKey
    - util::StatusOr::status
    - crypto::tink::internal::DeriveKey
    - std::move
    - KeysetHandleBuilder
    - absl::make_unique<KeysetHandle>
    - util::StatusOr::ok
    - type_url
    - value
    - MutableSerializationRegistry::GlobalInstance
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> DeriveWithHardCodedMap(\n
      \   const KeyTemplate& key_template, InputStream& randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::DeriveWithGlobalRegistry
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:122,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:123,1
    - Dst: crypto::tink::internal::DeriveWithHardCodedMap
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:124,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key_template'
    - ' randomness'
    argTypes:
    - KeyTemplate
    - InputStream
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: crypto::tink::internal::DeriveKeysetHandle
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - crypto::tink::internal::DeriveWithHardCodedMap
    - std::move
    - crypto::tink::internal::DeriveWithGlobalRegistry
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> DeriveKeysetHandle(\n
      \   const KeyTemplate& key_template, InputStream& randomness)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RegisterAesGcmProtoSerialization
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc: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: crypto::tink::internal::RegisterProtoSerializations
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 0
    functionsReached:
    - RegisterAesGcmProtoSerialization
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterProtoSerializations()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:136,1
    - Dst: crypto::tink::internal::ConfigPrfForDeriver
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:136,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:137,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:138,1
    - Dst: Get
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:141,1
    - Dst: type_url
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:141,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:142,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:143,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' prf_key'
    argTypes:
    - KeyData
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: crypto::tink::internal::GetUnwrappedStreamingPrf
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 0
    functionsReached:
    - GetPrimitive
    - util::StatusOr::status
    - crypto::tink::internal::ConfigPrfForDeriver
    - Get
    - util::StatusOr::ok
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - type_url
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<StreamingPrf>>
    signature: "util::StatusOr<std::unique_ptr<StreamingPrf>> GetUnwrappedStreamingPrf(\n
      \   const KeyData& prf_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetUnwrappedStreamingPrf
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:152,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:154,1
    - Dst: RegisterProtoSerializations
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:157,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:158,1
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:163,1
    - Dst: DeriveKeysetHandle
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:165,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:166,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:167,1
    - Dst: absl::WrapUnique<PrfBasedDeriver>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:170,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:171,1
    - Dst: PrfBasedDeriver::PrfBasedDeriver
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ' prf_key'
    - ' key_template'
    argTypes:
    - KeyData
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 172
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 172
    functionName: crypto::tink::internal::PrfBasedDeriver::New
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 1
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - RegisterProtoSerializations
    - std::move
    - ComputePrf
    - absl::WrapUnique<PrfBasedDeriver>
    - util::StatusOr::ok
    - DeriveKeysetHandle
    - PrfBasedDeriver::PrfBasedDeriver
    - GetUnwrappedStreamingPrf
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetDeriver>>
    signature: "util::StatusOr<std::unique_ptr<KeysetDeriver>> PrfBasedDeriver::New(\n
      \   const KeyData& prf_key, const KeyTemplate& key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:176,1
    - Dst: DeriveKeysetHandle
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - salt
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: crypto::tink::internal::PrfBasedDeriver::DeriveKeyset
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
    functionUses: 0
    functionsReached:
    - DeriveKeysetHandle
    - ComputePrf
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> PrfBasedDeriver::DeriveKeyset(\n
      \   absl::string_view salt) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:83,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:84,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:85,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: crypto::tink::internal::PrfBasedDeriverTest::PrfKey
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - HkdfPrfKey::set_key_value
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_version
    linkageType: ''
    returnType: HkdfPrfKey
    signature: HkdfPrfKey PrfKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:90,1
    - Dst: crypto::tink::internal::PrfBasedDeriverTest::PrfKey
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc: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: crypto::tink::internal::PrfBasedDeriverTest::PrfKeyData
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::PrfBasedDeriverTest::PrfKey
    - crypto::tink::test::AsKeyData
    linkageType: ''
    returnType: KeyData
    signature: KeyData PrfKeyData()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:94,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:95,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - AeadKeyTemplates::Aes128Gcm
    - IsOk
    - EXPECT_THAT
    - crypto::tink::internal::PrfBasedDeriver::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, New)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:102,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:103,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:103,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::PrfBasedDeriver::New
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - HkdfPrfKey::mutable_params
    - StatusIs
    - crypto::tink::test::AsKeyData
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, NewWithInvalidPrfKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:112,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:112,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:113,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::PrfBasedDeriver::New
    - EXPECT_THAT
    - KeyTemplate::set_type_url
    - StatusIs
    - crypto::tink::test::AsKeyData
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, NewWithInvalidDerivedKeyTemplate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:121,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:122,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:126,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:126,1
    - Dst: GetPrimary
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:129,1
    - Dst: dynamic_cast<const AesGcmKey*>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:130,1
    - Dst: KeysetHandle::Entry::GetKey
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:131,1
    - Dst: NotNull
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:132,1
    - Dst: AesGcmKey*::GetParameters
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:132,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:134,1
    - Dst: KeysetHandle::Entry::GetStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:134,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:137,1
    - Dst: AesGcmKey*::GetIdRequirement
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:137,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:140,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:140,1
    - Dst: Ne
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 142
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesGcmKey*>
    - SizeIs
    - DeriveKeyset
    - crypto::tink::internal::PrfBasedDeriver::New
    - CleartextKeysetHandle::GetKeyset
    - Ne
    - IsOk
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - KeysetHandle::Entry::GetStatus
    - GetPrimary
    - EXPECT_THAT
    - NotNull
    - AesGcmKey*::GetIdRequirement
    - KeysetHandle::Entry::GetKey
    - AesGcmKey*::GetParameters
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, DeriveKeysetPlaceholders)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:146,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:146,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:147,1
    - Dst: StatusIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:151,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:151,1
    - Dst: absl::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:153,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:154,1
    - Dst: AeadKeyTemplates::Aes128CtrHmacSha256
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:156,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:158,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:160,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:160,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:164,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:164,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:166,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:166,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:169,1
    - Dst: Keyset::primary_key_id
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:169,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:170,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:170,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 171
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - crypto::tink::Registry::RegisterKeyTypeManager
    - Keyset::key
    - DeriveKeyset
    - Keyset::primary_key_id
    - crypto::tink::internal::PrfBasedDeriver::New
    - CleartextKeysetHandle::GetKeyset
    - IsOk
    - AeadKeyTemplates::Aes128CtrHmacSha256
    - ASSERT_THAT
    - absl::make_unique<AesCtrHmacAeadKeyManager>
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::Registry::Reset
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, DeriveKeysetPlaceholdersWithGlobalRegistry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:176,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:181,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:184,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:185,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:186,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:187,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:187,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:191,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:191,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:193,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:196,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:199,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:200,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:201,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:202,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:202,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:204,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:204,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:205,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:205,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:206,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:206,1
    - Dst: Ne
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:206,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 207
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - Keyset::key
    - DeriveKeyset
    - crypto::tink::internal::PrfBasedDeriver::New
    - CleartextKeysetHandle::GetKeyset
    - Ne
    - IsOk
    - ASSERT_THAT
    - crypto::tink::test::AsKeyData
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - ASSERT_TRUE
    - google::crypto::tink::AesGcmKey::key_value
    - HkdfPrfKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesGcmKey::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, DeriveKeysetWithDifferentPrfKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:211,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:212,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:219,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:220,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:221,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:222,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:222,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:227,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:228,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:229,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:230,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:232,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:232,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:233,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:233,1
    - Dst: SizeIs
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:234,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:234,1
    - Dst: Ne
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:234,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - Keyset::key
    - DeriveKeyset
    - crypto::tink::internal::PrfBasedDeriver::New
    - CleartextKeysetHandle::GetKeyset
    - Ne
    - IsOk
    - ASSERT_THAT
    - AeadKeyTemplates::Aes128Gcm
    - EXPECT_THAT
    - ASSERT_TRUE
    - google::crypto::tink::AesGcmKey::key_value
    - google::crypto::tink::AesGcmKey::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverTest, DeriveKeysetWithDifferentSalts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:255,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:256,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:257,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:258,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:263,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:264,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: crypto::tink::internal::PrfBasedDeriverRfcVectorTest::PrfKeyData
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::HexDecodeOrDie
    - HkdfPrfKey::set_version
    - HkdfPrfKey::mutable_params
    - HkdfPrfKey::set_key_value
    - crypto::tink::test::AsKeyData
    linkageType: ''
    returnType: KeyData
    signature: KeyData PrfKeyData()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:274,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:279,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:282,1
    - Dst: dynamic_cast<const AesGcmKey*>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:284,1
    - Dst: GetPrimary
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:285,1
    - Dst: NotNull
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:285,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:287,1
    - Dst: AesGcmKey*::GetKeyBytes
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:287,1
    - Dst: GetPartialKeyAccess
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:287,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:289,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:289,1
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:293,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:293,1
    - Dst: absl::make_unique<HkdfPrfKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:295,1
    - Dst: Registry::GetPrimitive<StreamingPrf>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:298,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:298,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:299,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:299,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:301,1
    - Dst: RegistryImpl::GlobalInstance
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:303,1
    - Dst: ComputePrf
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:305,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:307,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:307,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:307,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:308,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:309,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:311,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 312
    functionName: crypto::tink::internal::TEST_F
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - ASSERT_TRUE
    - absl::make_unique<HkdfPrfKeyManager>
    - google::crypto::tink::AesGcmKey::ParseFromString
    - IsOk
    - Registry::GetPrimitive<StreamingPrf>
    - EXPECT_THAT
    - GetPartialKeyAccess
    - google::crypto::tink::AesGcmKey::key_value
    - RegistryImpl::GlobalInstance
    - crypto::tink::test::HexEncode
    - AesGcmKey*::GetKeyBytes
    - dynamic_cast<const AesGcmKey*>
    - crypto::tink::Registry::Reset
    - Eq
    - DeriveKeyset
    - crypto::tink::internal::PrfBasedDeriver::New
    - ComputePrf
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - GetPrimary
    - absl::make_unique<AesGcmKeyManager>
    - NotNull
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(PrfBasedDeriverRfcVectorTest, AesGcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:324,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:328,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:332,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:335,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 346
    functionName: crypto::tink::internal::GetPrfBasedDeriverJavaVectors
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::HexDecodeOrDie
    linkageType: ''
    returnType: std::vector<PrfBasedDeriverJavaVector>
    signature: std::vector<PrfBasedDeriverJavaVector> GetPrfBasedDeriverJavaVectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:355,1
    - Dst: HkdfPrfKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:358,1
    - Dst: HkdfPrfKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:359,1
    - Dst: HkdfPrfKey::set_key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:360,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:361,1
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:364,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:365,1
    - Dst: DeriveKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:367,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:368,1
    - Dst: IsOk
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:368,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:370,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:372,1
    - Dst: google::crypto::tink::AesGcmKey::ParseFromString
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:372,1
    - Dst: Keyset::key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:372,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:373,1
    - Dst: google::crypto::tink::AesGcmKey::version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:373,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:373,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:373,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:374,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:374,1
    - Dst: google::crypto::tink::AesGcmKey::key_value
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:374,1
    - Dst: Eq
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 376
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmKey::version
    - ASSERT_THAT
    - ASSERT_TRUE
    - google::crypto::tink::AesGcmKey::ParseFromString
    - IsOk
    - EXPECT_THAT
    - google::crypto::tink::AesGcmKey::key_value
    - HkdfPrfKey::set_key_value
    - GetParam
    - crypto::tink::test::HexEncode
    - CleartextKeysetHandle::GetKeyset
    - AesGcmKeyManager
    - HkdfPrfKey::set_version
    - Eq
    - crypto::tink::test::AsKeyData
    - Keyset::key
    - DeriveKeyset
    - crypto::tink::internal::PrfBasedDeriver::New
    - AeadKeyTemplates::Aes128Gcm
    - HkdfPrfKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_P(PrfBasedDeriverJavaVectorsTest, AesGcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrfBasedDeriver::New
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:52,1
    - Dst: prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:53,1
    - Dst: params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::PrfBasedDeriverKey
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::KeysetDeriverFactory::Create
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached:
    - prf_key
    - params
    - crypto::tink::internal::PrfBasedDeriver::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<KeysetDeriver>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<KeysetDeriver>> Create(\n
      \       const google::crypto::tink::PrfBasedDeriverKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<\n                       PrfBasedDeriverKeyManager::KeysetDeriverFactory>"
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 2
    functionsReached:
    - "absl::make_unique<\n                       PrfBasedDeriverKeyManager::KeysetDeriverFactory>"
    linkageType: ''
    returnType: void
    signature: void PrfBasedDeriverKeyManager()
  - 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: crypto::tink::internal::PrfBasedDeriverKeyManager::get_version
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:74,1
    - Dst: version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:74,1
    - Dst: crypto::tink::internal::PrfBasedDeriverKeyManager::get_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:74,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:75,1
    - Dst: has_prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:77,1
    - Dst: params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:80,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:81,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::PrfBasedDeriverKey
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached:
    - has_prf_key
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - params
    - version
    - crypto::tink::internal::PrfBasedDeriverKeyManager::get_version
    - crypto::tink::util::Status::ok
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::PrfBasedDeriverKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:91,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:92,1
    - Dst: params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:96,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::PrfBasedDeriverKeyFormat
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - has_prf_key_template
    - crypto::tink::util::OkStatus
    - params
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::PrfBasedDeriverKeyFormat&
      key_format)\n      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::PrfBasedDeriverKeyManager::CreateKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:107,1
    - Dst: prf_key_template
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:107,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>::ok
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:108,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>::status
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:108,1
    - Dst: google::crypto::tink::PrfBasedDeriverKey::set_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:116,1
    - Dst: crypto::tink::internal::PrfBasedDeriverKeyManager::get_version
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:116,1
    - Dst: google::crypto::tink::PrfBasedDeriverKey::mutable_params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:117,1
    - Dst: params
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:118,1
    - Dst: google::crypto::tink::PrfBasedDeriverKey::mutable_prf_key
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:119,1
    - Dst: std::move
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::PrfBasedDeriverKeyFormat
    constantsTouched: []
    func_position:
      end: 121
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 121
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::PrfBasedDeriverKeyManager::CreateKeyData
    - google::crypto::tink::PrfBasedDeriverKey::mutable_params
    - std::move
    - params
    - crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>::status
    - prf_key_template
    - crypto::tink::internal::PrfBasedDeriverKeyManager::get_version
    - google::crypto::tink::PrfBasedDeriverKey::mutable_prf_key
    - crypto::tink::util::StatusOr<std::unique_ptr<google::crypto::tink::KeyData>>::ok
    - google::crypto::tink::PrfBasedDeriverKey::set_version
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::PrfBasedDeriverKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::PrfBasedDeriverKey>
      CreateKey(const google::crypto::tink::PrfBasedDeriverKeyFormat& key_format)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::NewKeyData
      Src: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - google::crypto::tink::KeyTemplate
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: crypto::tink::internal::PrfBasedDeriverKeyManager::CreateKeyData
    functionSourceFile: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
    functionUses: 1
    functionsReached:
    - crypto::tink::Registry::NewKeyData
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      std::unique_ptr<google::crypto::tink::KeyData>>"
    signature: "crypto::tink::util::StatusOr<\n      std::unique_ptr<google::crypto::tink::KeyData>>
      CreateKeyData(const google::crypto::tink::KeyTemplate& key_template) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<char[]>
      Src: /src/tink/cc/util/buffer.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - allocated_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: crypto::tink::util::OwningBuffer::OwningBuffer
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<char[]>
    linkageType: ''
    returnType: void
    signature: void OwningBuffer(int allocated_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/util/buffer.cc: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: crypto::tink::util::OwningBuffer::get_mem_block
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: char
    signature: char * const get_mem_block() 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: crypto::tink::util::OwningBuffer::allocated_size
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int allocated_size() 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: crypto::tink::util::OwningBuffer::size
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/util/buffer.cc:52,1
    - Dst: OkStatus
      Src: /src/tink/cc/util/buffer.cc:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: crypto::tink::util::OwningBuffer::set_size
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached:
    - Status
    - OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status set_size(int new_size) override
  - 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: ~OwningBuffer() override
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OwningBuffer() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mem_block
    - allocated_size
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: crypto::tink::util::NonOwningBuffer::NonOwningBuffer
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NonOwningBuffer(char* mem_block, int allocated_size)
  - 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: crypto::tink::util::NonOwningBuffer::get_mem_block
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * const get_mem_block() 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: crypto::tink::util::NonOwningBuffer::allocated_size
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int allocated_size() 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: crypto::tink::util::NonOwningBuffer::size
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int size() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/util/buffer.cc:89,1
    - Dst: OkStatus
      Src: /src/tink/cc/util/buffer.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - new_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: crypto::tink::util::NonOwningBuffer::set_size
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached:
    - Status
    - OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status set_size(int new_size) override
  - 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: ~NonOwningBuffer() override
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~NonOwningBuffer() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/util/buffer.cc:109,1
    - Dst: absl::make_unique<OwningBuffer>
      Src: /src/tink/cc/util/buffer.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - allocated_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: crypto::tink::util::Buffer::New
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 15
    functionsReached:
    - Status
    - absl::make_unique<OwningBuffer>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Buffer>>
    signature: StatusOr<std::unique_ptr<Buffer>> Buffer::New(int allocated_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/util/buffer.cc:119,1
    - Dst: Status
      Src: /src/tink/cc/util/buffer.cc:123,1
    - Dst: absl::make_unique<NonOwningBuffer>
      Src: /src/tink/cc/util/buffer.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mem_block
    - allocated_size
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 127
    functionName: crypto::tink::util::Buffer::NewNonOwning
    functionSourceFile: /src/tink/cc/util/buffer.cc
    functionUses: 0
    functionsReached:
    - Status
    - absl::make_unique<NonOwningBuffer>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Buffer>>
    signature: "StatusOr<std::unique_ptr<Buffer>> Buffer::NewNonOwning(\n    char*
      mem_block, int allocated_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::MakeSecretUniquePtr
      Src: /src/tink/cc/util/secret_data_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:49,1
    - Dst: reinterpret_cast<size_t>
      Src: /src/tink/cc/util/secret_data_test.cc:49,1
    - Dst: SecretUniquePtr::get
      Src: /src/tink/cc/util/secret_data_test.cc:49,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::MakeSecretUniquePtr
    - SecretUniquePtr::get
    - EXPECT_THAT
    - Eq
    - reinterpret_cast<size_t>
    linkageType: ''
    returnType: void
    signature: void TEST(SecretUniqueptrTest, Alignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretData::push_back
      Src: /src/tink/cc/util/secret_data_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:61,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/util/secret_data_test.cc:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretData::push_back
    - EXPECT_THAT
    - ElementsAreArray
    linkageType: ''
    returnType: void
    signature: void TEST(SecretDataTest, OneByOneInsertion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tink/cc/util/secret_data_test.cc:69,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/util/secret_data_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:72,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/util/secret_data_test.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - ElementsAreArray
    linkageType: ''
    returnType: void
    signature: void TEST(SecretDataTest, SecretDataFromStringViewConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::push_back
      Src: /src/tink/cc/util/secret_data_test.cc:80,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/util/secret_data_test.cc:82,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/secret_data_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretDataTest, StringViewFromSecretData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretData::push_back
      Src: /src/tink/cc/util/secret_data_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:95,1
    - Dst: ElementsAreArray
      Src: /src/tink/cc/util/secret_data_test.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretData::push_back
    - EXPECT_THAT
    - ElementsAreArray
    linkageType: ''
    returnType: void
    signature: void TEST(SecretDataTest, SecretDataCopy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:100,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:100,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretValue::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretValueTest, DefaultConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:105,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:105,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretValue::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretValueTest, Constructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:111,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:111,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretValue::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretValueTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:118,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretValue::value
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretValueTest, AssignmentOperator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:124,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:124,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:126,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:126,1
    - Dst: AnyOf
      Src: /src/tink/cc/util/secret_data_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - SecretValue::value
    - EXPECT_THAT
    - AnyOf
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretValueTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/secret_data_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:133,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/secret_data_test.cc:135,1
    - Dst: SecretValue::value
      Src: /src/tink/cc/util/secret_data_test.cc:135,1
    - Dst: AnyOf
      Src: /src/tink/cc/util/secret_data_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/util/secret_data_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/secret_data_test.cc
    functionUses: 0
    functionsReached:
    - AnyOf
    - SecretValue::value
    - std::move
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SecretValueTest, MoveAssignment)
  - 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: crypto::tink::test::FakeKmsClient::FakeKmsClient
    functionSourceFile: /src/tink/cc/util/fake_kms_client.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeKmsClient()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/util/errors_test.cc:30,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/util/errors_test.cc:31,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/util/errors_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/errors_test.cc:32,1
    - Dst: util::Status::message
      Src: /src/tink/cc/util/errors_test.cc:32,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/errors_test.cc:33,1
    - Dst: util::Status::code
      Src: /src/tink/cc/util/errors_test.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/errors_test.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - EXPECT_EQ
    - util::Status::message
    - crypto::tink::ToStatusF
    - EXPECT_FALSE
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST(ErrorsTest, ToStatusFAbslStatusCodeTest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/tink/cc/util/secret_data_internal.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: crypto::tink::util::internal::SafeZeroMemory
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void SafeZeroMemory(void* ptr, std::size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::numeric_limits<std::size_t>::max
      Src: /src/tink/cc/util/secret_data_internal.h:49,1
    - Dst: std::bad_array_new_length
      Src: /src/tink/cc/util/secret_data_internal.h:51,1
    - Dst: std::abort
      Src: /src/tink/cc/util/secret_data_internal.h:53,1
    - Dst: static_cast<T*>
      Src: /src/tink/cc/util/secret_data_internal.h:58,1
    - Dst: ::operator new
      Src: /src/tink/cc/util/secret_data_internal.h:58,1
    - Dst: std::align_val_t
      Src: /src/tink/cc/util/secret_data_internal.h:58,1
    - Dst: static_cast<T*>
      Src: /src/tink/cc/util/secret_data_internal.h:60,1
    - Dst: ::operator new
      Src: /src/tink/cc/util/secret_data_internal.h:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: crypto::tink::util::internal::allocate
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached:
    - std::numeric_limits<std::size_t>::max
    - std::bad_array_new_length
    - static_cast<T*>
    - std::abort
    - ::operator new
    - std::align_val_t
    linkageType: ''
    returnType: T
    signature: T * allocate(std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::internal::SafeZeroMemory
      Src: /src/tink/cc/util/secret_data_internal.h:65,1
    - Dst: ::operator delete
      Src: /src/tink/cc/util/secret_data_internal.h:67,1
    - Dst: std::align_val_t
      Src: /src/tink/cc/util/secret_data_internal.h:67,1
    - Dst: ::operator delete
      Src: /src/tink/cc/util/secret_data_internal.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: crypto::tink::util::internal::deallocate
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached:
    - std::align_val_t
    - ::operator delete
    - crypto::tink::util::internal::SafeZeroMemory
    linkageType: ''
    returnType: void
    signature: void deallocate(void* ptr, std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::malloc
      Src: /src/tink/cc/util/secret_data_internal.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: crypto::tink::util::internal::allocate
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached:
    - std::malloc
    linkageType: ''
    returnType: void
    signature: void * allocate(std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::internal::SafeZeroMemory
      Src: /src/tink/cc/util/secret_data_internal.h:79,1
    - Dst: std::free
      Src: /src/tink/cc/util/secret_data_internal.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - void*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: crypto::tink::util::internal::deallocate
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached:
    - std::free
    - crypto::tink::util::internal::SafeZeroMemory
    linkageType: ''
    returnType: void
    signature: void deallocate(void* ptr, std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: crypto::tink::util::internal::SanitizingAllocator
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SanitizingAllocator()
  - 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: crypto::tink::util::internal::SanitizingAllocator
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SanitizingAllocator(\n      const SanitizingAllocator<U>&) noexcept"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::internal::allocate
      Src: /src/tink/cc/util/secret_data_internal.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - std::size_t
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: crypto::tink::util::internal::allocate
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 1
    functionsReached:
    - crypto::tink::util::internal::allocate
    linkageType: ''
    returnType: ABSL_MUST_USE_RESULT
    signature: ABSL_MUST_USE_RESULT * allocate(std::size_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::internal::deallocate
      Src: /src/tink/cc/util/secret_data_internal.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - n
    argTypes:
    - T*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: crypto::tink::util::internal::deallocate
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 1
    functionsReached:
    - crypto::tink::util::internal::deallocate
    linkageType: ''
    returnType: void
    signature: void deallocate(T* ptr, std::size_t n) noexcept
  - 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==(const SanitizingAllocator&)
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const SanitizingAllocator&)
  - 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: operator!=(const SanitizingAllocator&)
    functionSourceFile: /src/tink/cc/util/secret_data_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator!=(const SanitizingAllocator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/istream_input_stream_test.cc:53,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/util/istream_input_stream_test.cc:53,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/istream_input_stream_test.cc:54,1
    - Dst: std::ofstream::write
      Src: /src/tink/cc/util/istream_input_stream_test.cc:56,1
    - Dst: std::string*::data
      Src: /src/tink/cc/util/istream_input_stream_test.cc:56,1
    - Dst: std::ofstream::tellp
      Src: /src/tink/cc/util/istream_input_stream_test.cc:56,1
    - Dst: exit
      Src: /src/tink/cc/util/istream_input_stream_test.cc:60,1
    - Dst: std::ofstream::close
      Src: /src/tink/cc/util/istream_input_stream_test.cc:62,1
    - Dst: absl::make_unique<std::ifstream>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/util/istream_input_stream_test.cc:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - filename
    - size
    - file_contents
    argTypes:
    - absl::string_view
    - int
    - std::string*
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: crypto::tink::GetTestIstream
    functionSourceFile: /src/tink/cc/util/istream_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::ofstream::close
    - std::string*::data
    - std::move
    - crypto::tink::test::TmpDir
    - std::ofstream::write
    - exit
    - absl::make_unique<std::ifstream>
    - std::ofstream::tellp
    - absl::StrCat
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: std::unique_ptr<std::istream>
    signature: "std::unique_ptr<std::istream> GetTestIstream(absl::string_view filename,\n
      \                                            int size,\n                                             std::string*
      file_contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/tink/cc/util/istream_input_stream_test.cc:73,1
    - Dst: util::IstreamInputStream*::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:75,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:76,1
    - Dst: std::string*::append
      Src: /src/tink/cc/util/istream_input_stream_test.cc:77,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:77,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:77,1
    - Dst: util::IstreamInputStream*::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input_stream
    - contents
    argTypes:
    - util::IstreamInputStream*
    - std::string*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: crypto::tink::ReadTillEnd
    functionSourceFile: /src/tink/cc/util/istream_input_stream_test.cc
    functionUses: 1
    functionsReached:
    - std::string*::append
    - auto::status
    - auto::ok
    - auto::value
    - util::IstreamInputStream*::Next
    - static_cast<const char*>
    - std::string*::clear
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadTillEnd(util::IstreamInputStream* input_stream,\n
      \                        std::string* contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/istream_input_stream_test.cc:89,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/istream_input_stream_test.cc:90,1
    - Dst: crypto::tink::GetTestIstream
      Src: /src/tink/cc/util/istream_input_stream_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:92,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/istream_input_stream_test.cc:92,1
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:93,1
    - Dst: std::move
      Src: /src/tink/cc/util/istream_input_stream_test.cc:94,1
    - Dst: crypto::tink::ReadTillEnd
      Src: /src/tink/cc/util/istream_input_stream_test.cc:96,1
    - Dst: auto::get
      Src: /src/tink/cc/util/istream_input_stream_test.cc:96,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:97,1
    - Dst: auto::code
      Src: /src/tink/cc/util/istream_input_stream_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:98,1
    - Dst: auto::message
      Src: /src/tink/cc/util/istream_input_stream_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/istream_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ReadTillEnd
    - EXPECT_EQ
    - crypto::tink::internal::GetTestFileNamePrefix
    - absl::make_unique<util::IstreamInputStream>
    - std::move
    - auto::get
    - absl::StrCat
    - std::string::size
    - auto::code
    - auto::message
    - crypto::tink::GetTestIstream
    linkageType: ''
    returnType: void
    signature: void TEST_F(IstreamInputStreamTest, testReadingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/istream_input_stream_test.cc:107,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/istream_input_stream_test.cc:108,1
    - Dst: crypto::tink::GetTestIstream
      Src: /src/tink/cc/util/istream_input_stream_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:110,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/istream_input_stream_test.cc:110,1
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:111,1
    - Dst: std::move
      Src: /src/tink/cc/util/istream_input_stream_test.cc:112,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/istream_input_stream_test.cc:115,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:115,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:116,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:117,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/istream_input_stream_test.cc:117,1
    - Dst: std::string
      Src: /src/tink/cc/util/istream_input_stream_test.cc:118,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/istream_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - std::string
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::internal::GetTestFileNamePrefix
    - absl::make_unique<util::IstreamInputStream>
    - std::move
    - std::string::substr
    - static_cast<const char*>
    - auto::value
    - absl::StrCat
    - std::string::size
    - auto::Next
    - crypto::tink::GetTestIstream
    linkageType: ''
    returnType: void
    signature: void TEST_F(IstreamInputStreamTest, testCustomBufferSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/istream_input_stream_test.cc:128,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/istream_input_stream_test.cc:128,1
    - Dst: crypto::tink::GetTestIstream
      Src: /src/tink/cc/util/istream_input_stream_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:130,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/istream_input_stream_test.cc:130,1
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:133,1
    - Dst: std::move
      Src: /src/tink/cc/util/istream_input_stream_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:135,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:135,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:136,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/istream_input_stream_test.cc:137,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:137,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:138,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:139,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:140,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/istream_input_stream_test.cc:140,1
    - Dst: std::string
      Src: /src/tink/cc/util/istream_input_stream_test.cc:141,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:141,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/istream_input_stream_test.cc:146,1
    - Dst: std::max
      Src: /src/tink/cc/util/istream_input_stream_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:148,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:148,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/istream_input_stream_test.cc:152,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:152,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:153,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:154,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:155,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/istream_input_stream_test.cc:156,1
    - Dst: std::string
      Src: /src/tink/cc/util/istream_input_stream_test.cc:157,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:157,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/istream_input_stream_test.cc:162,1
    - Dst: std::max
      Src: /src/tink/cc/util/istream_input_stream_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:164,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:164,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:168,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/istream_input_stream_test.cc:169,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:169,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:170,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:171,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:172,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/istream_input_stream_test.cc:173,1
    - Dst: std::string
      Src: /src/tink/cc/util/istream_input_stream_test.cc:174,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:174,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/istream_input_stream_test.cc:178,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:178,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:179,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:180,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:181,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/istream_input_stream_test.cc:181,1
    - Dst: std::string
      Src: /src/tink/cc/util/istream_input_stream_test.cc:182,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:182,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/istream_input_stream_test.cc:188,1
    - Dst: std::min
      Src: /src/tink/cc/util/istream_input_stream_test.cc:189,1
    - Dst: std::max
      Src: /src/tink/cc/util/istream_input_stream_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:191,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:191,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/istream_input_stream_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/istream_input_stream_test.cc:196,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/istream_input_stream_test.cc:196,1
    - Dst: auto::status
      Src: /src/tink/cc/util/istream_input_stream_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:197,1
    - Dst: auto::value
      Src: /src/tink/cc/util/istream_input_stream_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:198,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/istream_input_stream_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/istream_input_stream_test.cc:199,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/istream_input_stream_test.cc:199,1
    - Dst: std::string
      Src: /src/tink/cc/util/istream_input_stream_test.cc:200,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/istream_input_stream_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 201
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/istream_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::Position
    - absl::StrCat
    - auto::Next
    - std::min
    - auto::status
    - std::string
    - crypto::tink::internal::GetTestFileNamePrefix
    - absl::make_unique<util::IstreamInputStream>
    - std::string::substr
    - auto::BackUp
    - static_cast<const char*>
    - EXPECT_EQ
    - std::max
    - crypto::tink::GetTestIstream
    - auto::value
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void TEST_F(IstreamInputStreamTest, testBackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:53,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/util/file_input_stream_test.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_input_stream_test.cc:56,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:57,1
    - Dst: std::strerror
      Src: /src/tink/cc/util/file_input_stream_test.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: crypto::tink::OpenTestFileToRead
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::TmpDir
    - std::strerror
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> OpenTestFileToRead(absl::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/tink/cc/util/file_input_stream_test.cc:68,1
    - Dst: util::FileInputStream*::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_input_stream_test.cc:71,1
    - Dst: std::string*::append
      Src: /src/tink/cc/util/file_input_stream_test.cc:72,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:72,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_input_stream_test.cc:72,1
    - Dst: util::FileInputStream*::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - input_stream
    - contents
    argTypes:
    - util::FileInputStream*
    - std::string*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: crypto::tink::ReadAll
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    - auto::status
    - auto::ok
    - util::FileInputStream*::Next
    - auto::value
    - static_cast<const char*>
    - std::string*::clear
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadAll(util::FileInputStream* input_stream,\n                     std::string*
      contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_input_stream_test.cc:82,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:82,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:83,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:84,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:86,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:86,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:87,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:88,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:89,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:89,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:90,1
    - Dst: crypto::tink::ReadAll
      Src: /src/tink/cc/util/file_input_stream_test.cc:92,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_input_stream_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/file_input_stream_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:94,1
    - Dst: auto::message
      Src: /src/tink/cc/util/file_input_stream_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ReadAll
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - StatusIs
    - auto::message
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - std::string::size
    - absl::make_unique<util::FileInputStream>
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_P(FileInputStreamTestDefaultBufferSize, ReadAllfFromInputStreamSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_input_stream_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:108,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:110,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:111,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:113,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:113,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:116,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:116,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:118,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_input_stream_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:123,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/file_input_stream_test.cc:123,1
    - Dst: std::string
      Src: /src/tink/cc/util/file_input_stream_test.cc:124,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - std::string::substr
    - static_cast<const char*>
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - auto::value
    - absl::StrCat
    - SCOPED_TRACE
    - std::string::size
    - absl::make_unique<util::FileInputStream>
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: "void TEST_P(FileInputStreamTestCustomBufferSizes,\n       ReadAllWithCustomBufferSizeSucceeds)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:135,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:135,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/file_input_stream_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::Next
    - EXPECT_THAT
    - absl::make_unique<util::FileInputStream>
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(FileInputStreamTest, NextFailsIfFdIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:142,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:143,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:145,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:145,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:147,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:147,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:148,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:148,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:152,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:152,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/file_input_stream_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - StatusIs
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - EXPECT_THAT
    - absl::StrCat
    - absl::make_unique<util::FileInputStream>
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(FileInputStreamTest, NextFailsIfDataIsNull)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:159,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:160,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:162,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:162,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:164,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:165,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:165,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:167,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:170,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:173,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:175,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:176,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:176,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - static_cast<const char*>
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - IsOkAndHolds
    - absl::StrCat
    - absl::make_unique<util::FileInputStream>
    - std::string::size
    - auto::Position
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(FileInputStreamTest, NextReadsExactlyOneBlockOfData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:183,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:184,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:186,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:186,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:188,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:189,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:189,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:192,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:192,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:197,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:197,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:199,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:200,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:200,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:200,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:205,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:205,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:207,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:207,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:212,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:212,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:212,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:214,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:215,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:215,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 217
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - static_cast<const char*>
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - auto::Position
    - absl::StrCat
    - absl::make_unique<util::FileInputStream>
    - std::string::size
    - IsOkAndHolds
    - auto::BackUp
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(FileInputStreamTest, BackupForNegativeOrZeroBytesIsANoop)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:222,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:223,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:225,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:225,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:227,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:228,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:228,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:230,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:235,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:235,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:237,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:237,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:238,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:238,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:238,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:245,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:245,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:247,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:247,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:250,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:250,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:254,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:254,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:261,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:261,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:262,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:263,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:263,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:263,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 266
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - auto::size
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - static_cast<const char*>
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - IsOkAndHolds
    - absl::StrCat
    - absl::make_unique<util::FileInputStream>
    - std::string::size
    - auto::Position
    - auto::BackUp
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(FileInputStreamTest, BackupForLessThanOneBlockOfData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_input_stream_test.cc:273,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_input_stream_test.cc:274,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_input_stream_test.cc:275,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:276,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_input_stream_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:276,1
    - Dst: crypto::tink::OpenTestFileToRead
      Src: /src/tink/cc/util/file_input_stream_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:278,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_input_stream_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_input_stream_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:279,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_input_stream_test.cc:279,1
    - Dst: absl::make_unique<util::FileInputStream>
      Src: /src/tink/cc/util/file_input_stream_test.cc:281,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:286,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:288,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:288,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:288,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:290,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:291,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:291,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:291,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:296,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:296,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:298,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:299,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:299,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:303,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:303,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:305,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:305,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_input_stream_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:307,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_input_stream_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_input_stream_test.cc:310,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_input_stream_test.cc:310,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/util/file_input_stream_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_input_stream_test.cc:311,1
    - Dst: absl::string_view
      Src: /src/tink/cc/util/file_input_stream_test.cc:311,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/util/file_input_stream_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 313
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/file_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - static_cast<const char*>
    - ASSERT_THAT
    - crypto::tink::OpenTestFileToRead
    - IsOkAndHolds
    - absl::StrCat
    - absl::make_unique<util::FileInputStream>
    - std::string::size
    - auto::Position
    - auto::BackUp
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(FileInputStreamTest, BackupAtMostOfOneBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/util/fake_kms_client_test.cc:52,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/util/fake_kms_client_test.cc:54,1
    - Dst: KmsAeadKeyFormat::set_key_uri
      Src: /src/tink/cc/util/fake_kms_client_test.cc:56,1
    - Dst: KmsAeadKeyFormat::SerializeToString
      Src: /src/tink/cc/util/fake_kms_client_test.cc:57,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: crypto::tink::test::NewKmsAeadKeyTemplate
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - KmsAeadKeyFormat::SerializeToString
    - KeyTemplate::set_output_prefix_type
    - KeyTemplate::mutable_value
    - KmsAeadKeyFormat::set_key_uri
    - KeyTemplate::set_type_url
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate NewKmsAeadKeyTemplate(std::string key_uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/util/fake_kms_client_test.cc:65,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/util/fake_kms_client_test.cc:67,1
    - Dst: KmsEnvelopeAeadKeyFormat::set_kek_uri
      Src: /src/tink/cc/util/fake_kms_client_test.cc:69,1
    - Dst: KmsEnvelopeAeadKeyFormat::mutable_dek_template
      Src: /src/tink/cc/util/fake_kms_client_test.cc:70,1
    - Dst: KmsEnvelopeAeadKeyFormat::SerializeToString
      Src: /src/tink/cc/util/fake_kms_client_test.cc:71,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key_uri
    - ' dek_template'
    argTypes:
    - std::string
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: crypto::tink::test::NewKmsEnvelopeKeyTemplate
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - KmsEnvelopeAeadKeyFormat::SerializeToString
    - KeyTemplate::set_output_prefix_type
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - KmsEnvelopeAeadKeyFormat::set_kek_uri
    - KmsEnvelopeAeadKeyFormat::mutable_dek_template
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate NewKmsEnvelopeKeyTemplate(std::string key_uri,\n                                      const
      KeyTemplate& dek_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:77,1
    - Dst: crypto::tink::DeterministicAeadConfig::Register
      Src: /src/tink/cc/util/fake_kms_client_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: crypto::tink::test::FakeKmsClientTest::SetUpTestSuite
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::DeterministicAeadConfig::Register
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
      Src: /src/tink/cc/util/fake_kms_client_test.cc:81,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:82,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:82,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:82,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:83,1
    - Dst: crypto::tink::test::FakeKmsClient::New
      Src: /src/tink/cc/util/fake_kms_client_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:86,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:86,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client_test.cc:87,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:88,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/util/fake_kms_client_test.cc:88,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/util/fake_kms_client_test.cc:90,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:91,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:91,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client_test.cc:92,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:92,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/util/fake_kms_client_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:97,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:97,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:97,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:98,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/util/fake_kms_client_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:100,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/fake_kms_client_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: crypto::tink::test::TEST_F
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    - auto::Decrypt
    - auto::value
    - auto::GetAead
    - crypto::tink::test::FakeKmsClient::New
    - auto::Encrypt
    - auto::DoesSupport
    linkageType: ''
    returnType: void
    signature: void TEST_F(FakeKmsClientTest, CreateNewAeadSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::New
      Src: /src/tink/cc/util/fake_kms_client_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:110,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:110,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client_test.cc:111,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:118,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/util/fake_kms_client_test.cc:118,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/util/fake_kms_client_test.cc:119,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: crypto::tink::test::TEST_F
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::value
    - auto::GetAead
    - crypto::tink::test::FakeKmsClient::New
    - EXPECT_FALSE
    - auto::DoesSupport
    linkageType: ''
    returnType: void
    signature: void TEST_F(FakeKmsClientTest, ClientIsBound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::New
      Src: /src/tink/cc/util/fake_kms_client_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:125,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:125,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client_test.cc:126,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:133,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/util/fake_kms_client_test.cc:133,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/util/fake_kms_client_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:135,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:141,1
    - Dst: auto::DoesSupport
      Src: /src/tink/cc/util/fake_kms_client_test.cc:141,1
    - Dst: auto::GetAead
      Src: /src/tink/cc/util/fake_kms_client_test.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:143,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:143,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: crypto::tink::test::TEST_F
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::value
    - auto::GetAead
    - crypto::tink::test::FakeKmsClient::New
    - auto::DoesSupport
    linkageType: ''
    returnType: void
    signature: void TEST_F(FakeKmsClientTest, ClientIsUnbound)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
      Src: /src/tink/cc/util/fake_kms_client_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:148,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:148,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:149,1
    - Dst: crypto::tink::test::FakeKmsClient::RegisterNewClient
      Src: /src/tink/cc/util/fake_kms_client_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/fake_kms_client_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/util/fake_kms_client_test.cc:151,1
    - Dst: crypto::tink::test::NewKmsAeadKeyTemplate
      Src: /src/tink/cc/util/fake_kms_client_test.cc:153,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/util/fake_kms_client_test.cc:155,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/util/fake_kms_client_test.cc:155,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:156,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:156,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:157,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/util/fake_kms_client_test.cc:158,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:159,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:159,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:159,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client_test.cc:160,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:160,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/util/fake_kms_client_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:165,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:165,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:165,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:166,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/util/fake_kms_client_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:168,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:168,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/fake_kms_client_test.cc:169,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: crypto::tink::test::TEST_F
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::ok
    - crypto::tink::test::NewKmsAeadKeyTemplate
    - EXPECT_EQ
    - IsOk
    - crypto::tink::test::FakeKmsClient::RegisterNewClient
    - std::move
    - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    - auto::Decrypt
    - ConfigGlobalRegistry
    - auto::value
    - EXPECT_THAT
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(FakeKmsClientTest, RegisterAndEncryptDecryptWithKmsAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
      Src: /src/tink/cc/util/fake_kms_client_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:174,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:174,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:174,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:175,1
    - Dst: crypto::tink::test::FakeKmsClient::RegisterNewClient
      Src: /src/tink/cc/util/fake_kms_client_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/fake_kms_client_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/util/fake_kms_client_test.cc:177,1
    - Dst: crypto::tink::test::NewKmsEnvelopeKeyTemplate
      Src: /src/tink/cc/util/fake_kms_client_test.cc:180,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/util/fake_kms_client_test.cc:180,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/util/fake_kms_client_test.cc:182,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/util/fake_kms_client_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:183,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:183,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:183,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:184,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/util/fake_kms_client_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:186,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:186,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:186,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client_test.cc:187,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:187,1
    - Dst: auto::Encrypt
      Src: /src/tink/cc/util/fake_kms_client_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:192,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:192,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:192,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:193,1
    - Dst: auto::Decrypt
      Src: /src/tink/cc/util/fake_kms_client_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/fake_kms_client_test.cc:195,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client_test.cc:195,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/fake_kms_client_test.cc:196,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: crypto::tink::test::TEST_F
    functionSourceFile: /src/tink/cc/util/fake_kms_client_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::ok
    - crypto::tink::test::NewKmsEnvelopeKeyTemplate
    - EXPECT_EQ
    - IsOk
    - crypto::tink::test::FakeKmsClient::RegisterNewClient
    - std::move
    - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    - auto::Decrypt
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - ConfigGlobalRegistry
    - EXPECT_THAT
    - auto::Encrypt
    linkageType: ''
    returnType: void
    signature: void TEST_F(FakeKmsClientTest, RegisterAndEncryptDecryptWithKmsEnvelopeAead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::internal::SanitizingAllocator
      Src: /src/tink/cc/util/secret_proto.h:40,1
    - Dst: crypto::tink::util::internal::SanitizingAllocator
      Src: /src/tink/cc/util/secret_proto.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: crypto::tink::util::internal::SecretArenaOptions
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::internal::SanitizingAllocator
    linkageType: ''
    returnType: google::protobuf::ArenaOptions
    signature: google::protobuf::ArenaOptions SecretArenaOptions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecretProto::ParseFromArray
      Src: /src/tink/cc/util/secret_proto.h:60,1
    - Dst: data
      Src: /src/tink/cc/util/secret_proto.h:60,1
    - Dst: size
      Src: /src/tink/cc/util/secret_proto.h:60,1
    - Dst: Status
      Src: /src/tink/cc/util/secret_proto.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' data'
    argTypes:
    - SecretData
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: crypto::tink::util::SecretProto::ParseFromSecretData
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached:
    - Status
    - data
    - SecretProto::ParseFromArray
    - size
    linkageType: ''
    returnType: StatusOr<SecretProto<T>>
    signature: StatusOr<SecretProto<T>> ParseFromSecretData(const SecretData& data)
  - 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: crypto::tink::util::SecretProto::SecretProto
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretProto()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretProto
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: crypto::tink::util::SecretProto::SecretProto
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretProto(const SecretProto& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/secret_proto.h:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretProto
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: crypto::tink::util::SecretProto::SecretProto
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SecretProto(SecretProto&& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: crypto::tink::util::SecretProto::SecretProto
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretProto(const T& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretProto
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: '& operator=(const SecretProto& other)'
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecretProto
    signature: SecretProto & operator=(const SecretProto& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swap
      Src: /src/tink/cc/util/secret_proto.h:81,1
    - Dst: swap
      Src: /src/tink/cc/util/secret_proto.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretProto
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: '& operator=(SecretProto&& other) noexcept'
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached:
    - swap
    linkageType: ''
    returnType: SecretProto
    signature: SecretProto & operator=(SecretProto&& other) noexcept
  - 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: crypto::tink::util::SecretProto::get
    functionSourceFile: /src/tink/cc/util/secret_proto.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: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: '* operator->()'
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * operator->()
  - 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: '* operator->() const'
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T * operator->() 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: '& operator*()'
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator*()
  - 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*() const'
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & operator*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ByteSizeLong
      Src: /src/tink/cc/util/secret_proto.h:96,1
    - Dst: SerializeToArray
      Src: /src/tink/cc/util/secret_proto.h:97,1
    - Dst: SecretData::data
      Src: /src/tink/cc/util/secret_proto.h:97,1
    - Dst: SecretData::size
      Src: /src/tink/cc/util/secret_proto.h:97,1
    - Dst: Status
      Src: /src/tink/cc/util/secret_proto.h:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: crypto::tink::util::SecretProto::SerializeAsSecretData
    functionSourceFile: /src/tink/cc/util/secret_proto.h
    functionUses: 0
    functionsReached:
    - SecretData::data
    - ByteSizeLong
    - Status
    - SerializeToArray
    - SecretData::size
    linkageType: ''
    returnType: StatusOr<SecretData>
    signature: StatusOr<SecretData> SerializeAsSecretData() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StartsWithIgnoreCase
      Src: /src/tink/cc/util/fake_kms_client.cc:64,1
    - Dst: std::string
      Src: /src/tink/cc/util/fake_kms_client.cc:65,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/util/fake_kms_client.cc:65,1
    - Dst: std::string
      Src: /src/tink/cc/util/fake_kms_client.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: crypto::tink::test::GetEncodedKeyset
    functionSourceFile: /src/tink/cc/util/fake_kms_client.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::substr
    - std::string
    - absl::StartsWithIgnoreCase
    linkageType: ''
    returnType: std::string
    signature: std::string GetEncodedKeyset(absl::string_view key_uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FakeKmsClient::FakeKmsClient
      Src: /src/tink/cc/util/fake_kms_client.cc:74,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/util/fake_kms_client.cc:76,1
    - Dst: GetEncodedKeyset
      Src: /src/tink/cc/util/fake_kms_client.cc:77,1
    - Dst: std::unique_ptr::encoded_keyset_::empty
      Src: /src/tink/cc/util/fake_kms_client.cc:78,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/fake_kms_client.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key_uri
    - credentials_path
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: crypto::tink::test::FakeKmsClient::New
    functionSourceFile: /src/tink/cc/util/fake_kms_client.cc
    functionUses: 4
    functionsReached:
    - GetEncodedKeyset
    - std::move
    - ToStatusF
    - absl::string_view::empty
    - FakeKmsClient::FakeKmsClient
    - std::unique_ptr::encoded_keyset_::empty
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<FakeKmsClient>>
    signature: "StatusOr<std::unique_ptr<FakeKmsClient>> FakeKmsClient::New(\n    absl::string_view
      key_uri, absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/tink/cc/util/fake_kms_client.cc:87,1
    - Dst: GetEncodedKeyset
      Src: /src/tink/cc/util/fake_kms_client.cc:88,1
    - Dst: GetEncodedKeyset
      Src: /src/tink/cc/util/fake_kms_client.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: crypto::tink::test::FakeKmsClient::DoesSupport
    functionSourceFile: /src/tink/cc/util/fake_kms_client.cc
    functionUses: 0
    functionsReached:
    - GetEncodedKeyset
    - empty
    linkageType: ''
    returnType: bool
    signature: bool FakeKmsClient::DoesSupport(absl::string_view key_uri) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::DoesSupport
      Src: /src/tink/cc/util/fake_kms_client.cc:95,1
    - Dst: empty
      Src: /src/tink/cc/util/fake_kms_client.cc:96,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/fake_kms_client.cc:97,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/fake_kms_client.cc:102,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/util/fake_kms_client.cc:107,1
    - Dst: GetEncodedKeyset
      Src: /src/tink/cc/util/fake_kms_client.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/fake_kms_client.cc:108,1
    - Dst: crypto::tink::BinaryKeysetReader::New
      Src: /src/tink/cc/util/fake_kms_client.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client.cc:111,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client.cc:112,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/util/fake_kms_client.cc:115,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client.cc:115,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client.cc:115,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client.cc:116,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client.cc:117,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client.cc:119,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/util/fake_kms_client.cc:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: crypto::tink::test::FakeKmsClient::GetAead
    functionSourceFile: /src/tink/cc/util/fake_kms_client.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - GetEncodedKeyset
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - ToStatusF
    - crypto::tink::BinaryKeysetReader::New
    - ConfigGlobalRegistry
    - auto::value
    - empty
    - crypto::tink::test::FakeKmsClient::DoesSupport
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<Aead>>
    signature: "StatusOr<std::unique_ptr<Aead>> FakeKmsClient::GetAead(\n    absl::string_view
      key_uri) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::FakeKmsClient::New
      Src: /src/tink/cc/util/fake_kms_client.cc:125,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client.cc:126,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client.cc:127,1
    - Dst: crypto::tink::KmsClients::Add
      Src: /src/tink/cc/util/fake_kms_client.cc:130,1
    - Dst: std::move
      Src: /src/tink/cc/util/fake_kms_client.cc:130,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key_uri
    - credentials_path
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: crypto::tink::test::FakeKmsClient::RegisterNewClient
    functionSourceFile: /src/tink/cc/util/fake_kms_client.cc
    functionUses: 5
    functionsReached:
    - auto::status
    - auto::ok
    - std::move
    - crypto::tink::KmsClients::Add
    - auto::value
    - crypto::tink::test::FakeKmsClient::New
    linkageType: ''
    returnType: Status
    signature: "Status FakeKmsClient::RegisterNewClient(absl::string_view key_uri,\n
      \                                       absl::string_view credentials_path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/util/fake_kms_client.cc:135,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/util/fake_kms_client.cc:137,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/util/fake_kms_client.cc:137,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client.cc:138,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client.cc:139,1
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/util/fake_kms_client.cc:143,1
    - Dst: absl::make_unique<std::ostream>
      Src: /src/tink/cc/util/fake_kms_client.cc:143,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client.cc:144,1
    - Dst: auto::status
      Src: /src/tink/cc/util/fake_kms_client.cc:145,1
    - Dst: crypto::tink::CleartextKeysetHandle::Write
      Src: /src/tink/cc/util/fake_kms_client.cc:147,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client.cc:147,1
    - Dst: auto::value
      Src: /src/tink/cc/util/fake_kms_client.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/fake_kms_client.cc:149,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/util/fake_kms_client.cc:153,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/util/fake_kms_client.cc:153,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/fake_kms_client.cc:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
    functionSourceFile: /src/tink/cc/util/fake_kms_client.cc
    functionUses: 6
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - auto::ok
    - crypto::tink::CleartextKeysetHandle::Write
    - absl::WebSafeBase64Escape
    - absl::make_unique<std::ostream>
    - std::stringbuf::str
    - AeadKeyTemplates::Aes128Gcm
    - auto::value
    - absl::StrCat
    - crypto::tink::BinaryKeysetWriter::New
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: StatusOr<std::string> FakeKmsClient::CreateFakeKeyUri()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyData::set_value
      Src: /src/tink/cc/util/test_util.h:180,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/util/test_util.h:180,1
    - Dst: google::crypto::tink::KeyData::set_type_url
      Src: /src/tink/cc/util/test_util.h:181,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:181,1
    - Dst: GetTypeName
      Src: /src/tink/cc/util/test_util.h:181,1
    - Dst: google::crypto::tink::KeyData::set_key_material_type
      Src: /src/tink/cc/util/test_util.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ' proto'
    - key_material_type
    argTypes:
    - Proto
    - google::crypto::tink::KeyData::KeyMaterialType
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: crypto::tink::test::AsKeyData
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 14
    functionsReached:
    - google::crypto::tink::KeyData::set_type_url
    - google::crypto::tink::KeyData::set_key_material_type
    - GetTypeName
    - absl::StrCat
    - SerializeAsString
    - google::crypto::tink::KeyData::set_value
    linkageType: ''
    returnType: google::crypto::tink::KeyData
    signature: "google::crypto::tink::KeyData AsKeyData(\n    const Proto& proto,\n
      \   google::crypto::tink::KeyData::KeyMaterialType key_material_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: crypto::tink::test::DummyAead::DummyAead
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyAead(absl::string_view aead_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:238,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:238,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: crypto::tink::test::DummyAead::Encrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - absl::string_view::size
    - size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Encrypt(\n      absl::string_view
      plaintext,\n      absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:246,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:246,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.h:246,1
    - Dst: absl::StartsWith
      Src: /src/tink/cc/util/test_util.h:248,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:249,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/tink/cc/util/test_util.h:252,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/test_util.h:252,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: crypto::tink::test::DummyAead::Decrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StartsWith
    - absl::string_view::size
    - std::string
    - size
    - crypto::tink::internal::ExtractStatus
    - absl::string_view::remove_prefix
    - absl::StrCat
    - std::string::size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Decrypt(\n      absl::string_view
      ciphertext,\n      absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aead_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 265
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 265
    functionName: crypto::tink::test::DummyCordAead::DummyCordAead
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyCordAead(absl::string_view aead_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyCordAead::Encrypt
      Src: /src/tink/cc/util/test_util.h:272,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/util/test_util.h:272,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/util/test_util.h:272,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.h:274,1
    - Dst: auto::status
      Src: /src/tink/cc/util/test_util.h:274,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util.h:277,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::Cord
    - absl::Cord
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: crypto::tink::test::DummyCordAead::Encrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 1
    functionsReached:
    - auto::status
    - absl::Cord::Flatten
    - auto::ok
    - auto::value
    - crypto::tink::test::DummyCordAead::Encrypt
    - absl::Cord::Append
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<absl::Cord>
    signature: "crypto::tink::util::StatusOr<absl::Cord> Encrypt(\n      absl::Cord
      plaintext, absl::Cord associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyCordAead::Decrypt
      Src: /src/tink/cc/util/test_util.h:284,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/util/test_util.h:284,1
    - Dst: absl::Cord::Flatten
      Src: /src/tink/cc/util/test_util.h:284,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.h:286,1
    - Dst: auto::status
      Src: /src/tink/cc/util/test_util.h:286,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util.h:289,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::Cord
    - absl::Cord
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: crypto::tink::test::DummyCordAead::Decrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 1
    functionsReached:
    - auto::status
    - absl::Cord::Flatten
    - crypto::tink::test::DummyCordAead::Decrypt
    - auto::ok
    - auto::value
    - absl::Cord::Append
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<absl::Cord>
    signature: "crypto::tink::util::StatusOr<absl::Cord> Decrypt(\n      absl::Cord
      ciphertext, absl::Cord associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - daead_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: crypto::tink::test::DummyDeterministicAead::DummyDeterministicAead
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyDeterministicAead(absl::string_view daead_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/util/test_util.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: crypto::tink::test::DummyDeterministicAead::EncryptDeterministically
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Encrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> EncryptDeterministically(\n
      \     absl::string_view plaintext,\n      absl::string_view associated_data)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/tink/cc/util/test_util.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - associated_data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: crypto::tink::test::DummyDeterministicAead::DecryptDeterministically
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> DecryptDeterministically(\n
      \     absl::string_view ciphertext,\n      absl::string_view associated_data)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - streaming_aead_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: crypto::tink::test::DummyStreamingAead::DummyStreamingAead
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyStreamingAead(absl::string_view streaming_aead_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyEncryptingStream>
      Src: /src/tink/cc/util/test_util.h:336,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:337,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_destination
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::OutputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: crypto::tink::test::DummyStreamingAead::NewEncryptingStream
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - absl::StrCat
    - absl::make_unique<DummyEncryptingStream>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::OutputStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::OutputStream>>
      NewEncryptingStream(\n      std::unique_ptr<crypto::tink::OutputStream> ciphertext_destination,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyDecryptingStream>
      Src: /src/tink/cc/util/test_util.h:345,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:346,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: crypto::tink::test::DummyStreamingAead::NewDecryptingStream
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<DummyDecryptingStream>
    - absl::StrCat
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>
      NewDecryptingStream(\n      std::unique_ptr<crypto::tink::InputStream> ciphertext_source,\n
      \     absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<DummyDecryptingRandomAccessStream>
      Src: /src/tink/cc/util/test_util.h:355,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:356,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 358
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 358
    functionName: crypto::tink::test::DummyStreamingAead::NewDecryptingRandomAccessStream
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<DummyDecryptingRandomAccessStream>
    - std::move
    - absl::StrCat
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>"
    signature: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>
      NewDecryptingRandomAccessStream(\n      std::unique_ptr<crypto::tink::RandomAccessStream>
      ciphertext_source,\n      absl::string_view associated_data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:367,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.h:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ct_dest
    - header
    argTypes:
    - std::unique_ptr<crypto::tink::OutputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::DummyEncryptingStream
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: "void DummyEncryptingStream(std::unique_ptr<crypto::tink::OutputStream>
      ct_dest,\n                          absl::string_view header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
      Src: /src/tink/cc/util/test_util.h:375,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.h:376,1
    - Dst: auto::status
      Src: /src/tink/cc/util/test_util.h:377,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:380,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:380,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:382,1
    - Dst: memcpy
      Src: /src/tink/cc/util/test_util.h:384,1
    - Dst: data
      Src: /src/tink/cc/util/test_util.h:384,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/test_util.h:384,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:384,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
      Src: /src/tink/cc/util/test_util.h:385,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:385,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:385,1
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:388,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
      Src: /src/tink/cc/util/test_util.h:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 3
    functionsReached:
    - auto::status
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - ok
    - auto::value
    - static_cast<int>
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    - data
    - memcpy
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(void** data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:393,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
      Src: /src/tink/cc/util/test_util.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 5
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:399,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
      Src: /src/tink/cc/util/test_util.h:400,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 2
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
      Src: /src/tink/cc/util/test_util.h:408,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.h:409,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
      Src: /src/tink/cc/util/test_util.h:410,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:410,1
    - Dst: auto::status
      Src: /src/tink/cc/util/test_util.h:412,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
      Src: /src/tink/cc/util/test_util.h:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 417
    functionName: crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 2
    functionsReached:
    - auto::status
    - auto::ok
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
    - auto::value
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
    - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
    linkageType: ''
    returnType: util::Status
    signature: util::Status Close() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:434,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.h:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ct_source
    - expected_header
    argTypes:
    - std::unique_ptr<crypto::tink::InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::DummyDecryptingStream
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: "void DummyDecryptingStream(std::unique_ptr<crypto::tink::InputStream>
      ct_source,\n                          absl::string_view expected_header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
      Src: /src/tink/cc/util/test_util.h:442,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.h:443,1
    - Dst: auto::status
      Src: /src/tink/cc/util/test_util.h:444,1
    - Dst: code
      Src: /src/tink/cc/util/test_util.h:445,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:446,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:451,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:451,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:453,1
    - Dst: memcmp
      Src: /src/tink/cc/util/test_util.h:454,1
    - Dst: data
      Src: /src/tink/cc/util/test_util.h:454,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/test_util.h:455,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:455,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:456,1
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:459,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
      Src: /src/tink/cc/util/test_util.h:460,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:460,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:460,1
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:463,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
      Src: /src/tink/cc/util/test_util.h:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 465
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 465
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 2
    functionsReached:
    - auto::status
    - auto::ok
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
    - ok
    - auto::value
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
    - static_cast<int>
    - data
    - memcmp
    - code
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(const void** data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:468,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
      Src: /src/tink/cc/util/test_util.h:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 471
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 4
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:474,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
      Src: /src/tink/cc/util/test_util.h:475,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 2
    functionsReached:
    - ok
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
    - size
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ct_source
    - expected_header
    argTypes:
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::DummyDecryptingRandomAccessStream
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DummyDecryptingRandomAccessStream(\n        std::unique_ptr<crypto::tink::RandomAccessStream>
      ct_source,\n        absl::string_view expected_header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckHeader
      Src: /src/tink/cc/util/test_util.h:503,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/util/test_util.h:504,1
    - Dst: crypto::tink::util::Buffer*::set_size
      Src: /src/tink/cc/util/test_util.h:507,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/util/test_util.h:508,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
      Src: /src/tink/cc/util/test_util.h:509,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - crypto::tink::util::Buffer*
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 3
    functionsReached:
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
    - util::Status::ok
    - CheckHeader
    - crypto::tink::util::Buffer*::set_size
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status PRead(\n        int64_t position, int count,\n
      \       crypto::tink::util::Buffer* dest_buffer) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CheckHeader
      Src: /src/tink/cc/util/test_util.h:514,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/util/test_util.h:515,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:518,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.h:519,1
    - Dst: auto::status
      Src: /src/tink/cc/util/test_util.h:519,1
    - Dst: auto::value
      Src: /src/tink/cc/util/test_util.h:520,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:520,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 5
    functionsReached:
    - auto::status
    - util::Status::ok
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - CheckHeader
    - auto::value
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    linkageType: ''
    returnType: util::StatusOr<int64_t>
    signature: util::StatusOr<int64_t> size() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: code
      Src: /src/tink/cc/util/test_util.h:528,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:531,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/test_util.h:531,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:531,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
      Src: /src/tink/cc/util/test_util.h:533,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:533,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util.h:533,1
    - Dst: ok
      Src: /src/tink/cc/util/test_util.h:534,1
    - Dst: code
      Src: /src/tink/cc/util/test_util.h:535,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.h:539,1
    - Dst: auto::size
      Src: /src/tink/cc/util/test_util.h:541,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:541,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:542,1
    - Dst: memcmp
      Src: /src/tink/cc/util/test_util.h:544,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/test_util.h:544,1
    - Dst: data
      Src: /src/tink/cc/util/test_util.h:544,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/test_util.h:545,1
    - Dst: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
      Src: /src/tink/cc/util/test_util.h:545,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 550
    functionName: crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::ABSL_LOCKS_EXCLUDED
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
    - static_cast<int>
    - auto::size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::util::Buffer::New
    - ok
    - auto::get
    - memcmp
    - crypto::tink::util::OkStatus
    - data
    - code
    - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
    linkageType: ''
    returnType: void
    signature: void ABSL_LOCKS_EXCLUDED(header_check_status_mutex_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hybrid_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 570
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 570
    functionName: crypto::tink::test::DummyHybridEncrypt::DummyHybridEncrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void DummyHybridEncrypt(absl::string_view hybrid_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyHybridEncrypt::Encrypt
      Src: /src/tink/cc/util/test_util.h:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plaintext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: crypto::tink::test::DummyHybridEncrypt::Encrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 1
    functionsReached:
    - crypto::tink::test::DummyHybridEncrypt::Encrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Encrypt(\n      absl::string_view
      plaintext,\n      absl::string_view context_info) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - hybrid_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 590
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 590
    functionName: crypto::tink::test::DummyHybridDecrypt::DummyHybridDecrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void DummyHybridDecrypt(absl::string_view hybrid_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyHybridDecrypt::Decrypt
      Src: /src/tink/cc/util/test_util.h:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: crypto::tink::test::DummyHybridDecrypt::Decrypt
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 1
    functionsReached:
    - crypto::tink::test::DummyHybridDecrypt::Decrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Decrypt(\n      absl::string_view
      ciphertext,\n      absl::string_view context_info) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signature_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: crypto::tink::test::DummyPublicKeySign::DummyPublicKeySign
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void DummyPublicKeySign(absl::string_view signature_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/util/test_util.h:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: crypto::tink::test::DummyPublicKeySign::Sign
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Encrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> Sign(\n      absl::string_view
      data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - signature_name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: crypto::tink::test::DummyPublicKeyVerify::DummyPublicKeyVerify
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void DummyPublicKeyVerify(absl::string_view signature_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/tink/cc/util/test_util.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: crypto::tink::test::DummyPublicKeyVerify::Verify
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status Verify(absl::string_view signature,\n                                    absl::string_view
      data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mac_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: crypto::tink::test::DummyMac::DummyMac
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void DummyMac(const std::string& mac_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/util/test_util.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: crypto::tink::test::DummyMac::ComputeMac
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Encrypt
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> ComputeMac(\n      absl::string_view
      data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decrypt
      Src: /src/tink/cc/util/test_util.h:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mac
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: crypto::tink::test::DummyMac::VerifyMac
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Decrypt
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status VerifyMac(absl::string_view mac,\n                                       absl::string_view
      data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' mac_name'
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: crypto::tink::test::DummyStatefulMac::DummyStatefulMac
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: void
    signature: void DummyStatefulMac(const std::string& mac_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrAppend
      Src: /src/tink/cc/util/test_util.h:677,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.h:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 679
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 679
    functionName: crypto::tink::test::DummyStatefulMac::Update
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - absl::StrAppend
    linkageType: ''
    returnType: util::Status
    signature: util::Status Update(absl::string_view data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encrypt
      Src: /src/tink/cc/util/test_util.h:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 682
    functionName: crypto::tink::test::DummyStatefulMac::Finalize
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - Encrypt
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> Finalize() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/util/test_util.h:694,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:695,1
    - Dst: DummyKeysetWriter::DummyKeysetWriter
      Src: /src/tink/cc/util/test_util.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - destination_stream
    argTypes:
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: crypto::tink::test::DummyKeysetWriter::New
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 6
    functionsReached:
    - std::move
    - DummyKeysetWriter::DummyKeysetWriter
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<DummyKeysetWriter>>
    signature: "util::StatusOr<std::unique_ptr<DummyKeysetWriter>> New(\n      std::unique_ptr<std::ostream>
      destination_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.h:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - google::crypto::tink::Keyset
    constantsTouched: []
    func_position:
      end: 700
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 700
    functionName: crypto::tink::test::DummyKeysetWriter::Write
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Write(const google::crypto::tink::Keyset& keyset) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' encrypted_keyset'
    argTypes:
    - google::crypto::tink::EncryptedKeyset
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: crypto::tink::test::DummyKeysetWriter::Write
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Write(\n      const google::crypto::tink::EncryptedKeyset&
      encrypted_keyset) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/test_util.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - destination_stream
    argTypes:
    - std::unique_ptr<std::ostream>
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: crypto::tink::test::DummyKeysetWriter::DummyKeysetWriter
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DummyKeysetWriter(std::unique_ptr<std::ostream> destination_stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - uri_prefix
    - key_uri
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: crypto::tink::test::DummyKmsClient::DummyKmsClient
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DummyKmsClient(absl::string_view uri_prefix, absl::string_view
      key_uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/util/test_util.h:721,1
    - Dst: empty
      Src: /src/tink/cc/util/test_util.h:722,1
    - Dst: absl::StartsWith
      Src: /src/tink/cc/util/test_util.h:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: crypto::tink::test::DummyKmsClient::DoesSupport
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - absl::StartsWith
    - empty
    - absl::string_view::empty
    linkageType: ''
    returnType: bool
    signature: bool DoesSupport(absl::string_view key_uri) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::DummyKmsClient::DoesSupport
      Src: /src/tink/cc/util/test_util.h:728,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.h:729,1
    - Dst: absl::make_unique<DummyAead>
      Src: /src/tink/cc/util/test_util.h:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key_uri
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: crypto::tink::test::DummyKmsClient::GetAead
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::DummyKmsClient::DoesSupport
    - absl::make_unique<DummyAead>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Aead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Aead>> GetAead(\n      absl::string_view
      key_uri) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 734
    functionName: ~DummyKmsClient() override
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DummyKmsClient() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: crypto::tink::test::FakeKeysetDeriver::FakeKeysetDeriver
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeKeysetDeriver(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::mutable_key_data
      Src: /src/tink/cc/util/test_util.h:747,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.h:748,1
    - Dst: size
      Src: /src/tink/cc/util/test_util.h:748,1
    - Dst: google::crypto::tink::Keyset::Key::set_status
      Src: /src/tink/cc/util/test_util.h:749,1
    - Dst: google::crypto::tink::Keyset::Key::set_key_id
      Src: /src/tink/cc/util/test_util.h:750,1
    - Dst: google::crypto::tink::Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/util/test_util.h:751,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/test_util.h:755,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/util/test_util.h:756,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/util/test_util.h:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - salt
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 758
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 758
    functionName: crypto::tink::test::FakeKeysetDeriver::DeriveKeyset
    functionSourceFile: /src/tink/cc/util/test_util.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key::mutable_key_data
    - size
    - google::crypto::tink::Keyset::add_key
    - google::crypto::tink::Keyset::Key::set_key_id
    - google::crypto::tink::Keyset::Key::set_output_prefix_type
    - google::crypto::tink::Keyset::Key::set_status
    - google::crypto::tink::Keyset::set_primary_key_id
    - absl::StrCat
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> DeriveKeyset(\n      absl::string_view
      salt) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/istream_input_stream.cc:41,1
    - Dst: absl::make_unique<uint8_t[]>
      Src: /src/tink/cc/util/istream_input_stream.cc:45,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/istream_input_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - input
    - buffer_size
    argTypes:
    - std::unique_ptr<std::istream>
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: crypto::tink::util::IstreamInputStream::IstreamInputStream
    functionSourceFile: /src/tink/cc/util/istream_input_stream.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<uint8_t[]>
    - std::move
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: "void IstreamInputStream::IstreamInputStream(std::unique_ptr<std::istream>
      input,\n                                       int buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/istream_input_stream.cc:51,1
    - Dst: get
      Src: /src/tink/cc/util/istream_input_stream.cc:56,1
    - Dst: read
      Src: /src/tink/cc/util/istream_input_stream.cc:61,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/util/istream_input_stream.cc:61,1
    - Dst: get
      Src: /src/tink/cc/util/istream_input_stream.cc:61,1
    - Dst: good
      Src: /src/tink/cc/util/istream_input_stream.cc:64,1
    - Dst: eof
      Src: /src/tink/cc/util/istream_input_stream.cc:66,1
    - Dst: Status
      Src: /src/tink/cc/util/istream_input_stream.cc:67,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/istream_input_stream.cc:69,1
    - Dst: strerror
      Src: /src/tink/cc/util/istream_input_stream.cc:70,1
    - Dst: get
      Src: /src/tink/cc/util/istream_input_stream.cc:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 80
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 80
    functionName: crypto::tink::util::IstreamInputStream::Next
    functionSourceFile: /src/tink/cc/util/istream_input_stream.cc
    functionUses: 0
    functionsReached:
    - strerror
    - ToStatusF
    - ok
    - Status
    - get
    - reinterpret_cast<char*>
    - read
    - good
    - eof
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> IstreamInputStream::Next(const void**
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/istream_input_stream.cc:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: crypto::tink::util::IstreamInputStream::BackUp
    functionSourceFile: /src/tink/cc/util/istream_input_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: IstreamInputStream::~IstreamInputStream()
    functionSourceFile: /src/tink/cc/util/istream_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IstreamInputStream::~IstreamInputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: crypto::tink::util::IstreamInputStream::Position
    functionSourceFile: /src/tink/cc/util/istream_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t IstreamInputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/util/status.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: crypto::tink::util::OkStatus
    functionSourceFile: /src/tink/cc/util/status.h
    functionUses: 219
    functionsReached:
    - Status
    linkageType: ''
    returnType: Status
    signature: Status OkStatus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dist
      Src: /src/tink/cc/util/keyset_util.cc:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: crypto::tink::NewKeyId
    functionSourceFile: /src/tink/cc/util/keyset_util.cc
    functionUses: 0
    functionsReached:
    - dist
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t NewKeyId()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/tink/cc/util/keyset_util.cc:44,1
    - Dst: key_id
      Src: /src/tink/cc/util/keyset_util.cc:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: crypto::tink::GenerateUnusedKeyId
    functionSourceFile: /src/tink/cc/util/keyset_util.cc
    functionUses: 3
    functionsReached:
    - key
    - key_id
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t GenerateUnusedKeyId(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:40,1
    - Dst: google::crypto::tink::Keyset::Key::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:41,1
    - Dst: google::crypto::tink::Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:42,1
    - Dst: google::crypto::tink::Keyset::Key::set_status
      Src: /src/tink/cc/util/validation_test.cc:43,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:44,1
    - Dst: crypto::tink::ValidateKey
      Src: /src/tink/cc/util/validation_test.cc:44,1
    - Dst: IsOk
      Src: /src/tink/cc/util/validation_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key::mutable_key_data
    - google::crypto::tink::Keyset::Key::set_key_id
    - IsOk
    - google::crypto::tink::Keyset::Key::set_output_prefix_type
    - crypto::tink::ValidateKey
    - google::crypto::tink::Keyset::Key::set_status
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKey, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:49,1
    - Dst: google::crypto::tink::Keyset::Key::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:50,1
    - Dst: google::crypto::tink::Keyset::Key::set_status
      Src: /src/tink/cc/util/validation_test.cc:51,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:52,1
    - Dst: crypto::tink::ValidateKey
      Src: /src/tink/cc/util/validation_test.cc:52,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/validation_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key::mutable_key_data
    - google::crypto::tink::Keyset::Key::set_key_id
    - crypto::tink::ValidateKey
    - google::crypto::tink::Keyset::Key::set_status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKey, MissingOutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:58,1
    - Dst: google::crypto::tink::Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:59,1
    - Dst: google::crypto::tink::Keyset::Key::set_status
      Src: /src/tink/cc/util/validation_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:61,1
    - Dst: crypto::tink::ValidateKey
      Src: /src/tink/cc/util/validation_test.cc:61,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/validation_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key::set_key_id
    - google::crypto::tink::Keyset::Key::set_output_prefix_type
    - crypto::tink::ValidateKey
    - google::crypto::tink::Keyset::Key::set_status
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKey, MissingKeyData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::Key::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:67,1
    - Dst: google::crypto::tink::Keyset::Key::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:68,1
    - Dst: google::crypto::tink::Keyset::Key::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:70,1
    - Dst: crypto::tink::ValidateKey
      Src: /src/tink/cc/util/validation_test.cc:70,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/validation_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key::mutable_key_data
    - google::crypto::tink::Keyset::Key::set_key_id
    - google::crypto::tink::Keyset::Key::set_output_prefix_type
    - crypto::tink::ValidateKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKey, MissingStatus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:76,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:77,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:78,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:79,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:80,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/util/validation_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:82,1
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/util/validation_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/util/validation_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key*::set_key_id
    - google::crypto::tink::Keyset::Key*::set_status
    - google::crypto::tink::Keyset::add_key
    - IsOk
    - google::crypto::tink::Keyset::set_primary_key_id
    - crypto::tink::ValidateKeyset
    - EXPECT_THAT
    - google::crypto::tink::Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset::Key*::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKeyset, Valid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:87,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:88,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:89,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:90,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:91,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:92,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:93,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:94,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:95,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:96,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:97,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:98,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:99,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:100,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:101,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/util/validation_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:103,1
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/util/validation_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/util/validation_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key*::set_key_id
    - google::crypto::tink::Keyset::Key*::set_status
    - google::crypto::tink::Keyset::add_key
    - IsOk
    - google::crypto::tink::Keyset::set_primary_key_id
    - crypto::tink::ValidateKeyset
    - EXPECT_THAT
    - google::crypto::tink::Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset::Key*::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKeyset, ValidMultipleKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:109,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:110,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:111,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:112,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:113,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:114,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:115,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:116,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:117,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:118,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/util/validation_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:120,1
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/util/validation_test.cc:120,1
    - Dst: Not
      Src: /src/tink/cc/util/validation_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/util/validation_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key*::set_key_id
    - google::crypto::tink::Keyset::Key*::set_status
    - google::crypto::tink::Keyset::add_key
    - Not
    - IsOk
    - google::crypto::tink::Keyset::set_primary_key_id
    - crypto::tink::ValidateKeyset
    - EXPECT_THAT
    - google::crypto::tink::Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset::Key*::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKeyset, DuplicatePrimaryId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:126,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:127,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:128,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:129,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:130,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:131,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:132,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:133,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:134,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:135,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:136,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:137,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:138,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:139,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:140,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:141,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:142,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:144,1
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/util/validation_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/util/validation_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key*::set_key_id
    - google::crypto::tink::Keyset::Key*::set_status
    - google::crypto::tink::Keyset::add_key
    - IsOk
    - crypto::tink::ValidateKeyset
    - EXPECT_THAT
    - google::crypto::tink::Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset::Key*::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKeyset, OnlyPublicKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:149,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:150,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:151,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:152,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:153,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/util/validation_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:155,1
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/util/validation_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/validation_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Keyset::Key*::set_key_id
    - google::crypto::tink::Keyset::Key*::set_status
    - google::crypto::tink::Keyset::add_key
    - google::crypto::tink::Keyset::set_primary_key_id
    - crypto::tink::ValidateKeyset
    - EXPECT_THAT
    - StatusIs
    - google::crypto::tink::Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset::Key*::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKeyset, PrimaryIdNonExistent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/util/validation_test.cc:161,1
    - Dst: google::crypto::tink::Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/validation_test.cc:162,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/util/validation_test.cc:162,1
    - Dst: google::crypto::tink::Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/validation_test.cc:163,1
    - Dst: google::crypto::tink::Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/validation_test.cc:164,1
    - Dst: google::crypto::tink::Keyset::Key*::set_status
      Src: /src/tink/cc/util/validation_test.cc:165,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/util/validation_test.cc:166,1
    - Dst: std::numeric_limits<uint32_t>::max
      Src: /src/tink/cc/util/validation_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/validation_test.cc:167,1
    - Dst: crypto::tink::ValidateKeyset
      Src: /src/tink/cc/util/validation_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/util/validation_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/validation_test.cc
    functionUses: 0
    functionsReached:
    - std::numeric_limits<uint32_t>::max
    - google::crypto::tink::Keyset::Key*::set_key_id
    - google::crypto::tink::Keyset::add_key
    - google::crypto::tink::Keyset::Key*::set_status
    - IsOk
    - google::crypto::tink::Keyset::set_primary_key_id
    - crypto::tink::ValidateKeyset
    - EXPECT_THAT
    - google::crypto::tink::Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset::Key*::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(ValidateKeyset, ValidHighId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/ostream_output_stream.cc:41,1
    - Dst: OkStatus
      Src: /src/tink/cc/util/ostream_output_stream.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - output
    - buffer_size
    argTypes:
    - std::unique_ptr<std::ostream>
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: crypto::tink::util::OstreamOutputStream::OstreamOutputStream
    functionSourceFile: /src/tink/cc/util/ostream_output_stream.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - std::move
    linkageType: ''
    returnType: void
    signature: "void OstreamOutputStream::OstreamOutputStream(std::unique_ptr<std::ostream>
      output,\n                                         int buffer_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/ostream_output_stream.cc:51,1
    - Dst: absl::make_unique<uint8_t[]>
      Src: /src/tink/cc/util/ostream_output_stream.cc:54,1
    - Dst: get
      Src: /src/tink/cc/util/ostream_output_stream.cc:55,1
    - Dst: get
      Src: /src/tink/cc/util/ostream_output_stream.cc:68,1
    - Dst: good
      Src: /src/tink/cc/util/ostream_output_stream.cc:80,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/ostream_output_stream.cc:81,1
    - Dst: std::strerror
      Src: /src/tink/cc/util/ostream_output_stream.cc:82,1
    - Dst: get
      Src: /src/tink/cc/util/ostream_output_stream.cc:90,1
    - Dst: std::memmove
      Src: /src/tink/cc/util/ostream_output_stream.cc:94,1
    - Dst: get
      Src: /src/tink/cc/util/ostream_output_stream.cc:94,1
    - Dst: get
      Src: /src/tink/cc/util/ostream_output_stream.cc:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: crypto::tink::util::OstreamOutputStream::Next
    functionSourceFile: /src/tink/cc/util/ostream_output_stream.cc
    functionUses: 0
    functionsReached:
    - std::strerror
    - std::memmove
    - ToStatusF
    - ok
    - get
    - absl::make_unique<uint8_t[]>
    - good
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> OstreamOutputStream::Next(void**
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/ostream_output_stream.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: crypto::tink::util::OstreamOutputStream::BackUp
    functionSourceFile: /src/tink/cc/util/ostream_output_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/tink/cc/util/ostream_output_stream.cc: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: OstreamOutputStream::~OstreamOutputStream()
    functionSourceFile: /src/tink/cc/util/ostream_output_stream.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void OstreamOutputStream::~OstreamOutputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/ostream_output_stream.cc:113,1
    - Dst: write
      Src: /src/tink/cc/util/ostream_output_stream.cc:116,1
    - Dst: reinterpret_cast<char*>
      Src: /src/tink/cc/util/ostream_output_stream.cc:116,1
    - Dst: get
      Src: /src/tink/cc/util/ostream_output_stream.cc:116,1
    - Dst: good
      Src: /src/tink/cc/util/ostream_output_stream.cc:117,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/ostream_output_stream.cc:118,1
    - Dst: flush
      Src: /src/tink/cc/util/ostream_output_stream.cc:123,1
    - Dst: good
      Src: /src/tink/cc/util/ostream_output_stream.cc:124,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/ostream_output_stream.cc:125,1
    - Dst: Status
      Src: /src/tink/cc/util/ostream_output_stream.cc:129,1
    - Dst: OkStatus
      Src: /src/tink/cc/util/ostream_output_stream.cc:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: crypto::tink::util::OstreamOutputStream::Close
    functionSourceFile: /src/tink/cc/util/ostream_output_stream.cc
    functionUses: 0
    functionsReached:
    - write
    - ToStatusF
    - ok
    - flush
    - Status
    - OkStatus
    - get
    - reinterpret_cast<char*>
    - good
    linkageType: ''
    returnType: Status
    signature: Status OstreamOutputStream::Close()
  - 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: crypto::tink::util::OstreamOutputStream::Position
    functionSourceFile: /src/tink/cc/util/ostream_output_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t OstreamOutputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmKey::set_key_value
      Src: /src/tink/cc/util/test_util_test.cc:57,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:57,1
    - Dst: crypto::tink::test::AsKeyData
      Src: /src/tink/cc/util/test_util_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:61,1
    - Dst: KeyData::type_url
      Src: /src/tink/cc/util/test_util_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:63,1
    - Dst: KeyData::key_material_type
      Src: /src/tink/cc/util/test_util_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:63,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/test_util_test.cc:65,1
    - Dst: AesGcmKey::ParseFromString
      Src: /src/tink/cc/util/test_util_test.cc:65,1
    - Dst: KeyData::value
      Src: /src/tink/cc/util/test_util_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:66,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/util/test_util_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:66,1
    - Dst: AesGcmKey::key_value
      Src: /src/tink/cc/util/test_util_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmKey::ParseFromString
    - AesGcmKey::key_value
    - KeyData::value
    - KeyData::key_material_type
    - KeyData::type_url
    - crypto::tink::test::AsKeyData
    - Eq
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesGcmKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AsKeyDataTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:70,1
    - Dst: DummyAead
      Src: /src/tink/cc/util/test_util_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - DummyAead
    linkageType: ''
    returnType: void
    signature: void TEST(DummyTests, Aead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:76,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:80,1
    - Dst: DummyCordAead
      Src: /src/tink/cc/util/test_util_test.cc:80,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - EXPECT_THAT
    - DummyCordAead
    - absl::Cord::Append
    linkageType: ''
    returnType: void
    signature: void TEST(DummyTests, AeadCord)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:86,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:87,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:88,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:90,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:91,1
    - Dst: absl::Cord::Append
      Src: /src/tink/cc/util/test_util_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:94,1
    - Dst: DummyCordAead
      Src: /src/tink/cc/util/test_util_test.cc:94,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - Eq
    - EXPECT_THAT
    - DummyCordAead
    - absl::Cord::Append
    linkageType: ''
    returnType: void
    signature: void TEST(DummyTests, AeadCordMultipleChunks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:99,1
    - Dst: crypto::tink::test::ZTestUniformString
      Src: /src/tink/cc/util/test_util_test.cc:99,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:100,1
    - Dst: crypto::tink::test::ZTestUniformString
      Src: /src/tink/cc/util/test_util_test.cc:100,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:100,1
    - Dst: Not
      Src: /src/tink/cc/util/test_util_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:101,1
    - Dst: crypto::tink::test::ZTestUniformString
      Src: /src/tink/cc/util/test_util_test.cc:101,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::ZTestUniformString
    - std::string
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(ZTests, UniformString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:105,1
    - Dst: crypto::tink::test::ZTestCrosscorrelationUniformStrings
      Src: /src/tink/cc/util/test_util_test.cc:105,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:105,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:108,1
    - Dst: crypto::tink::test::ZTestCrosscorrelationUniformStrings
      Src: /src/tink/cc/util/test_util_test.cc:108,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:108,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:109,1
    - Dst: Not
      Src: /src/tink/cc/util/test_util_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:111,1
    - Dst: crypto::tink::test::ZTestCrosscorrelationUniformStrings
      Src: /src/tink/cc/util/test_util_test.cc:112,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:112,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - IsOk
    - Not
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::test::ZTestCrosscorrelationUniformStrings
    linkageType: ''
    returnType: void
    signature: void TEST(ZTests, CrossCorrelationUniformString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:118,1
    - Dst: crypto::tink::test::ZTestAutocorrelationUniformString
      Src: /src/tink/cc/util/test_util_test.cc:118,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:118,1
    - Dst: Not
      Src: /src/tink/cc/util/test_util_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:120,1
    - Dst: crypto::tink::test::ZTestAutocorrelationUniformString
      Src: /src/tink/cc/util/test_util_test.cc:120,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:120,1
    - Dst: Not
      Src: /src/tink/cc/util/test_util_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:125,1
    - Dst: crypto::tink::test::ZTestAutocorrelationUniformString
      Src: /src/tink/cc/util/test_util_test.cc:126,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 128
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::test::ZTestAutocorrelationUniformString
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(ZTests, AutocorrelationUniformString)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:132,1
    - Dst: std::make_unique<std::ostringstream>
      Src: /src/tink/cc/util/test_util_test.cc:134,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/util/test_util_test.cc:135,1
    - Dst: std::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/test_util_test.cc:137,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:137,1
    - Dst: DummyStreamingAead::NewEncryptingStream
      Src: /src/tink/cc/util/test_util_test.cc:141,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:142,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:143,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/util/test_util_test.cc:143,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/util/test_util_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:145,1
    - Dst: auto::str
      Src: /src/tink/cc/util/test_util_test.cc:147,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/util/test_util_test.cc:149,1
    - Dst: DummyStreamingAead::NewDecryptingRandomAccessStream
      Src: /src/tink/cc/util/test_util_test.cc:152,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:154,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:154,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/test_util_test.cc:156,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/test_util_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:157,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:157,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/test_util_test.cc:158,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:158,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/test_util_test.cc:160,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util_test.cc:161,1
    - Dst: get_mem_block
      Src: /src/tink/cc/util/test_util_test.cc:161,1
    - Dst: size
      Src: /src/tink/cc/util/test_util_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 162
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::Buffer::New
    - get_mem_block
    - ASSERT_THAT
    - std::string
    - IsOk
    - DummyStreamingAead::NewDecryptingRandomAccessStream
    - std::make_unique<util::OstreamOutputStream>
    - auto::str
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::rdbuf
    - EXPECT_EQ
    - size
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::test::WriteToStream
    - DummyStreamingAead::NewEncryptingStream
    - StatusIs
    - std::make_unique<std::ostringstream>
    - util::StatusOr::status
    - PRead
    - auto::get
    - std::string::size
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(DummyStreamingAead, DummyDecryptingStreamPreadAllAtOnceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:166,1
    - Dst: std::make_unique<std::ostringstream>
      Src: /src/tink/cc/util/test_util_test.cc:168,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/util/test_util_test.cc:169,1
    - Dst: std::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/test_util_test.cc:171,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:171,1
    - Dst: DummyStreamingAead::NewEncryptingStream
      Src: /src/tink/cc/util/test_util_test.cc:175,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:177,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/util/test_util_test.cc:177,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/util/test_util_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:179,1
    - Dst: auto::str
      Src: /src/tink/cc/util/test_util_test.cc:181,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/util/test_util_test.cc:183,1
    - Dst: DummyStreamingAead::NewDecryptingRandomAccessStream
      Src: /src/tink/cc/util/test_util_test.cc:186,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:188,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:188,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/test_util_test.cc:191,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:194,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:195,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/util/test_util_test.cc:196,1
    - Dst: std::string::append
      Src: /src/tink/cc/util/test_util_test.cc:197,1
    - Dst: get_mem_block
      Src: /src/tink/cc/util/test_util_test.cc:197,1
    - Dst: size
      Src: /src/tink/cc/util/test_util_test.cc:197,1
    - Dst: size
      Src: /src/tink/cc/util/test_util_test.cc:198,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:199,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:202,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:202,1
    - Dst: std::string::append
      Src: /src/tink/cc/util/test_util_test.cc:203,1
    - Dst: get_mem_block
      Src: /src/tink/cc/util/test_util_test.cc:203,1
    - Dst: size
      Src: /src/tink/cc/util/test_util_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/test_util_test.cc:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 205
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::Buffer::New
    - get_mem_block
    - ASSERT_THAT
    - util::Status::ok
    - IsOk
    - DummyStreamingAead::NewDecryptingRandomAccessStream
    - std::make_unique<util::OstreamOutputStream>
    - auto::str
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::rdbuf
    - size
    - EXPECT_EQ
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::test::WriteToStream
    - DummyStreamingAead::NewEncryptingStream
    - std::string::append
    - StatusIs
    - std::make_unique<std::ostringstream>
    - util::StatusOr::status
    - PRead
    - auto::get
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(DummyStreamingAead, DummyDecryptingStreamPreadInChunksSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:209,1
    - Dst: std::make_unique<std::ostringstream>
      Src: /src/tink/cc/util/test_util_test.cc:211,1
    - Dst: std::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/test_util_test.cc:213,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:213,1
    - Dst: DummyStreamingAead::NewEncryptingStream
      Src: /src/tink/cc/util/test_util_test.cc:220,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:222,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:223,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/util/test_util_test.cc:223,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/util/test_util_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:225,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/util/test_util_test.cc:230,1
    - Dst: DummyStreamingAead::NewDecryptingRandomAccessStream
      Src: /src/tink/cc/util/test_util_test.cc:233,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:235,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:235,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/test_util_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:239,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:240,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:241,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:243,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:244,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:245,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:247,1
    - Dst: size
      Src: /src/tink/cc/util/test_util_test.cc:248,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 250
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<std::ostringstream>
    - util::StatusOr::status
    - size
    - IsOk
    - std::make_unique<TestRandomAccessStream>
    - std::move
    - std::make_unique<util::OstreamOutputStream>
    - crypto::tink::subtle::test::WriteToStream
    - DummyStreamingAead::NewEncryptingStream
    - ASSERT_THAT
    - DummyStreamingAead::NewDecryptingRandomAccessStream
    - crypto::tink::util::Buffer::New
    - PRead
    - EXPECT_THAT
    - auto::get
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(DummyStreamingAead, DummyDecryptingStreamPreadWithSmallerHeaderFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/test_util_test.cc:254,1
    - Dst: std::make_unique<std::ostringstream>
      Src: /src/tink/cc/util/test_util_test.cc:256,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/util/test_util_test.cc:257,1
    - Dst: std::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/test_util_test.cc:259,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:259,1
    - Dst: DummyStreamingAead::NewEncryptingStream
      Src: /src/tink/cc/util/test_util_test.cc:266,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:268,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:269,1
    - Dst: crypto::tink::subtle::test::WriteToStream
      Src: /src/tink/cc/util/test_util_test.cc:269,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/util/test_util_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:271,1
    - Dst: auto::str
      Src: /src/tink/cc/util/test_util_test.cc:273,1
    - Dst: std::make_unique<TestRandomAccessStream>
      Src: /src/tink/cc/util/test_util_test.cc:275,1
    - Dst: DummyStreamingAead::NewDecryptingRandomAccessStream
      Src: /src/tink/cc/util/test_util_test.cc:278,1
    - Dst: std::move
      Src: /src/tink/cc/util/test_util_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:280,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/test_util_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:280,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/test_util_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:284,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:284,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:285,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:287,1
    - Dst: PRead
      Src: /src/tink/cc/util/test_util_test.cc:287,1
    - Dst: auto::get
      Src: /src/tink/cc/util/test_util_test.cc:288,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:290,1
    - Dst: size
      Src: /src/tink/cc/util/test_util_test.cc:290,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/test_util_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 292
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - IsOk
    - DummyStreamingAead::NewDecryptingRandomAccessStream
    - std::make_unique<util::OstreamOutputStream>
    - auto::str
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::rdbuf
    - size
    - std::make_unique<TestRandomAccessStream>
    - crypto::tink::subtle::test::WriteToStream
    - DummyStreamingAead::NewEncryptingStream
    - StatusIs
    - std::make_unique<std::ostringstream>
    - util::StatusOr::status
    - PRead
    - auto::get
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(DummyStreamingAead, DummyDecryptingStreamPreadWithCorruptedAadFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FakeKeysetDeriver::DeriveKeyset
      Src: /src/tink/cc/util/test_util_test.cc:297,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:298,1
    - Dst: IsOk
      Src: /src/tink/cc/util/test_util_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:299,1
    - Dst: GetKeysetInfo
      Src: /src/tink/cc/util/test_util_test.cc:299,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:300,1
    - Dst: GetKeysetInfo
      Src: /src/tink/cc/util/test_util_test.cc:300,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:300,1
    - Dst: GetKeysetInfo
      Src: /src/tink/cc/util/test_util_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:303,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::type_url
      Src: /src/tink/cc/util/test_util_test.cc:303,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:303,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:304,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::status
      Src: /src/tink/cc/util/test_util_test.cc:304,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:305,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:306,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::key_id
      Src: /src/tink/cc/util/test_util_test.cc:306,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/test_util_test.cc:307,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::output_prefix_type
      Src: /src/tink/cc/util/test_util_test.cc:307,1
    - Dst: Eq
      Src: /src/tink/cc/util/test_util_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: crypto::tink::test::TEST
    functionSourceFile: /src/tink/cc/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::KeysetInfo::KeyInfo::output_prefix_type
    - google::crypto::tink::KeysetInfo::KeyInfo::key_id
    - IsOk
    - google::crypto::tink::KeysetInfo::KeyInfo::status
    - GetKeysetInfo
    - EXPECT_THAT
    - google::crypto::tink::KeysetInfo::KeyInfo::type_url
    - Eq
    - FakeKeysetDeriver::DeriveKeyset
    linkageType: ''
    returnType: void
    signature: void TEST(FakeKeysetDeriver, DeriveKeyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/util/test_keyset_handle.cc:36,1
    - Dst: util::SecretProto<Keyset>
      Src: /src/tink/cc/util/test_keyset_handle.cc:36,1
    - Dst: KeysetHandle::KeysetHandle
      Src: /src/tink/cc/util/test_keyset_handle.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: crypto::tink::TestKeysetHandle::GetKeysetHandle
    functionSourceFile: /src/tink/cc/util/test_keyset_handle.cc
    functionUses: 36
    functionsReached:
    - KeysetHandle::KeysetHandle
    - util::SecretProto<Keyset>
    - absl::WrapUnique
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: "std::unique_ptr<KeysetHandle> TestKeysetHandle::GetKeysetHandle(\n
      \   const Keyset& keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_keyset
      Src: /src/tink/cc/util/test_keyset_handle.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: '& TestKeysetHandle::GetKeyset(const KeysetHandle& keyset_handle)'
    functionSourceFile: /src/tink/cc/util/test_keyset_handle.cc
    functionUses: 0
    functionsReached:
    - get_keyset
    linkageType: ''
    returnType: Keyset
    signature: Keyset & TestKeysetHandle::GetKeyset(const KeysetHandle& keyset_handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T*::~T
      Src: /src/tink/cc/util/secret_data.h:38,1
    - Dst: crypto::tink::util::internal::SanitizingAllocator
      Src: /src/tink/cc/util/secret_data.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - T*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: operator()(T* ptr)
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - T*::~T
    - crypto::tink::util::internal::SanitizingAllocator
    linkageType: ''
    returnType: void
    signature: void operator()(T* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: crypto::tink::util::SecretUniquePtr::SecretUniquePtr
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SecretUniquePtr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretUniquePtr::get
      Src: /src/tink/cc/util/secret_data.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: crypto::tink::util::SecretUniquePtr::get
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 1
    functionsReached:
    - crypto::tink::util::SecretUniquePtr::get
    linkageType: ''
    returnType: pointer
    signature: pointer get() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_deleter
      Src: /src/tink/cc/util/secret_data.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: '& get_deleter()'
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - get_deleter
    linkageType: ''
    returnType: deleter_type
    signature: deleter_type & get_deleter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_deleter
      Src: /src/tink/cc/util/secret_data.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: '& get_deleter() const'
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - get_deleter
    linkageType: ''
    returnType: deleter_type
    signature: deleter_type & get_deleter() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretUniquePtr::swap
      Src: /src/tink/cc/util/secret_data.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretUniquePtr
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: crypto::tink::util::SecretUniquePtr::swap
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 1
    functionsReached:
    - crypto::tink::util::SecretUniquePtr::swap
    linkageType: ''
    returnType: void
    signature: void swap(SecretUniquePtr& other) noexcept
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretUniquePtr::reset
      Src: /src/tink/cc/util/secret_data.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: crypto::tink::util::SecretUniquePtr::reset
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 1
    functionsReached:
    - crypto::tink::util::SecretUniquePtr::reset
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_
      Src: /src/tink/cc/util/secret_data.h: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: operator*() const
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - value_
    linkageType: ''
    returnType: typename std::add_lvalue_reference<T>::type
    signature: typename std::add_lvalue_reference<T>::type operator*() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_
      Src: /src/tink/cc/util/secret_data.h: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: operator->() const
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - value_
    linkageType: ''
    returnType: pointer
    signature: pointer operator->() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool
      Src: /src/tink/cc/util/secret_data.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: operator bool() const
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - bool
    linkageType: ''
    returnType: void
    signature: void operator bool() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/secret_data.h:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' value'
    argTypes:
    - Value
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: crypto::tink::util::SecretUniquePtr::SecretUniquePtr
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SecretUniquePtr(Value&& value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::SanitizingAllocator<T>
      Src: /src/tink/cc/util/secret_data.h:113,1
    - Dst: std::forward<Args>
      Src: /src/tink/cc/util/secret_data.h:115,1
    - Dst: T::T
      Src: /src/tink/cc/util/secret_data.h:114,1
    - Dst: SecretUniquePtr<T>
      Src: /src/tink/cc/util/secret_data.h:116,1
    - Dst: internal::SanitizingDeleter<T>
      Src: /src/tink/cc/util/secret_data.h:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: crypto::tink::util::MakeSecretUniquePtr
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 1
    functionsReached:
    - SecretUniquePtr<T>
    - internal::SanitizingDeleter<T>
    - T::T
    - std::forward<Args>
    - internal::SanitizingAllocator<T>
    linkageType: ''
    returnType: SecretUniquePtr<T>
    signature: SecretUniquePtr<T> MakeSecretUniquePtr(Args&&... args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/util/secret_data.h:121,1
    - Dst: data
      Src: /src/tink/cc/util/secret_data.h:121,1
    - Dst: size
      Src: /src/tink/cc/util/secret_data.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' secret'
    argTypes:
    - SecretData
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: crypto::tink::util::SecretDataAsStringView
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 52
    functionsReached:
    - data
    - size
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view SecretDataAsStringView(const SecretData& secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::begin
      Src: /src/tink/cc/util/secret_data.h:125,1
    - Dst: absl::string_view::end
      Src: /src/tink/cc/util/secret_data.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - secret
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: crypto::tink::util::SecretDataFromStringView
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 195
    functionsReached:
    - absl::string_view::end
    - absl::string_view::begin
    linkageType: ''
    returnType: SecretData
    signature: SecretData SecretDataFromStringView(absl::string_view secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T
      Src: /src/tink/cc/util/secret_data.h:137,1
    - Dst: MakeSecretUniquePtr<T>
      Src: /src/tink/cc/util/secret_data.h:138,1
    - Dst: std::move
      Src: /src/tink/cc/util/secret_data.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: crypto::tink::util::SecretValue::SecretValue
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - T
    - MakeSecretUniquePtr<T>
    - std::move
    linkageType: ''
    returnType: void
    signature: void SecretValue(T t = T())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MakeSecretUniquePtr<T>
      Src: /src/tink/cc/util/secret_data.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretValue
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: crypto::tink::util::SecretValue::SecretValue
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - MakeSecretUniquePtr<T>
    linkageType: ''
    returnType: void
    signature: void SecretValue(const SecretValue& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SecretValue
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: '& operator=(const SecretValue& other)'
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SecretValue
    signature: SecretValue & operator=(const SecretValue& other)
  - 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: '& value()'
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & value()
  - 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: '& value() const'
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: T & value() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::internal::SafeZeroMemory
      Src: /src/tink/cc/util/secret_data.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - std::size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: crypto::tink::util::SafeZeroMemory
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::internal::SafeZeroMemory
    linkageType: ''
    returnType: void
    signature: void SafeZeroMemory(void* ptr, std::size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SafeZeroMemory
      Src: /src/tink/cc/util/secret_data.h:161,1
    - Dst: std::string*::size
      Src: /src/tink/cc/util/secret_data.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string*
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: crypto::tink::util::SafeZeroString
    functionSourceFile: /src/tink/cc/util/secret_data.h
    functionUses: 1
    functionsReached:
    - std::string*::size
    - crypto::tink::util::SafeZeroMemory
    linkageType: ''
    returnType: void
    signature: void SafeZeroString(std::string* str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:44,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:44,1
    - Dst: absl::make_unique<std::ofstream>
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:45,1
    - Dst: std::move
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: crypto::tink::GetTestOstream
    functionSourceFile: /src/tink/cc/util/ostream_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::TmpDir
    - std::move
    - absl::StrCat
    - absl::make_unique<std::ofstream>
    linkageType: ''
    returnType: std::unique_ptr<std::ostream>
    signature: std::unique_ptr<std::ostream> GetTestOstream(absl::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::OstreamOutputStream*::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:61,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:62,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:62,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:63,1
    - Dst: std::min
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:64,1
    - Dst: memcpy
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:65,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:65,1
    - Dst: util::OstreamOutputStream*::BackUp
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:70,1
    - Dst: util::OstreamOutputStream*::Close
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - output_stream
    - contents
    argTypes:
    - util::OstreamOutputStream*
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 73
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 73
    functionName: crypto::tink::WriteToStream
    functionSourceFile: /src/tink/cc/util/ostream_output_stream_test.cc
    functionUses: 3
    functionsReached:
    - auto::status
    - auto::ok
    - util::OstreamOutputStream*::BackUp
    - auto::value
    - util::OstreamOutputStream*::Close
    - util::OstreamOutputStream*::Next
    - memcpy
    - absl::string_view::data
    - std::min
    linkageType: ''
    returnType: util::Status
    signature: "util::Status WriteToStream(util::OstreamOutputStream* output_stream,\n
      \                          absl::string_view contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:80,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:80,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:81,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:82,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:83,1
    - Dst: crypto::tink::GetTestOstream
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:84,1
    - Dst: absl::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:86,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:87,1
    - Dst: auto::get
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:87,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:88,1
    - Dst: crypto::tink::test::ReadTestFile
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:90,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/ostream_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::GetTestOstream
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::internal::GetTestFileNamePrefix
    - absl::make_unique<util::OstreamOutputStream>
    - std::move
    - std::string::size
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::WriteToStream
    - crypto::tink::test::ReadTestFile
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(OstreamOutputStreamTest, WritingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:97,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:99,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:99,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:100,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:101,1
    - Dst: crypto::tink::GetTestOstream
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:102,1
    - Dst: absl::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:103,1
    - Dst: std::move
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:104,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:108,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:109,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:110,1
    - Dst: auto::get
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:111,1
    - Dst: crypto::tink::test::ReadTestFile
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:113,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/ostream_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - crypto::tink::GetTestOstream
    - auto::ok
    - EXPECT_EQ
    - crypto::tink::internal::GetTestFileNamePrefix
    - absl::make_unique<util::OstreamOutputStream>
    - std::move
    - std::string::size
    - auto::value
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - auto::BackUp
    - crypto::tink::WriteToStream
    - crypto::tink::test::ReadTestFile
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST_F(OstreamOutputStreamTest, CustomBufferSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:122,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:124,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:124,1
    - Dst: crypto::tink::GetTestOstream
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:125,1
    - Dst: absl::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:128,1
    - Dst: std::move
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:130,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:130,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:131,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:132,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:132,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:133,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:134,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:134,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:135,1
    - Dst: std::string::data
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:135,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:140,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:140,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:141,1
    - Dst: std::max
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:143,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:143,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:145,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:145,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:149,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:149,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:149,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:154,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:154,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:155,1
    - Dst: std::max
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:157,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:157,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:159,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:163,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:163,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:163,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:166,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:168,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:168,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:169,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:170,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:170,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:171,1
    - Dst: std::string::data
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:171,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:177,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:177,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:178,1
    - Dst: std::min
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:179,1
    - Dst: std::max
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:181,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:182,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:185,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:185,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:189,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:189,1
    - Dst: auto::status
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:190,1
    - Dst: auto::value
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:191,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:191,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:192,1
    - Dst: std::string::data
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:192,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:195,1
    - Dst: auto::get
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:196,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:196,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:197,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:197,1
    - Dst: crypto::tink::test::ReadTestFile
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:199,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/ostream_output_stream_test.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 201
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/ostream_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::Position
    - absl::StrCat
    - crypto::tink::WriteToStream
    - auto::Next
    - std::min
    - auto::status
    - crypto::tink::internal::GetTestFileNamePrefix
    - std::string::substr
    - auto::BackUp
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_LT
    - EXPECT_EQ
    - std::max
    - std::string::data
    - crypto::tink::GetTestOstream
    - absl::make_unique<util::OstreamOutputStream>
    - auto::value
    - auto::get
    - crypto::tink::test::ReadTestFile
    - std::string::size
    - std::memcpy
    linkageType: ''
    returnType: void
    signature: void TEST_F(OstreamOutputStreamTest, BackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:55,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:55,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:58,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:59,1
    - Dst: std::strerror
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: crypto::tink::util::OpenTestFileToRead
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::TmpDir
    - std::strerror
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> OpenTestFileToRead(absl::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string*::clear
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:71,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:71,1
    - Dst: RandomAccessStream*::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:73,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:73,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:74,1
    - Dst: std::string*::append
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:75,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:75,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:75,1
    - Dst: std::string*::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:76,1
    - Dst: RandomAccessStream*::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:77,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:77,1
    - Dst: auto::code
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:80,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ra_stream
    - chunk_size
    - contents
    argTypes:
    - RandomAccessStream*
    - int
    - std::string*
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: crypto::tink::util::ReadAll
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    - auto::get_mem_block
    - auto::size
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::util::Buffer::New
    - std::string*::size
    - RandomAccessStream*::PRead
    - auto::get
    - auto::code
    - std::string*::clear
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadAll(RandomAccessStream* ra_stream, int chunk_size,\n
      \                    std::string* contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:91,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:91,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:94,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:96,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:96,1
    - Dst: RandomAccessStream*::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:97,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:97,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:105,1
    - Dst: memcmp
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:105,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ra_stream
    - position
    - count
    - file_contents
    argTypes:
    - RandomAccessStream*
    - int64_t
    - int
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: crypto::tink::util::ReadAndVerifyChunk
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - EXPECT_TRUE
    - absl::string_view::size
    - auto::ok
    - EXPECT_EQ
    - std::move
    - crypto::tink::util::Buffer::New
    - RandomAccessStream*::PRead
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - memcmp
    linkageType: ''
    returnType: void
    signature: "void ReadAndVerifyChunk(RandomAccessStream* ra_stream,\n                        int64_t
      position,\n                        int count,\n                        absl::string_view
      file_contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:111,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:111,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:112,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:113,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:116,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:117,1
    - Dst: crypto::tink::util::OpenTestFileToRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:119,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:120,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:120,1
    - Dst: absl::make_unique<util::FileRandomAccessStream>
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:121,1
    - Dst: crypto::tink::util::ReadAll
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:124,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:125,1
    - Dst: auto::code
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:126,1
    - Dst: auto::message
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:128,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::size
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - std::string::size
    - auto::message
    - ASSERT_THAT
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::util::OpenTestFileToRead
    - crypto::tink::util::ReadAll
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<util::FileRandomAccessStream>
    linkageType: ''
    returnType: void
    signature: void TEST(FileRandomAccessStreamTest, ReadingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:134,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:134,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:135,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:136,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:139,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:140,1
    - Dst: crypto::tink::util::OpenTestFileToRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:142,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:143,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:143,1
    - Dst: absl::make_unique<util::FileRandomAccessStream>
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:145,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:145,1
    - Dst: auto::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:148,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:149,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:150,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:151,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:152,1
    - Dst: memcmp
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:152,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::size
    - auto::ok
    - crypto::tink::internal::CreateTestFile
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - absl::StrCat
    - auto::get_mem_block
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - SCOPED_TRACE
    - crypto::tink::util::OpenTestFileToRead
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - absl::make_unique<util::FileRandomAccessStream>
    - util::StatusOr::status
    - auto::PRead
    - auto::get
    - std::string::size
    - memcmp
    linkageType: ''
    returnType: void
    signature: void TEST(FileRandomAccessStreamTest, ReadingStreamsTillLastByte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:159,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:160,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:163,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:164,1
    - Dst: crypto::tink::util::OpenTestFileToRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:166,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:167,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:167,1
    - Dst: absl::make_unique<util::FileRandomAccessStream>
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:168,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:170,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:172,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:174,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:176,1
    - Dst: std::thread::join
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:177,1
    - Dst: std::thread::join
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:178,1
    - Dst: std::thread::join
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:179,1
    - Dst: std::thread::join
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - ASSERT_THAT
    - auto::get
    - absl::StrCat
    - crypto::tink::util::OpenTestFileToRead
    - std::string::size
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<util::FileRandomAccessStream>
    - std::thread::join
    linkageType: ''
    returnType: void
    signature: void TEST(FileRandomAccessStreamTest, ConcurrentReads)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:186,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:187,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:190,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:191,1
    - Dst: crypto::tink::util::OpenTestFileToRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:193,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:193,1
    - Dst: absl::make_unique<util::FileRandomAccessStream>
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:194,1
    - Dst: std::move
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:196,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:196,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:198,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:198,1
    - Dst: auto::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:201,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:202,1
    - Dst: auto::code
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - auto::PRead
    - auto::get
    - absl::StrCat
    - crypto::tink::util::OpenTestFileToRead
    - SCOPED_TRACE
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<util::FileRandomAccessStream>
    linkageType: ''
    returnType: void
    signature: void TEST(FileRandomAccessStreamTest, NegativeReadPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:209,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:210,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:213,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:214,1
    - Dst: crypto::tink::util::OpenTestFileToRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:216,1
    - Dst: absl::make_unique<util::FileRandomAccessStream>
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:217,1
    - Dst: std::move
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:218,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:218,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:221,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:221,1
    - Dst: auto::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:223,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:224,1
    - Dst: auto::code
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 227
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - auto::PRead
    - auto::get
    - absl::StrCat
    - crypto::tink::util::OpenTestFileToRead
    - SCOPED_TRACE
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<util::FileRandomAccessStream>
    linkageType: ''
    returnType: void
    signature: void TEST(FileRandomAccessStreamTest, NotPositiveReadCount)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:231,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:232,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:235,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:236,1
    - Dst: crypto::tink::util::OpenTestFileToRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:238,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:238,1
    - Dst: absl::make_unique<util::FileRandomAccessStream>
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:239,1
    - Dst: std::move
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:241,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:241,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:243,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:243,1
    - Dst: auto::PRead
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:246,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:246,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:247,1
    - Dst: auto::code
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:247,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:248,1
    - Dst: auto::size
      Src: /src/tink/cc/util/file_random_access_stream_test.cc:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 251
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/file_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::size
    - util::StatusOr::status
    - EXPECT_EQ
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - auto::PRead
    - auto::get
    - absl::StrCat
    - crypto::tink::util::OpenTestFileToRead
    - SCOPED_TRACE
    - auto::code
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<util::FileRandomAccessStream>
    linkageType: ''
    returnType: void
    signature: void TEST(FileRandomAccessStreamTest, ReadPositionAfterEof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:39,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:40,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:41,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:43,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:45,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:47,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:50,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:52,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:54,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:56,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:58,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:59,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:64,1
    - Dst: pb::EllipticCurveType_IsValid
      Src: /src/tink/cc/util/enums_test.cc:65,1
    - Dst: static_cast<pb::EllipticCurveType>
      Src: /src/tink/cc/util/enums_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:67,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:67,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::SubtleToProto
    - pb::EllipticCurveType_IsValid
    - EXPECT_EQ
    - static_cast<pb::EllipticCurveType>
    - crypto::tink::util::Enums::ProtoToSubtle
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testEllipticCurveType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:75,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:76,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:78,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:80,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:82,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:84,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:87,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:88,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:90,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:92,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:94,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:96,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:97,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:102,1
    - Dst: pb::HashType_IsValid
      Src: /src/tink/cc/util/enums_test.cc:103,1
    - Dst: static_cast<pb::HashType>
      Src: /src/tink/cc/util/enums_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:105,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:105,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::SubtleToProto
    - EXPECT_EQ
    - static_cast<pb::HashType>
    - pb::HashType_IsValid
    - crypto::tink::util::Enums::ProtoToSubtle
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:113,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/util/enums_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:114,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/util/enums_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:115,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/util/enums_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/enums_test.cc:116,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/util/enums_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/enums_test.cc:117,1
    - Dst: crypto::tink::util::Enums::HashLength
      Src: /src/tink/cc/util/enums_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::HashLength
    - EXPECT_TRUE
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testHashSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:121,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:123,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:126,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:128,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:130,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:133,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:135,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:138,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:140,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:141,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:146,1
    - Dst: pb::EcPointFormat_IsValid
      Src: /src/tink/cc/util/enums_test.cc:147,1
    - Dst: static_cast<pb::EcPointFormat>
      Src: /src/tink/cc/util/enums_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:149,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:149,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::SubtleToProto
    - static_cast<pb::EcPointFormat>
    - EXPECT_EQ
    - pb::EcPointFormat_IsValid
    - crypto::tink::util::Enums::ProtoToSubtle
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testEcPointFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:157,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:160,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:162,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:163,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:164,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:166,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:168,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:169,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:173,1
    - Dst: pb::EcdsaSignatureEncoding_IsValid
      Src: /src/tink/cc/util/enums_test.cc:175,1
    - Dst: static_cast<pb::EcdsaSignatureEncoding>
      Src: /src/tink/cc/util/enums_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:178,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/enums_test.cc:178,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/enums_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::SubtleToProto
    - static_cast<int>
    - static_cast<pb::EcdsaSignatureEncoding>
    - EXPECT_EQ
    - crypto::tink::util::Enums::ProtoToSubtle
    - pb::EcdsaSignatureEncoding_IsValid
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testEcdsaSignatureEncoding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:186,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:187,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/util/enums_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:188,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:189,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/util/enums_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:190,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:191,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/util/enums_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:192,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:194,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/util/enums_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:196,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/util/enums_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:197,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/util/enums_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:198,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/util/enums_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:199,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/util/enums_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:201,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/util/enums_test.cc:202,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:207,1
    - Dst: pb::KeyStatusType_IsValid
      Src: /src/tink/cc/util/enums_test.cc:208,1
    - Dst: static_cast<pb::KeyStatusType>
      Src: /src/tink/cc/util/enums_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:210,1
    - Dst: crypto::tink::util::Enums::KeyStatus
      Src: /src/tink/cc/util/enums_test.cc:210,1
    - Dst: crypto::tink::util::Enums::KeyStatusName
      Src: /src/tink/cc/util/enums_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 215
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::KeyStatus
    - std::string
    - EXPECT_EQ
    - pb::KeyStatusType_IsValid
    - crypto::tink::util::Enums::KeyStatusName
    - static_cast<int>
    - static_cast<pb::KeyStatusType>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testKeyStatusName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:218,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:218,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:219,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:219,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:220,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:220,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:221,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:222,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:223,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:223,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:225,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:226,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:227,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:228,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:229,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:230,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:231,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:231,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:236,1
    - Dst: pb::HashType_IsValid
      Src: /src/tink/cc/util/enums_test.cc:237,1
    - Dst: static_cast<pb::HashType>
      Src: /src/tink/cc/util/enums_test.cc:238,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:239,1
    - Dst: crypto::tink::util::Enums::Hash
      Src: /src/tink/cc/util/enums_test.cc:239,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums_test.cc:239,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::Hash
    - std::string
    - EXPECT_EQ
    - static_cast<pb::HashType>
    - pb::HashType_IsValid
    - static_cast<int>
    - crypto::tink::util::Enums::HashName
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testHashName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:247,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:248,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:248,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:249,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:251,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:252,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:254,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:254,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:255,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:255,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:256,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:258,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:258,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:259,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:261,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:263,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:264,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:265,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:266,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:267,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:268,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:269,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:271,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:272,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:277,1
    - Dst: pb::KeyData::KeyMaterialType_IsValid
      Src: /src/tink/cc/util/enums_test.cc:279,1
    - Dst: static_cast<pb::KeyData::KeyMaterialType>
      Src: /src/tink/cc/util/enums_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:282,1
    - Dst: crypto::tink::util::Enums::KeyMaterial
      Src: /src/tink/cc/util/enums_test.cc:282,1
    - Dst: crypto::tink::util::Enums::KeyMaterialName
      Src: /src/tink/cc/util/enums_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 287
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::Enums::KeyMaterial
    - std::string
    - EXPECT_EQ
    - crypto::tink::util::Enums::KeyMaterialName
    - static_cast<pb::KeyData::KeyMaterialType>
    - pb::KeyData::KeyMaterialType_IsValid
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testKeyMaterialName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:290,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:291,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:292,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:293,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:293,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:294,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:295,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:295,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:296,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:298,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:298,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:299,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:299,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:299,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:301,1
    - Dst: std::string
      Src: /src/tink/cc/util/enums_test.cc:302,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:304,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:304,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:305,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:305,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:306,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:307,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:308,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:309,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:310,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:311,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/util/enums_test.cc:316,1
    - Dst: pb::OutputPrefixType_IsValid
      Src: /src/tink/cc/util/enums_test.cc:317,1
    - Dst: static_cast<pb::OutputPrefixType>
      Src: /src/tink/cc/util/enums_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:319,1
    - Dst: crypto::tink::util::Enums::OutputPrefix
      Src: /src/tink/cc/util/enums_test.cc:319,1
    - Dst: crypto::tink::util::Enums::OutputPrefixName
      Src: /src/tink/cc/util/enums_test.cc:319,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/enums_test.cc:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 324
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_EQ
    - crypto::tink::util::Enums::OutputPrefixName
    - static_cast<int>
    - crypto::tink::util::Enums::OutputPrefix
    - pb::OutputPrefixType_IsValid
    - static_cast<pb::OutputPrefixType>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, testOutputPrefixName)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:45,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:46,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/input_stream_util_test.cc:46,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:47,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:47,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:48,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:49,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - std::string::size
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, ReadExact)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:54,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:56,1
    - Dst: auto::status
      Src: /src/tink/cc/util/input_stream_util_test.cc:56,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/input_stream_util_test.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::ReadBytesFromStream
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, ShortRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:61,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:64,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, ReadLess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:69,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:72,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:72,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:76,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, ReadTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:83,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:86,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:86,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:86,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:90,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, ReadMoreThanBlockSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:95,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:98,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:98,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:98,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:101,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:101,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:104,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:104,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:104,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:107,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, Request0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:112,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:115,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, RequestNegative)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:119,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/util/input_stream_util_test.cc:122,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:122,1
    - Dst: crypto::tink::ReadBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:124,1
    - Dst: auto::status
      Src: /src/tink/cc/util/input_stream_util_test.cc:124,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/input_stream_util_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - IsOk
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::ReadBytesFromStream
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadBytesTest, EmptyInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:130,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:131,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/input_stream_util_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:132,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:133,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:134,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - std::string::size
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, ReadExact)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:139,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:141,1
    - Dst: auto::status
      Src: /src/tink/cc/util/input_stream_util_test.cc:141,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/input_stream_util_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - crypto::tink::ReadSecretBytesFromStream
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, ShortRead)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:146,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:148,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:149,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, ReadLess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:155,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:156,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:158,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:158,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:161,1
    - Dst: std::string
      Src: /src/tink/cc/util/input_stream_util_test.cc:162,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:162,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:163,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, ReadTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:170,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:172,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:173,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:174,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:177,1
    - Dst: std::string
      Src: /src/tink/cc/util/input_stream_util_test.cc:178,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:178,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:179,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, ReadMoreThanBlockSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:184,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:186,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:187,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:188,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:188,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:190,1
    - Dst: std::string
      Src: /src/tink/cc/util/input_stream_util_test.cc:191,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:191,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:192,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:192,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:194,1
    - Dst: std::string
      Src: /src/tink/cc/util/input_stream_util_test.cc:195,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:195,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:195,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:196,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:196,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:198,1
    - Dst: std::string
      Src: /src/tink/cc/util/input_stream_util_test.cc:199,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:199,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:200,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 201
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, Request0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:205,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:207,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:208,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:209,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, RequestNegative)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/util/input_stream_util_test.cc:214,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/util/input_stream_util_test.cc:216,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/input_stream_util_test.cc:217,1
    - Dst: std::move
      Src: /src/tink/cc/util/input_stream_util_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:218,1
    - Dst: Eq
      Src: /src/tink/cc/util/input_stream_util_test.cc:218,1
    - Dst: crypto::tink::ReadSecretBytesFromStream
      Src: /src/tink/cc/util/input_stream_util_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/input_stream_util_test.cc:220,1
    - Dst: auto::status
      Src: /src/tink/cc/util/input_stream_util_test.cc:220,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/input_stream_util_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/util/input_stream_util_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - crypto::tink::util::SecretDataAsStringView
    - auto::status
    - IsOk
    - crypto::tink::ReadSecretBytesFromStream
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(ReadSecretBytesTest, EmptyInput)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:42,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:42,1
    - Dst: absl::make_unique<char[]>
      Src: /src/tink/cc/util/buffer_test.cc:43,1
    - Dst: crypto::tink::util::Buffer::NewNonOwning
      Src: /src/tink/cc/util/buffer_test.cc:44,1
    - Dst: auto::get
      Src: /src/tink/cc/util/buffer_test.cc:44,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:45,1
    - Dst: IsOk
      Src: /src/tink/cc/util/buffer_test.cc:45,1
    - Dst: std::move
      Src: /src/tink/cc/util/buffer_test.cc:46,1
    - Dst: auto::value
      Src: /src/tink/cc/util/buffer_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:47,1
    - Dst: auto::size
      Src: /src/tink/cc/util/buffer_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:48,1
    - Dst: auto::allocated_size
      Src: /src/tink/cc/util/buffer_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:49,1
    - Dst: auto::get
      Src: /src/tink/cc/util/buffer_test.cc:49,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/buffer_test.cc:49,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:51,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:51,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:52,1
    - Dst: auto::set_size
      Src: /src/tink/cc/util/buffer_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/util/buffer_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:53,1
    - Dst: auto::size
      Src: /src/tink/cc/util/buffer_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:54,1
    - Dst: auto::allocated_size
      Src: /src/tink/cc/util/buffer_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:55,1
    - Dst: auto::get
      Src: /src/tink/cc/util/buffer_test.cc:55,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/buffer_test.cc:55,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/buffer_test.cc:56,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/buffer_test.cc:57,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/buffer_test.cc:57,1
    - Dst: auto::data
      Src: /src/tink/cc/util/buffer_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:58,1
    - Dst: std::memcmp
      Src: /src/tink/cc/util/buffer_test.cc:58,1
    - Dst: auto::data
      Src: /src/tink/cc/util/buffer_test.cc:58,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/buffer_test.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - auto::size
    - EXPECT_EQ
    - auto::data
    - IsOk
    - std::move
    - std::memcpy
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::value
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - auto::set_size
    - crypto::tink::util::Buffer::NewNonOwning
    - absl::make_unique<char[]>
    - std::memcmp
    - auto::allocated_size
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, ExternalMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:65,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:65,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/buffer_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/util/buffer_test.cc:67,1
    - Dst: std::move
      Src: /src/tink/cc/util/buffer_test.cc:68,1
    - Dst: auto::value
      Src: /src/tink/cc/util/buffer_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:69,1
    - Dst: auto::size
      Src: /src/tink/cc/util/buffer_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:70,1
    - Dst: auto::allocated_size
      Src: /src/tink/cc/util/buffer_test.cc:70,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:72,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:73,1
    - Dst: auto::set_size
      Src: /src/tink/cc/util/buffer_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/util/buffer_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:74,1
    - Dst: auto::size
      Src: /src/tink/cc/util/buffer_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:75,1
    - Dst: auto::allocated_size
      Src: /src/tink/cc/util/buffer_test.cc:75,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/buffer_test.cc:76,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/buffer_test.cc:77,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/buffer_test.cc:77,1
    - Dst: auto::data
      Src: /src/tink/cc/util/buffer_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/buffer_test.cc:78,1
    - Dst: std::memcmp
      Src: /src/tink/cc/util/buffer_test.cc:78,1
    - Dst: auto::data
      Src: /src/tink/cc/util/buffer_test.cc:78,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/util/buffer_test.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - auto::get_mem_block
    - auto::size
    - EXPECT_EQ
    - auto::data
    - IsOk
    - std::move
    - crypto::tink::util::Buffer::New
    - ASSERT_THAT
    - auto::value
    - absl::StrCat
    - SCOPED_TRACE
    - auto::set_size
    - std::memcpy
    - crypto::tink::subtle::Random::GetRandomBytes
    - std::memcmp
    - auto::allocated_size
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, InternalMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::Buffer::NewNonOwning
      Src: /src/tink/cc/util/buffer_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:85,1
    - Dst: auto::status
      Src: /src/tink/cc/util/buffer_test.cc:85,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/buffer_test.cc:85,1
    - Dst: HasSubstr
      Src: /src/tink/cc/util/buffer_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::util::Buffer::NewNonOwning
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, NullMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:91,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:91,1
    - Dst: absl::make_unique<char[]>
      Src: /src/tink/cc/util/buffer_test.cc:92,1
    - Dst: crypto::tink::util::Buffer::NewNonOwning
      Src: /src/tink/cc/util/buffer_test.cc:93,1
    - Dst: auto::get
      Src: /src/tink/cc/util/buffer_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:94,1
    - Dst: auto::status
      Src: /src/tink/cc/util/buffer_test.cc:94,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/buffer_test.cc:95,1
    - Dst: HasSubstr
      Src: /src/tink/cc/util/buffer_test.cc:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - StatusIs
    - HasSubstr
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_THAT
    - crypto::tink::util::Buffer::NewNonOwning
    - absl::make_unique<char[]>
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, BadAllocatedSize_ExternalMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:102,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:102,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/buffer_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:104,1
    - Dst: auto::status
      Src: /src/tink/cc/util/buffer_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/buffer_test.cc:105,1
    - Dst: HasSubstr
      Src: /src/tink/cc/util/buffer_test.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::util::Buffer::New
    - HasSubstr
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, BadAllocatedSize_InternalMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:112,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/util/buffer_test.cc:113,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/util/buffer_test.cc:113,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:115,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:116,1
    - Dst: auto::set_size
      Src: /src/tink/cc/util/buffer_test.cc:116,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/buffer_test.cc:117,1
    - Dst: HasSubstr
      Src: /src/tink/cc/util/buffer_test.cc:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - std::move
    - crypto::tink::util::Buffer::New
    - HasSubstr
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - auto::set_size
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, BadNewSize_ExternalMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:125,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:125,1
    - Dst: absl::make_unique<char[]>
      Src: /src/tink/cc/util/buffer_test.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/util/buffer_test.cc:128,1
    - Dst: crypto::tink::util::Buffer::NewNonOwning
      Src: /src/tink/cc/util/buffer_test.cc:128,1
    - Dst: auto::get
      Src: /src/tink/cc/util/buffer_test.cc:128,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/buffer_test.cc:130,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/buffer_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/util/buffer_test.cc:131,1
    - Dst: auto::set_size
      Src: /src/tink/cc/util/buffer_test.cc:131,1
    - Dst: StatusIs
      Src: /src/tink/cc/util/buffer_test.cc:132,1
    - Dst: HasSubstr
      Src: /src/tink/cc/util/buffer_test.cc:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: crypto::tink::util::TEST
    functionSourceFile: /src/tink/cc/util/buffer_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - std::move
    - HasSubstr
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_THAT
    - auto::set_size
    - crypto::tink::util::Buffer::NewNonOwning
    - absl::make_unique<char[]>
    linkageType: ''
    returnType: void
    signature: void TEST(BufferTest, BadNewSize_InternalMemoryBlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/errors.h:32,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/util/errors.h:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - ' format'
    argTypes:
    - absl::StatusCode
    - absl::FormatSpec<Args...>
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: crypto::tink::ToStatusF
    functionSourceFile: /src/tink/cc/util/errors.h
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrFormat
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ToStatusF(absl::StatusCode code,\n                       const
      absl::FormatSpec<Args...>& format,\n                       const Args&... args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestProto::set_num
      Src: /src/tink/cc/util/secret_proto_test.cc:51,1
    - Dst: TestProto::set_str
      Src: /src/tink/cc/util/secret_proto_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: crypto::tink::util::CreateProto
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - TestProto::set_num
    - TestProto::set_str
    linkageType: ''
    returnType: TestProto
    signature: TestProto CreateProto<TestProto>()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NestedTestProto::mutable_a
      Src: /src/tink/cc/util/secret_proto_test.cc:59,1
    - Dst: NestedTestProto::mutable_a
      Src: /src/tink/cc/util/secret_proto_test.cc:60,1
    - Dst: NestedTestProto::mutable_b
      Src: /src/tink/cc/util/secret_proto_test.cc:61,1
    - Dst: NestedTestProto::mutable_b
      Src: /src/tink/cc/util/secret_proto_test.cc:62,1
    - Dst: NestedTestProto::set_num
      Src: /src/tink/cc/util/secret_proto_test.cc:63,1
    - Dst: NestedTestProto::set_str
      Src: /src/tink/cc/util/secret_proto_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: crypto::tink::util::CreateProto
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - NestedTestProto::mutable_a
    - NestedTestProto::mutable_b
    - NestedTestProto::set_num
    - NestedTestProto::set_str
    linkageType: ''
    returnType: NestedTestProto
    signature: NestedTestProto CreateProto<NestedTestProto>()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:70,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:70,1
    - Dst: TypeParam
      Src: /src/tink/cc/util/secret_proto_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - TypeParam
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, DefaultConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:76,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::util::CreateProto
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, Constructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:83,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:83,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:84,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::util::CreateProto
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:88,1
    - Dst: absl::make_unique<SecretProto<TypeParam>>
      Src: /src/tink/cc/util/secret_proto_test.cc:89,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:91,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:92,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:92,1
    - Dst: auto::reset
      Src: /src/tink/cc/util/secret_proto_test.cc:94,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:95,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::make_unique<SecretProto<TypeParam>>
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    - crypto::tink::util::CreateProto
    - auto::reset
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, SourceDestroyedAfterCopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:104,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:104,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:105,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:108,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::util::CreateProto
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, AssignmentOperator)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:112,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:115,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:117,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:117,1
    - Dst: TypeParam
      Src: /src/tink/cc/util/secret_proto_test.cc:117,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - TypeParam
    - crypto::tink::util::CreateProto
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, MoveConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/util/secret_proto_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:127,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:127,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:129,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:129,1
    - Dst: TypeParam
      Src: /src/tink/cc/util/secret_proto_test.cc:129,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:130,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:133,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - std::move
    - TypeParam
    - crypto::tink::util::CreateProto
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, MoveAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:137,1
    - Dst: SecretData::resize
      Src: /src/tink/cc/util/secret_proto_test.cc:139,1
    - Dst: TypeParam::ByteSizeLong
      Src: /src/tink/cc/util/secret_proto_test.cc:139,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:140,1
    - Dst: TypeParam::SerializeToArray
      Src: /src/tink/cc/util/secret_proto_test.cc:140,1
    - Dst: SecretData::data
      Src: /src/tink/cc/util/secret_proto_test.cc:140,1
    - Dst: SecretData::size
      Src: /src/tink/cc/util/secret_proto_test.cc:140,1
    - Dst: crypto::tink::util::SecretProto::ParseFromSecretData
      Src: /src/tink/cc/util/secret_proto_test.cc:142,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:143,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/util/secret_proto_test.cc:143,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/util/secret_proto_test.cc:143,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:144,1
    - Dst: crypto::tink::internal::LegacyProtoParametersTest::Equals
      Src: /src/tink/cc/util/secret_proto_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - SecretData::resize
    - StatusOr::ok
    - EXPECT_TRUE
    - SecretData::data
    - TypeParam::SerializeToArray
    - crypto::tink::util::SecretProto::ParseFromSecretData
    - StatusOr::status
    - SecretData::size
    - TypeParam::ByteSizeLong
    - ASSERT_TRUE
    - crypto::tink::util::CreateProto
    - crypto::tink::internal::LegacyProtoParametersTest::Equals
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, FromSecretData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::CreateProto
      Src: /src/tink/cc/util/secret_proto_test.cc:148,1
    - Dst: TypeParam::SerializeAsString
      Src: /src/tink/cc/util/secret_proto_test.cc:149,1
    - Dst: SecretProto::SerializeAsSecretData
      Src: /src/tink/cc/util/secret_proto_test.cc:151,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/util/secret_proto_test.cc:152,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/util/secret_proto_test.cc:152,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/util/secret_proto_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/secret_proto_test.cc:153,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/secret_proto_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: crypto::tink::util::TYPED_TEST
    functionSourceFile: /src/tink/cc/util/secret_proto_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - crypto::tink::util::SecretDataAsStringView
    - EXPECT_EQ
    - TypeParam::SerializeAsString
    - StatusOr::status
    - ASSERT_TRUE
    - SecretProto::SerializeAsSecretData
    - crypto::tink::util::CreateProto
    linkageType: ''
    returnType: void
    signature: void TYPED_TEST(SecretProtoTest, AsSecretData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tink/cc/util/file_random_access_stream.cc:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: crypto::tink::util::close_ignoring_eintr
    functionSourceFile: /src/tink/cc/util/file_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_ignoring_eintr(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_descriptor
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: crypto::tink::util::FileRandomAccessStream::FileRandomAccessStream
    functionSourceFile: /src/tink/cc/util/file_random_access_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FileRandomAccessStream::FileRandomAccessStream(int file_descriptor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_random_access_stream.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_random_access_stream.cc:66,1
    - Dst: Buffer*::allocated_size
      Src: /src/tink/cc/util/file_random_access_stream.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_random_access_stream.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_random_access_stream.cc:73,1
    - Dst: Buffer*::set_size
      Src: /src/tink/cc/util/file_random_access_stream.cc:76,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/util/file_random_access_stream.cc:77,1
    - Dst: Buffer*::set_size
      Src: /src/tink/cc/util/file_random_access_stream.cc:80,1
    - Dst: Status
      Src: /src/tink/cc/util/file_random_access_stream.cc:81,1
    - Dst: Buffer*::set_size
      Src: /src/tink/cc/util/file_random_access_stream.cc:84,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/file_random_access_stream.cc:85,1
    - Dst: Buffer*::set_size
      Src: /src/tink/cc/util/file_random_access_stream.cc:87,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/util/file_random_access_stream.cc:88,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/file_random_access_stream.cc:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - Buffer*
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: crypto::tink::util::FileRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/util/file_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - ToStatusF
    - Status
    - Buffer*::allocated_size
    - Buffer*::set_size
    - crypto::tink::util::Status::ok
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status FileRandomAccessStream::PRead(int64_t position, int count,\n
      \                                    Buffer* dest_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_ignoring_eintr
      Src: /src/tink/cc/util/file_random_access_stream.cc: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: FileRandomAccessStream::~FileRandomAccessStream()
    functionSourceFile: /src/tink/cc/util/file_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - close_ignoring_eintr
    linkageType: ''
    returnType: void
    signature: void FileRandomAccessStream::~FileRandomAccessStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/tink/cc/util/file_random_access_stream.cc:98,1
    - Dst: Status
      Src: /src/tink/cc/util/file_random_access_stream.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: crypto::tink::util::FileRandomAccessStream::size
    functionSourceFile: /src/tink/cc/util/file_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - Status
    - fstat
    linkageType: ''
    returnType: StatusOr<int64_t>
    signature: StatusOr<int64_t> FileRandomAccessStream::size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::resize
      Src: /src/tink/cc/util/input_stream_util.cc:39,1
    - Dst: InputStream*::Next
      Src: /src/tink/cc/util/input_stream_util.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/input_stream_util.cc:45,1
    - Dst: auto::status
      Src: /src/tink/cc/util/input_stream_util.cc:45,1
    - Dst: absl::c_copy
      Src: /src/tink/cc/util/input_stream_util.cc:50,1
    - Dst: absl::MakeSpan
      Src: /src/tink/cc/util/input_stream_util.cc:50,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/util/input_stream_util.cc:50,1
    - Dst: Result::begin
      Src: /src/tink/cc/util/input_stream_util.cc:52,1
    - Dst: InputStream*::BackUp
      Src: /src/tink/cc/util/input_stream_util.cc:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - num_bytes
    - input_stream
    argTypes:
    - int
    - InputStream*
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: crypto::tink::ReadBytesFromStreamImpl
    functionSourceFile: /src/tink/cc/util/input_stream_util.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - Result::begin
    - auto::ok
    - InputStream*::BackUp
    - absl::c_copy
    - Result::resize
    - reinterpret_cast<const char*>
    - absl::MakeSpan
    - InputStream*::Next
    linkageType: ''
    returnType: util::StatusOr<Result>
    signature: "util::StatusOr<Result> ReadBytesFromStreamImpl(int num_bytes,\n                                               InputStream*
      input_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ReadBytesFromStreamImpl
      Src: /src/tink/cc/util/input_stream_util.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num_bytes
    - input_stream
    argTypes:
    - int
    - InputStream*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: crypto::tink::ReadBytesFromStream
    functionSourceFile: /src/tink/cc/util/input_stream_util.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::ReadBytesFromStreamImpl
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ReadBytesFromStream(int num_bytes,\n                                                InputStream*
      input_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ReadBytesFromStreamImpl
      Src: /src/tink/cc/util/input_stream_util.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num_bytes
    - input_stream
    argTypes:
    - int
    - InputStream*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: crypto::tink::ReadSecretBytesFromStream
    functionSourceFile: /src/tink/cc/util/input_stream_util.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::ReadBytesFromStreamImpl
    linkageType: ''
    returnType: util::StatusOr<util::SecretData>
    signature: "util::StatusOr<util::SecretData> ReadSecretBytesFromStream(\n    int
      num_bytes, InputStream* input_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tink/cc/util/file_output_stream.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: crypto::tink::util::close_ignoring_eintr
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_ignoring_eintr(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tink/cc/util/file_output_stream.cc:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: crypto::tink::util::write_ignoring_eintr
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int write_ignoring_eintr(int fd, const void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/tink/cc/util/file_output_stream.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - file_descriptor
    - buffer_size
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: crypto::tink::util::FileOutputStream::FileOutputStream
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::FileOutputStream(int file_descriptor, int buffer_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/file_output_stream.cc:75,1
    - Dst: absl::make_unique<uint8_t[]>
      Src: /src/tink/cc/util/file_output_stream.cc:78,1
    - Dst: get
      Src: /src/tink/cc/util/file_output_stream.cc:79,1
    - Dst: get
      Src: /src/tink/cc/util/file_output_stream.cc:92,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/file_output_stream.cc:106,1
    - Dst: get
      Src: /src/tink/cc/util/file_output_stream.cc:115,1
    - Dst: std::memmove
      Src: /src/tink/cc/util/file_output_stream.cc:119,1
    - Dst: get
      Src: /src/tink/cc/util/file_output_stream.cc:119,1
    - Dst: get
      Src: /src/tink/cc/util/file_output_stream.cc:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 122
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 122
    functionName: crypto::tink::util::FileOutputStream::Next
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - std::memmove
    - ToStatusF
    - ok
    - absl::make_unique<uint8_t[]>
    - get
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> FileOutputStream::Next(void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/file_output_stream.cc:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: crypto::tink::util::FileOutputStream::BackUp
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Close
      Src: /src/tink/cc/util/file_output_stream.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: FileOutputStream::~FileOutputStream()
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - Close
    linkageType: ''
    returnType: void
    signature: void FileOutputStream::~FileOutputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/file_output_stream.cc:138,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/file_output_stream.cc:146,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/file_output_stream.cc:151,1
    - Dst: close_ignoring_eintr
      Src: /src/tink/cc/util/file_output_stream.cc:160,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/file_output_stream.cc:161,1
    - Dst: Status
      Src: /src/tink/cc/util/file_output_stream.cc:165,1
    - Dst: OkStatus
      Src: /src/tink/cc/util/file_output_stream.cc:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: crypto::tink::util::FileOutputStream::Close
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached:
    - ToStatusF
    - ok
    - Status
    - OkStatus
    - close_ignoring_eintr
    linkageType: ''
    returnType: Status
    signature: Status FileOutputStream::Close()
  - 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: crypto::tink::util::FileOutputStream::Position
    functionSourceFile: /src/tink/cc/util/file_output_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileOutputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tink/cc/util/file_input_stream.cc:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: crypto::tink::util::close_ignoring_eintr
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int close_ignoring_eintr(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tink/cc/util/file_input_stream.cc:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - count
    argTypes:
    - int
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: crypto::tink::util::read_ignoring_eintr
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int read_ignoring_eintr(int fd, void *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/file_input_stream.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - file_descriptor
    - buffer_size
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: crypto::tink::util::FileInputStream::FileInputStream
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: void FileInputStream::FileInputStream(int file_descriptor, int buffer_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_input_stream.cc:67,1
    - Dst: ok
      Src: /src/tink/cc/util/file_input_stream.cc:70,1
    - Dst: data
      Src: /src/tink/cc/util/file_input_stream.cc:75,1
    - Dst: Status
      Src: /src/tink/cc/util/file_input_stream.cc:83,1
    - Dst: ToStatusF
      Src: /src/tink/cc/util/file_input_stream.cc:86,1
    - Dst: data
      Src: /src/tink/cc/util/file_input_stream.cc:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 96
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 96
    functionName: crypto::tink::util::FileInputStream::Next
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - ToStatusF
    - ok
    - Status
    - data
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> FileInputStream::Next(const void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/util/file_input_stream.cc:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: crypto::tink::util::FileInputStream::BackUp
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    linkageType: ''
    returnType: void
    signature: void FileInputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close_ignoring_eintr
      Src: /src/tink/cc/util/file_input_stream.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: FileInputStream::~FileInputStream()
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached:
    - close_ignoring_eintr
    linkageType: ''
    returnType: void
    signature: void FileInputStream::~FileInputStream()
  - 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: crypto::tink::util::FileInputStream::Position
    functionSourceFile: /src/tink/cc/util/file_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t FileInputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/util/validation.cc:35,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/validation.cc:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: crypto::tink::ValidateAesKeySize
    functionSourceFile: /src/tink/cc/util/validation.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - crypto::tink::ToStatusF
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateAesKeySize(uint32_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_key_data
      Src: /src/tink/cc/util/validation.cc:43,1
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/util/validation.cc:44,1
    - Dst: key_id
      Src: /src/tink/cc/util/validation.cc:45,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/util/validation.cc:48,1
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/util/validation.cc:50,1
    - Dst: key_id
      Src: /src/tink/cc/util/validation.cc:51,1
    - Dst: status
      Src: /src/tink/cc/util/validation.cc:54,1
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/util/validation.cc:55,1
    - Dst: key_id
      Src: /src/tink/cc/util/validation.cc:56,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/validation.cc:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Keyset::Key
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: crypto::tink::ValidateKey
    functionSourceFile: /src/tink/cc/util/validation.cc
    functionUses: 5
    functionsReached:
    - status
    - has_key_data
    - key_id
    - crypto::tink::ToStatusF
    - output_prefix_type
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKey(const Keyset::Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/util/validation.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/validation.cc:63,1
    - Dst: key_size
      Src: /src/tink/cc/util/validation.cc:72,1
    - Dst: key
      Src: /src/tink/cc/util/validation.cc:73,1
    - Dst: status
      Src: /src/tink/cc/util/validation.cc:76,1
    - Dst: crypto::tink::ValidateKey
      Src: /src/tink/cc/util/validation.cc:81,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/validation.cc:82,1
    - Dst: status
      Src: /src/tink/cc/util/validation.cc:86,1
    - Dst: key_id
      Src: /src/tink/cc/util/validation.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/validation.cc:89,1
    - Dst: key_data
      Src: /src/tink/cc/util/validation.cc:95,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/validation.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/validation.cc:109,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/validation.cc:113,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - ' keyset'
    argTypes:
    - Keyset
    constantsTouched: []
    func_position:
      end: 114
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 114
    functionName: crypto::tink::ValidateKeyset
    functionSourceFile: /src/tink/cc/util/validation.cc
    functionUses: 7
    functionsReached:
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - status
    - crypto::tink::ValidateKey
    - key_id
    - key
    - key_data
    - crypto::tink::util::OkStatus
    - key_size
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKeyset(const Keyset& keyset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToStatusF
      Src: /src/tink/cc/util/validation.cc:118,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/validation.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - candidate
    - max_expected
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: crypto::tink::ValidateVersion
    functionSourceFile: /src/tink/cc/util/validation.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - crypto::tink::ToStatusF
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateVersion(uint32_t candidate, uint32_t max_expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:49,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/util/file_output_stream_test.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/file_output_stream_test.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:54,1
    - Dst: std::strerror
      Src: /src/tink/cc/util/file_output_stream_test.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: crypto::tink::OpenTestFileToWrite
    functionSourceFile: /src/tink/cc/util/file_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::TmpDir
    - std::strerror
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> OpenTestFileToWrite(absl::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: util::FileOutputStream*::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:71,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:72,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:72,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:73,1
    - Dst: std::min
      Src: /src/tink/cc/util/file_output_stream_test.cc:74,1
    - Dst: memcpy
      Src: /src/tink/cc/util/file_output_stream_test.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/util/file_output_stream_test.cc:75,1
    - Dst: util::FileOutputStream*::BackUp
      Src: /src/tink/cc/util/file_output_stream_test.cc:80,1
    - Dst: util::FileOutputStream*::Close
      Src: /src/tink/cc/util/file_output_stream_test.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - output_stream
    - contents
    argTypes:
    - util::FileOutputStream*
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: crypto::tink::WriteToStream
    functionSourceFile: /src/tink/cc/util/file_output_stream_test.cc
    functionUses: 6
    functionsReached:
    - auto::status
    - auto::ok
    - util::FileOutputStream*::Next
    - auto::value
    - memcpy
    - util::FileOutputStream*::Close
    - absl::string_view::data
    - util::FileOutputStream*::BackUp
    - std::min
    linkageType: ''
    returnType: util::Status
    signature: "util::Status WriteToStream(util::FileOutputStream* output_stream,\n
      \                          absl::string_view contents)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_output_stream_test.cc:90,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:90,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_output_stream_test.cc:91,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:92,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_output_stream_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_output_stream_test.cc:94,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_output_stream_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_output_stream_test.cc:94,1
    - Dst: crypto::tink::OpenTestFileToWrite
      Src: /src/tink/cc/util/file_output_stream_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_output_stream_test.cc:96,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_output_stream_test.cc:96,1
    - Dst: absl::make_unique<util::FileOutputStream>
      Src: /src/tink/cc/util/file_output_stream_test.cc:97,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/util/file_output_stream_test.cc:98,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_output_stream_test.cc:98,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:99,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:99,1
    - Dst: crypto::tink::test::ReadTestFile
      Src: /src/tink/cc/util/file_output_stream_test.cc:100,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:101,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_output_stream_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/file_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::status
    - absl::make_unique<util::FileOutputStream>
    - crypto::tink::internal::CreateTestFile
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - auto::ok
    - EXPECT_EQ
    - std::string::size
    - ASSERT_THAT
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::WriteToStream
    - crypto::tink::test::ReadTestFile
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::OpenTestFileToWrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(FileOutputStreamTest, WritingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_output_stream_test.cc:108,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_output_stream_test.cc:110,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:110,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:111,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_output_stream_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_output_stream_test.cc:113,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_output_stream_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_output_stream_test.cc:113,1
    - Dst: crypto::tink::OpenTestFileToWrite
      Src: /src/tink/cc/util/file_output_stream_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_output_stream_test.cc:115,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_output_stream_test.cc:115,1
    - Dst: absl::make_unique<util::FileOutputStream>
      Src: /src/tink/cc/util/file_output_stream_test.cc:117,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:120,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:121,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:121,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_output_stream_test.cc:122,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/util/file_output_stream_test.cc:123,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_output_stream_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:124,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:124,1
    - Dst: crypto::tink::test::ReadTestFile
      Src: /src/tink/cc/util/file_output_stream_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:126,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_output_stream_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/file_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::internal::CreateTestFile
    - ASSERT_THAT
    - absl::StrCat
    - crypto::tink::WriteToStream
    - auto::Next
    - auto::status
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - auto::BackUp
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - absl::make_unique<util::FileOutputStream>
    - EXPECT_EQ
    - util::StatusOr::status
    - auto::value
    - auto::get
    - crypto::tink::test::ReadTestFile
    - std::string::size
    - crypto::tink::OpenTestFileToWrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(FileOutputStreamTest, CustomBufferSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/util/file_output_stream_test.cc:136,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:138,1
    - Dst: crypto::tink::internal::GetTestFileNamePrefix
      Src: /src/tink/cc/util/file_output_stream_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_output_stream_test.cc:139,1
    - Dst: crypto::tink::internal::CreateTestFile
      Src: /src/tink/cc/util/file_output_stream_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_output_stream_test.cc:139,1
    - Dst: crypto::tink::OpenTestFileToWrite
      Src: /src/tink/cc/util/file_output_stream_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/util/file_output_stream_test.cc:141,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/util/file_output_stream_test.cc:141,1
    - Dst: absl::make_unique<util::FileOutputStream>
      Src: /src/tink/cc/util/file_output_stream_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:146,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:146,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:148,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:148,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:149,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:150,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:150,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/file_output_stream_test.cc:151,1
    - Dst: std::string::data
      Src: /src/tink/cc/util/file_output_stream_test.cc:151,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_output_stream_test.cc:156,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:156,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_output_stream_test.cc:157,1
    - Dst: std::max
      Src: /src/tink/cc/util/file_output_stream_test.cc:158,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:159,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:159,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/util/file_output_stream_test.cc:161,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:161,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:165,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:165,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:165,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_output_stream_test.cc:170,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:170,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_output_stream_test.cc:171,1
    - Dst: std::max
      Src: /src/tink/cc/util/file_output_stream_test.cc:172,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:173,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:173,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/util/file_output_stream_test.cc:175,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:175,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:179,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:179,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:179,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:182,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:183,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:184,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:184,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:184,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:185,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:185,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:186,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:186,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/file_output_stream_test.cc:187,1
    - Dst: std::string::data
      Src: /src/tink/cc/util/file_output_stream_test.cc:187,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/util/file_output_stream_test.cc:193,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/file_output_stream_test.cc:193,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/util/file_output_stream_test.cc:194,1
    - Dst: std::min
      Src: /src/tink/cc/util/file_output_stream_test.cc:195,1
    - Dst: std::max
      Src: /src/tink/cc/util/file_output_stream_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:197,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:198,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:201,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:201,1
    - Dst: auto::Next
      Src: /src/tink/cc/util/file_output_stream_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:205,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:205,1
    - Dst: auto::status
      Src: /src/tink/cc/util/file_output_stream_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:206,1
    - Dst: auto::value
      Src: /src/tink/cc/util/file_output_stream_test.cc:206,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:207,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:207,1
    - Dst: std::memcpy
      Src: /src/tink/cc/util/file_output_stream_test.cc:208,1
    - Dst: std::string::data
      Src: /src/tink/cc/util/file_output_stream_test.cc:208,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/util/file_output_stream_test.cc:211,1
    - Dst: auto::get
      Src: /src/tink/cc/util/file_output_stream_test.cc:212,1
    - Dst: std::string::substr
      Src: /src/tink/cc/util/file_output_stream_test.cc:212,1
    - Dst: auto::Position
      Src: /src/tink/cc/util/file_output_stream_test.cc:212,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/util/file_output_stream_test.cc:213,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/file_output_stream_test.cc:213,1
    - Dst: crypto::tink::test::ReadTestFile
      Src: /src/tink/cc/util/file_output_stream_test.cc:214,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:215,1
    - Dst: std::string::size
      Src: /src/tink/cc/util/file_output_stream_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/util/file_output_stream_test.cc:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 217
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/util/file_output_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - crypto::tink::internal::CreateTestFile
    - ASSERT_THAT
    - auto::Position
    - absl::StrCat
    - crypto::tink::WriteToStream
    - auto::Next
    - std::min
    - auto::status
    - crypto::tink::internal::GetTestFileNamePrefix
    - IsOk
    - std::string::substr
    - auto::BackUp
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_LT
    - absl::make_unique<util::FileOutputStream>
    - EXPECT_EQ
    - std::max
    - std::string::data
    - util::StatusOr::status
    - auto::value
    - auto::get
    - crypto::tink::test::ReadTestFile
    - std::string::size
    - std::memcpy
    - crypto::tink::OpenTestFileToWrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(FileOutputStreamTest, BackupAndPosition)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::SafeMatcherCast<const value_type&>
      Src: /src/tink/cc/util/test_matchers.h:50,1
    - Dst: std::forward<InnerMatcher>
      Src: /src/tink/cc/util/test_matchers.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' inner_matcher'
    argTypes:
    - InnerMatcher
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::IsOkAndHoldsMatcherImpl
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - std::forward<InnerMatcher>
    - ::testing::SafeMatcherCast<const value_type&>
    linkageType: ''
    returnType: void
    signature: void IsOkAndHoldsMatcherImpl(InnerMatcher&& inner_matcher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeTo
      Src: /src/tink/cc/util/test_matchers.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - os
    argTypes:
    - std::ostream*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeTo
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 1
    functionsReached:
    - crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeTo
    linkageType: ''
    returnType: void
    signature: void DescribeTo(std::ostream* os) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeNegationTo
      Src: /src/tink/cc/util/test_matchers.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - os
    argTypes:
    - std::ostream*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeNegationTo
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 1
    functionsReached:
    - crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeNegationTo
    linkageType: ''
    returnType: void
    signature: void DescribeNegationTo(std::ostream* os) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StatusOrType::ok
      Src: /src/tink/cc/util/test_matchers.h:66,1
    - Dst: StatusOrType::status
      Src: /src/tink/cc/util/test_matchers.h:67,1
    - Dst: ::testing::StringMatchResultListener::str
      Src: /src/tink/cc/util/test_matchers.h:74,1
    - Dst: std::string::empty
      Src: /src/tink/cc/util/test_matchers.h:75,1
    - Dst: ::testing::PrintToString
      Src: /src/tink/cc/util/test_matchers.h:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - actual_value
    - result_listener
    argTypes:
    - StatusOrType
    - ::testing::MatchResultListener*
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::MatchAndExplain
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - StatusOrType::status
    - StatusOrType::ok
    - ::testing::StringMatchResultListener::str
    - ::testing::PrintToString
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool MatchAndExplain(\n      StatusOrType actual_value,\n      ::testing::MatchResultListener*
      result_listener) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/util/test_matchers.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - inner_matcher
    argTypes:
    - InnerMatcher
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: crypto::tink::test::internal::IsOkAndHoldsMatcher::IsOkAndHoldsMatcher
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void IsOkAndHoldsMatcher(InnerMatcher inner_matcher)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::testing::Matcher<StatusOrType>
      Src: /src/tink/cc/util/test_matchers.h:99,1
    - Dst: IsOkAndHoldsMatcherImpl<const StatusOrType&>::IsOkAndHoldsMatcherImpl<const
        StatusOrType&>
      Src: /src/tink/cc/util/test_matchers.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: operator ::testing::Matcher<StatusOrType>() const
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - IsOkAndHoldsMatcherImpl<const StatusOrType&>::IsOkAndHoldsMatcherImpl<const
      StatusOrType&>
    - ::testing::Matcher<StatusOrType>
    linkageType: ''
    returnType: void
    signature: void operator ::testing::Matcher<StatusOrType>() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ToString
      Src: /src/tink/cc/util/test_matchers.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - util::Status
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: crypto::tink::test::StatusToString
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - ToString
    linkageType: ''
    returnType: std::string
    signature: std::string StatusToString(const util::Status& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: status
      Src: /src/tink/cc/util/test_matchers.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' s'
    argTypes:
    - util::StatusOr<T>
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: crypto::tink::test::StatusToString
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - status
    linkageType: ''
    returnType: std::string
    signature: std::string StatusToString(const util::StatusOr<T>& s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::IsOkAndHoldsMatcher<typename std::decay<InnerMatcher>::type>
      Src: /src/tink/cc/util/test_matchers.h:134,1
    - Dst: std::forward<InnerMatcher>
      Src: /src/tink/cc/util/test_matchers.h:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ' inner_matcher'
    argTypes:
    - InnerMatcher
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: crypto::tink::test::IsOkAndHolds
    functionSourceFile: /src/tink/cc/util/test_matchers.h
    functionUses: 0
    functionsReached:
    - internal::IsOkAndHoldsMatcher<typename std::decay<InnerMatcher>::type>
    - std::forward<InnerMatcher>
    linkageType: ''
    returnType: internal::IsOkAndHoldsMatcher<typename std::decay<InnerMatcher>::type>
    signature: internal::IsOkAndHoldsMatcher<typename std::decay<InnerMatcher>::type>
      IsOkAndHolds(InnerMatcher&& inner_matcher)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - subtle::EllipticCurveType
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: crypto::tink::util::Enums::SubtleToProto
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::EllipticCurveType
    signature: pb::EllipticCurveType Enums::SubtleToProto(subtle::EllipticCurveType
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - pb::EllipticCurveType
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: crypto::tink::util::Enums::ProtoToSubtle
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: subtle::EllipticCurveType
    signature: subtle::EllipticCurveType Enums::ProtoToSubtle(pb::EllipticCurveType
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - subtle::EcPointFormat
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: crypto::tink::util::Enums::SubtleToProto
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::EcPointFormat
    signature: pb::EcPointFormat Enums::SubtleToProto(subtle::EcPointFormat format)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - pb::EcPointFormat
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: crypto::tink::util::Enums::ProtoToSubtle
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: subtle::EcPointFormat
    signature: subtle::EcPointFormat Enums::ProtoToSubtle(pb::EcPointFormat format)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - subtle::HashType
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: crypto::tink::util::Enums::SubtleToProto
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::HashType
    signature: pb::HashType Enums::SubtleToProto(subtle::HashType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - pb::HashType
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: crypto::tink::util::Enums::ProtoToSubtle
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: subtle::HashType
    signature: subtle::HashType Enums::ProtoToSubtle(pb::HashType type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - pb::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: crypto::tink::util::Enums::ProtoToSubtle
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: subtle::EcdsaSignatureEncoding
    signature: "subtle::EcdsaSignatureEncoding Enums::ProtoToSubtle(\n    pb::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - subtle::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: crypto::tink::util::Enums::SubtleToProto
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::EcdsaSignatureEncoding
    signature: "pb::EcdsaSignatureEncoding Enums::SubtleToProto(\n    subtle::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - key_status_type
    argTypes:
    - pb::KeyStatusType
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: crypto::tink::util::Enums::KeyStatusName
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Enums::KeyStatusName(pb::KeyStatusType key_status_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - pb::HashType
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: crypto::tink::util::Enums::HashName
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Enums::HashName(pb::HashType hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/enums.cc:201,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/enums.cc:202,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/util/enums.cc:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - pb::HashType
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: crypto::tink::util::Enums::HashLength
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::Enums::HashName
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> Enums::HashLength(pb::HashType hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - key_material_type
    argTypes:
    - pb::KeyData::KeyMaterialType
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: crypto::tink::util::Enums::KeyMaterialName
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char * Enums::KeyMaterialName(\n    pb::KeyData::KeyMaterialType key_material_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - pb::OutputPrefixType
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: crypto::tink::util::Enums::OutputPrefixName
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * Enums::OutputPrefixName(pb::OutputPrefixType output_prefix_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: crypto::tink::util::Enums::KeyStatus
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: pb::KeyStatusType
    signature: pb::KeyStatusType Enums::KeyStatus(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: crypto::tink::util::Enums::Hash
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pb::HashType
    signature: pb::HashType Enums::Hash(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: crypto::tink::util::Enums::KeyMaterial
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: pb::KeyData::KeyMaterialType
    signature: pb::KeyData::KeyMaterialType Enums::KeyMaterial(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: crypto::tink::util::Enums::OutputPrefix
    functionSourceFile: /src/tink/cc/util/enums.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: pb::OutputPrefixType
    signature: pb::OutputPrefixType Enums::OutputPrefix(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.cc:79,1
    - Dst: crypto::tink::test::TmpDir
      Src: /src/tink/cc/util/test_util.cc:79,1
    - Dst: exit
      Src: /src/tink/cc/util/test_util.cc:83,1
    - Dst: std::ifstream::rdbuf
      Src: /src/tink/cc/util/test_util.cc:86,1
    - Dst: std::stringstream::str
      Src: /src/tink/cc/util/test_util.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: crypto::tink::test::ReadTestFile
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 6
    functionsReached:
    - std::ifstream::rdbuf
    - crypto::tink::test::TmpDir
    - exit
    - absl::StrCat
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestFile(absl::string_view filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:91,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.cc:92,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:95,1
    - Dst: static_cast<char>
      Src: /src/tink/cc/util/test_util.cc:95,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:96,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.cc:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - hex
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: crypto::tink::test::HexDecode
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - static_cast<char>
    - absl::string_view::size
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> HexDecode(absl::string_view hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::HexDecode
      Src: /src/tink/cc/util/test_util.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hex
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: crypto::tink::test::HexDecodeOrDie
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 33
    functionsReached:
    - crypto::tink::test::HexDecode
    linkageType: ''
    returnType: std::string
    signature: std::string HexDecodeOrDie(absl::string_view hex)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:119,1
    - Dst: static_cast<char>
      Src: /src/tink/cc/util/test_util.cc:119,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: crypto::tink::test::HexEncode
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 4
    functionsReached:
    - static_cast<char>
    - absl::string_view::size
    linkageType: ''
    returnType: std::string
    signature: std::string HexEncode(absl::string_view bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: crypto::tink::test::TmpDir
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string TmpDir()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Keyset*::add_key
      Src: /src/tink/cc/util/test_util.cc:148,1
    - Dst: Keyset::Key*::set_output_prefix_type
      Src: /src/tink/cc/util/test_util.cc:149,1
    - Dst: Keyset::Key*::set_key_id
      Src: /src/tink/cc/util/test_util.cc:150,1
    - Dst: Keyset::Key*::set_status
      Src: /src/tink/cc/util/test_util.cc:151,1
    - Dst: Keyset::Key*::mutable_key_data
      Src: /src/tink/cc/util/test_util.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ' key_data'
    - key_id
    - output_prefix
    - key_status
    - keyset
    argTypes:
    - google::crypto::tink::KeyData
    - uint32_t
    - google::crypto::tink::OutputPrefixType
    - google::crypto::tink::KeyStatusType
    - google::crypto::tink::Keyset*
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: crypto::tink::test::AddKeyData
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 3
    functionsReached:
    - Keyset::Key*::set_output_prefix_type
    - Keyset::Key*::mutable_key_data
    - google::crypto::tink::Keyset*::add_key
    - Keyset::Key*::set_status
    - Keyset::Key*::set_key_id
    linkageType: ''
    returnType: void
    signature: "void AddKeyData(const google::crypto::tink::KeyData& key_data, uint32_t
      key_id,\n                google::crypto::tink::OutputPrefixType output_prefix,\n
      \               google::crypto::tink::KeyStatusType key_status,\n                google::crypto::tink::Keyset*
      keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyData::set_type_url
      Src: /src/tink/cc/util/test_util.cc:162,1
    - Dst: google::crypto::tink::KeyData::set_key_material_type
      Src: /src/tink/cc/util/test_util.cc:163,1
    - Dst: google::crypto::tink::KeyData::set_value
      Src: /src/tink/cc/util/test_util.cc:164,1
    - Dst: SerializeAsString
      Src: /src/tink/cc/util/test_util.cc:164,1
    - Dst: crypto::tink::test::AddKeyData
      Src: /src/tink/cc/util/test_util.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' key_type'
    - key_id
    - ' new_key'
    - output_prefix
    - key_status
    - material_type
    - keyset
    argTypes:
    - std::string
    - uint32_t
    - portable_proto::MessageLite
    - google::crypto::tink::OutputPrefixType
    - google::crypto::tink::KeyStatusType
    - google::crypto::tink::KeyData::KeyMaterialType
    - google::crypto::tink::Keyset*
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: crypto::tink::test::AddKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::KeyData::set_type_url
    - google::crypto::tink::KeyData::set_key_material_type
    - crypto::tink::test::AddKeyData
    - SerializeAsString
    - google::crypto::tink::KeyData::set_value
    linkageType: ''
    returnType: void
    signature: "void AddKey(const std::string& key_type, uint32_t key_id,\n            const
      portable_proto::MessageLite& new_key,\n            google::crypto::tink::OutputPrefixType
      output_prefix,\n            google::crypto::tink::KeyStatusType key_status,\n
      \           google::crypto::tink::KeyData::KeyMaterialType material_type,\n
      \           google::crypto::tink::Keyset* keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::AddKey
      Src: /src/tink/cc/util/test_util.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' key_type'
    - key_id
    - ' key'
    - key_status
    - material_type
    - keyset
    argTypes:
    - std::string
    - uint32_t
    - portable_proto::MessageLite
    - google::crypto::tink::KeyStatusType
    - google::crypto::tink::KeyData::KeyMaterialType
    - google::crypto::tink::Keyset*
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: crypto::tink::test::AddTinkKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::test::AddKey
    linkageType: ''
    returnType: void
    signature: "void AddTinkKey(const std::string& key_type, uint32_t key_id,\n                const
      portable_proto::MessageLite& key,\n                google::crypto::tink::KeyStatusType
      key_status,\n                google::crypto::tink::KeyData::KeyMaterialType
      material_type,\n                google::crypto::tink::Keyset* keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::AddKey
      Src: /src/tink/cc/util/test_util.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' key_type'
    - key_id
    - ' key'
    - key_status
    - material_type
    - keyset
    argTypes:
    - std::string
    - uint32_t
    - portable_proto::MessageLite
    - google::crypto::tink::KeyStatusType
    - google::crypto::tink::KeyData::KeyMaterialType
    - google::crypto::tink::Keyset*
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: crypto::tink::test::AddLegacyKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::AddKey
    linkageType: ''
    returnType: void
    signature: "void AddLegacyKey(const std::string& key_type, uint32_t key_id,\n
      \                 const portable_proto::MessageLite& key,\n                  google::crypto::tink::KeyStatusType
      key_status,\n                  google::crypto::tink::KeyData::KeyMaterialType
      material_type,\n                  google::crypto::tink::Keyset* keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::AddKey
      Src: /src/tink/cc/util/test_util.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ' key_type'
    - key_id
    - ' key'
    - key_status
    - material_type
    - keyset
    argTypes:
    - std::string
    - uint32_t
    - portable_proto::MessageLite
    - google::crypto::tink::KeyStatusType
    - google::crypto::tink::KeyData::KeyMaterialType
    - google::crypto::tink::Keyset*
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: crypto::tink::test::AddRawKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::AddKey
    linkageType: ''
    returnType: void
    signature: "void AddRawKey(const std::string& key_type, uint32_t key_id,\n               const
      portable_proto::MessageLite& key,\n               google::crypto::tink::KeyStatusType
      key_status,\n               google::crypto::tink::KeyData::KeyMaterialType material_type,\n
      \              google::crypto::tink::Keyset* keyset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAesGcmHkdfTestKey
      Src: /src/tink/cc/util/test_util.cc:200,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/test_util.cc:201,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/test_util.cc:202,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/test_util.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    - aes_gcm_key_size
    argTypes:
    - subtle::EllipticCurveType
    - subtle::EcPointFormat
    - subtle::HashType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: crypto::tink::test::GetEciesAesGcmHkdfTestKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::util::Enums::SubtleToProto
    - crypto::tink::test::GetEciesAesGcmHkdfTestKey
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: "EciesAeadHkdfPrivateKey GetEciesAesGcmHkdfTestKey(\n    subtle::EllipticCurveType
      curve_type,\n    subtle::EcPointFormat ec_point_format,\n    subtle::HashType
      hash_type,\n    uint32_t aes_gcm_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/util/test_util.cc:211,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/test_util.cc:211,1
    - Dst: EciesAeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/util/test_util.cc:213,1
    - Dst: EciesAeadHkdfPrivateKey::set_key_value
      Src: /src/tink/cc/util/test_util.cc:214,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util.cc:215,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/test_util.cc:215,1
    - Dst: EciesAeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:216,1
    - Dst: auto::set_version
      Src: /src/tink/cc/util/test_util.cc:217,1
    - Dst: auto::set_x
      Src: /src/tink/cc/util/test_util.cc:218,1
    - Dst: auto::set_y
      Src: /src/tink/cc/util/test_util.cc:219,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/util/test_util.cc:220,1
    - Dst: auto::set_ec_point_format
      Src: /src/tink/cc/util/test_util.cc:221,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/util/test_util.cc:222,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/util/test_util.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: crypto::tink::test::GetEciesAeadHkdfTestKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - auto::set_x
    - auto::set_ec_point_format
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - std::string
    - EciesAeadHkdfPrivateKey::mutable_public_key
    - EciesAeadHkdfPrivateKey::set_key_value
    - EciesAeadHkdfPrivateKey::set_version
    - auto::mutable_params
    - crypto::tink::util::Enums::ProtoToSubtle
    - auto::set_y
    - auto::mutable_kem_params
    - auto::set_version
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: "EciesAeadHkdfPrivateKey GetEciesAeadHkdfTestKey(\n    google::crypto::tink::EllipticCurveType
      curve_type,\n    google::crypto::tink::EcPointFormat ec_point_format,\n    google::crypto::tink::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAeadHkdfTestKey
      Src: /src/tink/cc/util/test_util.cc:233,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:234,1
    - Dst: AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/util/test_util.cc:237,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/util/test_util.cc:238,1
    - Dst: std::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/util/test_util.cc:239,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/util/test_util.cc:240,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/util/test_util.cc:241,1
    - Dst: auto::set_value
      Src: /src/tink/cc/util/test_util.cc:242,1
    - Dst: AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/util/test_util.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    - aes_gcm_key_size
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: crypto::tink::test::GetEciesAesGcmHkdfTestKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 6
    functionsReached:
    - auto::set_value
    - auto::get_key_type
    - AesGcmKeyFormat::set_key_size
    - std::make_unique<AesGcmKeyManager>
    - AesGcmKeyFormat::SerializeAsString
    - auto::mutable_public_key
    - auto::set_type_url
    - auto::mutable_dem_params
    - crypto::tink::test::GetEciesAeadHkdfTestKey
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: "EciesAeadHkdfPrivateKey GetEciesAesGcmHkdfTestKey(\n    google::crypto::tink::EllipticCurveType
      curve_type,\n    google::crypto::tink::EcPointFormat ec_point_format,\n    google::crypto::tink::HashType
      hash_type, uint32_t aes_gcm_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAeadHkdfTestKey
      Src: /src/tink/cc/util/test_util.cc:253,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/util/test_util.cc:256,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/util/test_util.cc:257,1
    - Dst: auto::set_iv_size
      Src: /src/tink/cc/util/test_util.cc:258,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/util/test_util.cc:259,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/util/test_util.cc:261,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/util/test_util.cc:262,1
    - Dst: auto::set_hash
      Src: /src/tink/cc/util/test_util.cc:263,1
    - Dst: auto::set_tag_size
      Src: /src/tink/cc/util/test_util.cc:264,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/util/test_util.cc:265,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:267,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/util/test_util.cc:268,1
    - Dst: std::make_unique<AesCtrHmacAeadKeyManager>
      Src: /src/tink/cc/util/test_util.cc:270,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/util/test_util.cc:271,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/util/test_util.cc:272,1
    - Dst: auto::set_value
      Src: /src/tink/cc/util/test_util.cc:273,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/util/test_util.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    - aes_ctr_key_size
    - aes_ctr_iv_size
    - hmac_hash_type
    - hmac_tag_size
    - hmac_key_size
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    - uint32_t
    - uint32_t
    - google::crypto::tink::HashType
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 5
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: crypto::tink::test::GetEciesAesCtrHmacHkdfTestKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 1
    functionsReached:
    - auto::set_value
    - google::crypto::tink::AesCtrHmacAeadKeyFormat::SerializeAsString
    - auto::set_iv_size
    - auto::get_key_type
    - google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - auto::set_hash
    - auto::set_key_size
    - auto::mutable_params
    - auto::mutable_public_key
    - google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - std::make_unique<AesCtrHmacAeadKeyManager>
    - auto::set_type_url
    - auto::mutable_dem_params
    - auto::set_tag_size
    - crypto::tink::test::GetEciesAeadHkdfTestKey
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: "EciesAeadHkdfPrivateKey GetEciesAesCtrHmacHkdfTestKey(\n    google::crypto::tink::EllipticCurveType
      curve_type,\n    google::crypto::tink::EcPointFormat ec_point_format,\n    google::crypto::tink::HashType
      hash_type, uint32_t aes_ctr_key_size,\n    uint32_t aes_ctr_iv_size, google::crypto::tink::HashType
      hmac_hash_type,\n    uint32_t hmac_tag_size, uint32_t hmac_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAeadHkdfTestKey
      Src: /src/tink/cc/util/test_util.cc:282,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:283,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/util/test_util.cc:286,1
    - Dst: std::make_unique<XChaCha20Poly1305KeyManager>
      Src: /src/tink/cc/util/test_util.cc:287,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/util/test_util.cc:288,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/util/test_util.cc:289,1
    - Dst: auto::set_value
      Src: /src/tink/cc/util/test_util.cc:290,1
    - Dst: google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/util/test_util.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    constantsTouched: []
    func_position:
      end: 292
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 292
    functionName: crypto::tink::test::GetEciesXChaCha20Poly1305HkdfTestKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 1
    functionsReached:
    - auto::set_value
    - std::make_unique<XChaCha20Poly1305KeyManager>
    - auto::get_key_type
    - auto::mutable_public_key
    - auto::set_type_url
    - google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
    - auto::mutable_dem_params
    - crypto::tink::test::GetEciesAeadHkdfTestKey
    linkageType: ''
    returnType: EciesAeadHkdfPrivateKey
    signature: "EciesAeadHkdfPrivateKey GetEciesXChaCha20Poly1305HkdfTestKey(\n    google::crypto::tink::EllipticCurveType
      curve_type,\n    google::crypto::tink::EcPointFormat ec_point_format,\n    google::crypto::tink::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEciesAeadHkdfTestKey
      Src: /src/tink/cc/util/test_util.cc:299,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:300,1
    - Dst: google::crypto::tink::AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/util/test_util.cc:303,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/util/test_util.cc:304,1
    - Dst: AesSivKeyManager::get_key_type
      Src: /src/tink/cc/util/test_util.cc:306,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/util/test_util.cc:307,1
    - Dst: auto::set_value
      Src: /src/tink/cc/util/test_util.cc:308,1
    - Dst: google::crypto::tink::AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/util/test_util.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: crypto::tink::test::GetEciesAesSivHkdfTestKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 2
    functionsReached:
    - google::crypto::tink::AesSivKeyFormat::set_key_size
    - auto::set_value
    - google::crypto::tink::AesSivKeyFormat::SerializeAsString
    - AesSivKeyManager::get_key_type
    - auto::mutable_public_key
    - auto::set_type_url
    - auto::mutable_dem_params
    - crypto::tink::test::GetEciesAeadHkdfTestKey
    linkageType: ''
    returnType: google::crypto::tink::EciesAeadHkdfPrivateKey
    signature: "google::crypto::tink::EciesAeadHkdfPrivateKey GetEciesAesSivHkdfTestKey(\n
      \   google::crypto::tink::EllipticCurveType curve_type,\n    google::crypto::tink::EcPointFormat
      ec_point_format,\n    google::crypto::tink::HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetEcdsaTestPrivateKey
      Src: /src/tink/cc/util/test_util.cc:315,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/test_util.cc:315,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/test_util.cc:316,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/util/test_util.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - curve_type
    - hash_type
    - encoding
    argTypes:
    - subtle::EllipticCurveType
    - subtle::HashType
    - subtle::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: crypto::tink::test::GetEcdsaTestPrivateKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::util::Enums::SubtleToProto
    - crypto::tink::test::GetEcdsaTestPrivateKey
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: "EcdsaPrivateKey GetEcdsaTestPrivateKey(\n    subtle::EllipticCurveType
      curve_type, subtle::HashType hash_type,\n    subtle::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/util/test_util.cc:324,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/util/test_util.cc:324,1
    - Dst: EcdsaPrivateKey::set_version
      Src: /src/tink/cc/util/test_util.cc:326,1
    - Dst: EcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/util/test_util.cc:327,1
    - Dst: std::string
      Src: /src/tink/cc/util/test_util.cc:328,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/util/test_util.cc:328,1
    - Dst: EcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:329,1
    - Dst: auto::set_version
      Src: /src/tink/cc/util/test_util.cc:330,1
    - Dst: auto::set_x
      Src: /src/tink/cc/util/test_util.cc:331,1
    - Dst: auto::set_y
      Src: /src/tink/cc/util/test_util.cc:332,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/util/test_util.cc:333,1
    - Dst: auto::set_hash_type
      Src: /src/tink/cc/util/test_util.cc:334,1
    - Dst: auto::set_curve
      Src: /src/tink/cc/util/test_util.cc:335,1
    - Dst: auto::set_encoding
      Src: /src/tink/cc/util/test_util.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - curve_type
    - hash_type
    - encoding
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::HashType
    - google::crypto::tink::EcdsaSignatureEncoding
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: crypto::tink::test::GetEcdsaTestPrivateKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 3
    functionsReached:
    - auto::set_x
    - auto::set_hash_type
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - std::string
    - EcdsaPrivateKey::mutable_public_key
    - auto::set_curve
    - EcdsaPrivateKey::set_key_value
    - auto::mutable_params
    - crypto::tink::util::Enums::ProtoToSubtle
    - auto::set_y
    - EcdsaPrivateKey::set_version
    - auto::set_encoding
    - auto::set_version
    linkageType: ''
    returnType: EcdsaPrivateKey
    signature: "EcdsaPrivateKey GetEcdsaTestPrivateKey(\n    google::crypto::tink::EllipticCurveType
      curve_type,\n    google::crypto::tink::HashType hash_type,\n    google::crypto::tink::EcdsaSignatureEncoding
      encoding)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEd25519Key
      Src: /src/tink/cc/util/test_util.cc:341,1
    - Dst: Ed25519PrivateKey::set_version
      Src: /src/tink/cc/util/test_util.cc:343,1
    - Dst: Ed25519PrivateKey::set_key_value
      Src: /src/tink/cc/util/test_util.cc:344,1
    - Dst: Ed25519PrivateKey::mutable_public_key
      Src: /src/tink/cc/util/test_util.cc:346,1
    - Dst: auto::set_version
      Src: /src/tink/cc/util/test_util.cc:347,1
    - Dst: auto::set_key_value
      Src: /src/tink/cc/util/test_util.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: crypto::tink::test::GetEd25519TestPrivateKey
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - Ed25519PrivateKey::mutable_public_key
    - crypto::tink::internal::NewEd25519Key
    - auto::set_key_value
    - Ed25519PrivateKey::set_version
    - Ed25519PrivateKey::set_key_value
    - auto::set_version
    linkageType: ''
    returnType: Ed25519PrivateKey
    signature: Ed25519PrivateKey GetEd25519TestPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tink/cc/util/test_util.cc:365,1
    - Dst: static_cast<double>
      Src: /src/tink/cc/util/test_util.cc:365,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.cc:366,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.cc:368,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.cc:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 375
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 375
    functionName: crypto::tink::test::ZTestUniformString
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 2
    functionsReached:
    - static_cast<double>
    - crypto::tink::internal::ExtractStatus
    - abs
    - absl::StrCat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status ZTestUniformString(absl::string_view bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:378,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:379,1
    - Dst: static_cast<uint8_t>
      Src: /src/tink/cc/util/test_util.cc:380,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 384
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: crypto::tink::test::Rotate
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - static_cast<uint8_t>
    linkageType: ''
    returnType: std::string
    signature: std::string Rotate(absl::string_view bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:388,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:388,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.cc:389,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:392,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:393,1
    - Dst: crypto::tink::test::ZTestUniformString
      Src: /src/tink/cc/util/test_util.cc:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bytes1
    - bytes2
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 397
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 397
    functionName: crypto::tink::test::ZTestCrosscorrelationUniformStrings
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::test::ZTestUniformString
    - absl::string_view::size
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ZTestCrosscorrelationUniformStrings(absl::string_view
      bytes1,\n                                                 absl::string_view
      bytes2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::size
      Src: /src/tink/cc/util/test_util.cc:402,1
    - Dst: crypto::tink::test::Rotate
      Src: /src/tink/cc/util/test_util.cc:403,1
    - Dst: crypto::tink::test::ZTestCrosscorrelationUniformStrings
      Src: /src/tink/cc/util/test_util.cc:404,1
    - Dst: auto::ok
      Src: /src/tink/cc/util/test_util.cc:405,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/util/test_util.cc:406,1
    - Dst: std::vector::empty
      Src: /src/tink/cc/util/test_util.cc:409,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/util/test_util.cc:410,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/util/test_util.cc:412,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/util/test_util.cc:414,1
    - Dst: std::vector::size
      Src: /src/tink/cc/util/test_util.cc:415,1
    - Dst: absl::StrJoin
      Src: /src/tink/cc/util/test_util.cc:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 417
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 417
    functionName: crypto::tink::test::ZTestAutocorrelationUniformString
    functionSourceFile: /src/tink/cc/util/test_util.cc
    functionUses: 2
    functionsReached:
    - std::vector::empty
    - absl::StrJoin
    - absl::string_view::size
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::vector::size
    - crypto::tink::test::Rotate
    - std::vector::push_back
    - absl::StrCat
    - crypto::tink::util::OkStatus
    - crypto::tink::test::ZTestCrosscorrelationUniformStrings
    linkageType: ''
    returnType: util::Status
    signature: util::Status ZTestAutocorrelationUniformString(absl::string_view bytes)
  - 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: ~Buffer()
    functionSourceFile: /src/tink/cc/util/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:76,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:83,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:84,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:84,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:85,1
    - Dst: util::StatusOr::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:87,1
    - Dst: util::StatusOr::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:87,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:88,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:88,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:89,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:89,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::TotalTagSizeInBytes
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::KeySizeInBytes
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::CryptographicTagSizeInBytes
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacParametersCreateTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:93,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::HmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:104,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::HmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, CreateWithInvalidHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:115,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::HmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, CreateWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:125,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:125,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:132,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:139,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:139,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:146,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:146,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:153,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:153,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:160,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:160,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::HmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, CreateWithInvalidTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:176,1
    - Dst: HmacParameters::GetVariant
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:176,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:176,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:177,1
    - Dst: HmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:177,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:178,1
    - Dst: util::StatusOr::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:179,1
    - Dst: HmacParameters::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:179,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:180,1
    - Dst: util::StatusOr::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:181,1
    - Dst: HmacParameters::GetHashType
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:181,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:181,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:182,1
    - Dst: HmacParameters::HasIdRequirement
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:182,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:182,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HmacParameters::GetHashType
    - util::StatusOr::TotalTagSizeInBytes
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::GetVariant
    - IsOk
    - HmacParameters::CryptographicTagSizeInBytes
    - util::StatusOr::GetHashType
    - HmacParameters::GetVariant
    - ASSERT_THAT
    - EXPECT_THAT
    - HmacParameters::HasIdRequirement
    - HmacParameters::TotalTagSizeInBytes
    - util::StatusOr::CryptographicTagSizeInBytes
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:193,1
    - Dst: HmacParameters::GetVariant
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:193,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:193,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:194,1
    - Dst: HmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:194,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:195,1
    - Dst: util::StatusOr::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:195,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:196,1
    - Dst: HmacParameters::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:196,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:197,1
    - Dst: util::StatusOr::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:198,1
    - Dst: HmacParameters::GetHashType
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:198,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:198,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:199,1
    - Dst: HmacParameters::HasIdRequirement
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:199,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:199,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HmacParameters::GetHashType
    - util::StatusOr::TotalTagSizeInBytes
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::GetVariant
    - IsOk
    - HmacParameters::CryptographicTagSizeInBytes
    - util::StatusOr::GetHashType
    - HmacParameters::GetVariant
    - ASSERT_THAT
    - EXPECT_THAT
    - HmacParameters::HasIdRequirement
    - HmacParameters::TotalTagSizeInBytes
    - util::StatusOr::CryptographicTagSizeInBytes
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:223,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:223,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:227,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:231,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:233,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:234,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:235,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacParametersVariantTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:244,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:250,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:252,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, KeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:261,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:267,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:269,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 271
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, HashTypeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:278,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:284,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:286,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 288
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, TagSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:295,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:301,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:303,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_parameters_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_parameters.cc:43,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_parameters.cc:45,1
    - Dst: std::map::find
      Src: /src/tink/cc/mac/hmac_parameters.cc:54,1
    - Dst: std::map::end
      Src: /src/tink/cc/mac/hmac_parameters.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_parameters.cc:55,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_parameters.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_parameters.cc:61,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_parameters.cc:63,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/hmac_parameters.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cryptographic_tag_size_in_bytes
    - hash_type
    argTypes:
    - int
    - HmacParameters::HashType
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: crypto::tink::ValidateTagSizeBytes
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.cc
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateTagSizeBytes(int cryptographic_tag_size_in_bytes,\n
      \                                 HmacParameters::HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_parameters.cc:75,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_parameters.cc:76,1
    - Dst: ValidateTagSizeBytes
      Src: /src/tink/cc/mac/hmac_parameters.cc:80,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/hmac_parameters.cc:81,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/mac/hmac_parameters.cc:83,1
    - Dst: std::set*::find
      Src: /src/tink/cc/mac/hmac_parameters.cc:85,1
    - Dst: std::set*::end
      Src: /src/tink/cc/mac/hmac_parameters.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_parameters.cc:86,1
    - Dst: crypto::tink::HmacParameters::HmacParameters
      Src: /src/tink/cc/mac/hmac_parameters.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - key_size_in_bytes
    - cryptographic_tag_size_in_bytes
    - hash_type
    - variant
    argTypes:
    - int
    - int
    - HashType
    - Variant
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: crypto::tink::HmacParameters::Create
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.cc
    functionUses: 12
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::HmacParameters::HmacParameters
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - absl::StrCat
    - ValidateTagSizeBytes
    linkageType: ''
    returnType: util::StatusOr<HmacParameters>
    signature: "util::StatusOr<HmacParameters> HmacParameters::Create(\n    int key_size_in_bytes,
      int cryptographic_tag_size_in_bytes,\n    HashType hash_type, Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters.cc:98,1
    - Dst: crypto::tink::HmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_parameters.cc:100,1
    - Dst: crypto::tink::internal::LogFatal
      Src: /src/tink/cc/mac/hmac_parameters.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: crypto::tink::HmacParameters::TotalTagSizeInBytes
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HmacParameters::CryptographicTagSizeInBytes
    - crypto::tink::internal::LogFatal
    linkageType: ''
    returnType: int
    signature: int HmacParameters::TotalTagSizeInBytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const HmacParameters*>
      Src: /src/tink/cc/mac/hmac_parameters.cc:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: HmacParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const HmacParameters*>
    linkageType: ''
    returnType: bool
    signature: bool HmacParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacParameters
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: crypto::tink::HmacParameters::HmacParameters
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HmacParameters(const HmacParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacParameters
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: '& operator=(const HmacParameters& other)'
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HmacParameters
    signature: HmacParameters & operator=(const HmacParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacParameters
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: crypto::tink::HmacParameters::HmacParameters
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HmacParameters(HmacParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacParameters
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: '& operator=(HmacParameters&& other)'
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HmacParameters
    signature: HmacParameters & operator=(HmacParameters&& other)
  - 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: crypto::tink::HmacParameters::GetVariant
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::HmacParameters::GetHashType
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetHashType() 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: crypto::tink::HmacParameters::KeySizeInBytes
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KeySizeInBytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: crypto::tink::HmacParameters::CryptographicTagSizeInBytes
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CryptographicTagSizeInBytes() const
  - 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: crypto::tink::HmacParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - key_size_in_bytes
    - cryptographic_tag_size_in_bytes
    - hash_type
    - variant
    argTypes:
    - int
    - int
    - HashType
    - Variant
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: crypto::tink::HmacParameters::HmacParameters
    functionSourceFile: /src/tink/cc/mac/hmac_parameters.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HmacParameters(int key_size_in_bytes, int cryptographic_tag_size_in_bytes,\n
      \                HashType hash_type, Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:61,1
    - Dst: crypto::tink::HmacKeyManager::get_version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:61,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager.cc:62,1
    - Dst: params
      Src: /src/tink/cc/mac/hmac_key_manager.cc:62,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager.cc:63,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_key_manager.cc:64,1
    - Dst: key_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' hmac_key_format'
    argTypes:
    - HmacKeyFormat
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: crypto::tink::HmacKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - crypto::tink::HmacKeyManager::get_version
    - params
    - HmacKey::set_version
    - HmacKey::set_key_value
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: StatusOr<HmacKey>
    signature: "StatusOr<HmacKey> HmacKeyManager::CreateKey(\n    const HmacKeyFormat&
      hmac_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/mac/hmac_key_manager.cc:71,1
    - Dst: version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:71,1
    - Dst: crypto::tink::HmacKeyManager::get_version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:71,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/mac/hmac_key_manager.cc:72,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/mac/hmac_key_manager.cc:75,1
    - Dst: key_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:75,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/mac/hmac_key_manager.cc:76,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/mac/hmac_key_manager.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key_manager.cc:78,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/mac/hmac_key_manager.cc:82,1
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:86,1
    - Dst: crypto::tink::HmacKeyManager::get_version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:86,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager.cc:87,1
    - Dst: params
      Src: /src/tink/cc/mac/hmac_key_manager.cc:87,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager.cc:88,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/mac/hmac_key_manager.cc:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' hmac_key_format'
    - input_stream
    argTypes:
    - HmacKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 90
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 90
    functionName: crypto::tink::HmacKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - crypto::tink::HmacKeyManager::get_version
    - params
    - crypto::tink::util::StatusOr<std::string>::status
    - version
    - HmacKey::set_version
    - crypto::tink::util::StatusOr<std::string>::value
    - HmacKey::set_key_value
    - crypto::tink::util::Status::ok
    - key_size
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: StatusOr<HmacKey>
    signature: "StatusOr<HmacKey> HmacKeyManager::DeriveKey(\n    const HmacKeyFormat&
      hmac_key_format, InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:93,1
    - Dst: ToStatusF
      Src: /src/tink/cc/mac/hmac_key_manager.cc:94,1
    - Dst: tag_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:96,1
    - Dst: std::map::find
      Src: /src/tink/cc/mac/hmac_key_manager.cc:103,1
    - Dst: hash
      Src: /src/tink/cc/mac/hmac_key_manager.cc:103,1
    - Dst: std::map::end
      Src: /src/tink/cc/mac/hmac_key_manager.cc:103,1
    - Dst: ToStatusF
      Src: /src/tink/cc/mac/hmac_key_manager.cc:104,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/mac/hmac_key_manager.cc:106,1
    - Dst: hash
      Src: /src/tink/cc/mac/hmac_key_manager.cc:106,1
    - Dst: tag_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:108,1
    - Dst: hash
      Src: /src/tink/cc/mac/hmac_key_manager.cc:108,1
    - Dst: ToStatusF
      Src: /src/tink/cc/mac/hmac_key_manager.cc:109,1
    - Dst: tag_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:112,1
    - Dst: crypto::tink::util::Enums::HashName
      Src: /src/tink/cc/mac/hmac_key_manager.cc:112,1
    - Dst: hash
      Src: /src/tink/cc/mac/hmac_key_manager.cc:112,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/hmac_key_manager.cc:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - HmacParams
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: crypto::tink::HmacKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - std::map::end
    - std::map::find
    - tag_size
    - ToStatusF
    - crypto::tink::util::Enums::HashName
    - crypto::tink::util::OkStatus
    - hash
    linkageType: ''
    returnType: Status
    signature: Status HmacKeyManager::ValidateParams(const HmacParams& params) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/mac/hmac_key_manager.cc:119,1
    - Dst: version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:119,1
    - Dst: crypto::tink::HmacKeyManager::get_version
      Src: /src/tink/cc/mac/hmac_key_manager.cc:119,1
    - Dst: Status::ok
      Src: /src/tink/cc/mac/hmac_key_manager.cc:120,1
    - Dst: key_value
      Src: /src/tink/cc/mac/hmac_key_manager.cc:121,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key_manager.cc:122,1
    - Dst: crypto::tink::HmacKeyManager::ValidateParams
      Src: /src/tink/cc/mac/hmac_key_manager.cc:125,1
    - Dst: params
      Src: /src/tink/cc/mac/hmac_key_manager.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - HmacKey
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: crypto::tink::HmacKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - crypto::tink::HmacKeyManager::ValidateParams
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - key_value
    - crypto::tink::HmacKeyManager::get_version
    - params
    - version
    linkageType: ''
    returnType: Status
    signature: Status HmacKeyManager::ValidateKey(const HmacKey& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/mac/hmac_key_manager.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key_manager.cc:132,1
    - Dst: crypto::tink::HmacKeyManager::ValidateParams
      Src: /src/tink/cc/mac/hmac_key_manager.cc:135,1
    - Dst: params
      Src: /src/tink/cc/mac/hmac_key_manager.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - HmacKeyFormat
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: crypto::tink::HmacKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - params
    - crypto::tink::internal::ExtractStatus
    - key_size
    - crypto::tink::HmacKeyManager::ValidateParams
    linkageType: ''
    returnType: Status
    signature: "Status HmacKeyManager::ValidateKeyFormat(\n    const HmacKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/mac/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/mac/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddMacKeyGenV0
      Src: /src/tink/cc/mac/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigMacV0
    functionSourceFile: /src/tink/cc/mac/key_gen_config_v0.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddMacKeyGenV0
    - CHECK_OK
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigMacV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:36,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/mac/mac_key_templates.cc:37,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_key_templates.cc:38,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/mac_key_templates.cc:40,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/mac_key_templates.cc:41,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/mac_key_templates.cc:42,1
    - Dst: HmacKeyFormat::SerializeToString
      Src: /src/tink/cc/mac/mac_key_templates.cc:43,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/mac/mac_key_templates.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - key_size_in_bytes
    - tag_size_in_bytes
    - hash_type
    argTypes:
    - int
    - int
    - HashType
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: crypto::tink::NewHmacKeyTemplate
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - HmacKeyFormat::SerializeToString
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - HmacKeyFormat::mutable_params
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewHmacKeyTemplate(int key_size_in_bytes, int tag_size_in_bytes,\n
      \                               HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:49,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/mac/mac_key_templates.cc:50,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_key_templates.cc:52,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/mac_key_templates.cc:54,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/mac_key_templates.cc:55,1
    - Dst: AesCmacKeyFormat::SerializeToString
      Src: /src/tink/cc/mac/mac_key_templates.cc:56,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/mac/mac_key_templates.cc:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key_size_in_bytes
    - tag_size_in_bytes
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: crypto::tink::NewAesCmacKeyTemplate
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - AesCmacKeyFormat::SerializeToString
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - AesCmacKeyFormat::mutable_params
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - AesCmacKeyFormat::set_key_size
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewAesCmacKeyTemplate(int key_size_in_bytes,\n                                   int
      tag_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHmacKeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: '& MacKeyTemplates::HmacSha256HalfSizeTag()'
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & MacKeyTemplates::HmacSha256HalfSizeTag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHmacKeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: '& MacKeyTemplates::HmacSha256()'
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & MacKeyTemplates::HmacSha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHmacKeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:81,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: '& MacKeyTemplates::HmacSha512HalfSizeTag()'
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & MacKeyTemplates::HmacSha512HalfSizeTag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewHmacKeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: '& MacKeyTemplates::HmacSha512()'
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & MacKeyTemplates::HmacSha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCmacKeyTemplate
      Src: /src/tink/cc/mac/mac_key_templates.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: '& MacKeyTemplates::AesCmac()'
    functionSourceFile: /src/tink/cc/mac/mac_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & MacKeyTemplates::AesCmac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/mac/mac_config_test.cc:79,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: crypto::tink::MacConfigTest::SetUp
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:85,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:89,1
    - Dst: Registry::get_key_manager<Mac>
      Src: /src/tink/cc/mac/mac_config_test.cc:90,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:92,1
    - Dst: Registry::get_key_manager<ChunkedMac>
      Src: /src/tink/cc/mac/mac_config_test.cc:93,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:96,1
    - Dst: Registry::get_key_manager<Mac>
      Src: /src/tink/cc/mac/mac_config_test.cc:96,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:96,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:99,1
    - Dst: Registry::get_key_manager<ChunkedMac>
      Src: /src/tink/cc/mac/mac_config_test.cc:100,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:100,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:104,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:106,1
    - Dst: Registry::get_key_manager<Mac>
      Src: /src/tink/cc/mac/mac_config_test.cc:107,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:109,1
    - Dst: Registry::get_key_manager<ChunkedMac>
      Src: /src/tink/cc/mac/mac_config_test.cc:110,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:113,1
    - Dst: Registry::get_key_manager<Mac>
      Src: /src/tink/cc/mac/mac_config_test.cc:113,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:116,1
    - Dst: Registry::get_key_manager<ChunkedMac>
      Src: /src/tink/cc/mac/mac_config_test.cc:117,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/mac_config_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 120
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::MacConfig::Register
    - Registry::get_key_manager<Mac>
    - IsOk
    - Registry::get_key_manager<ChunkedMac>
    - AesCmacKeyManager
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:125,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:126,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_config_test.cc:129,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:129,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/mac/mac_config_test.cc:132,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/mac/mac_config_test.cc:133,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_config_test.cc:134,1
    - Dst: absl::make_unique<PrimitiveSet<Mac>>
      Src: /src/tink/cc/mac/mac_config_test.cc:135,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_config_test.cc:136,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/mac/mac_config_test.cc:137,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_config_test.cc:139,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_config_test.cc:140,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/mac/mac_config_test.cc:144,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_config_test.cc:144,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_config_test.cc:146,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config_test.cc:146,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_config_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_config_test.cc:147,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_config_test.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_config_test.cc:150,1
    - Dst: DummyMac
      Src: /src/tink/cc/mac/mac_config_test.cc:151,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_config_test.cc:151,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_config_test.cc:152,1
    - Dst: DummyMac
      Src: /src/tink/cc/mac/mac_config_test.cc:153,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_config_test.cc:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - DummyMac
    - crypto::tink::internal::IsFipsModeEnabled
    - ASSERT_TRUE
    - EXPECT_FALSE
    - absl::make_unique<PrimitiveSet<Mac>>
    - auto::status
    - auto::AddPrimitive
    - GTEST_SKIP
    - KeysetInfo::KeyInfo::set_status
    - crypto::tink::MacConfig::Register
    - KeysetInfo::KeyInfo::set_key_id
    - auto::set_primary
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - absl::make_unique<DummyMac>
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, MacWrappersRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:157,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:158,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:163,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_config_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:165,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:170,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:170,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:170,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:175,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:180,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:180,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:183,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:183,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:188,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::MacConfig::Register
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - ASSERT_THAT
    - MacKeyTemplates::AesCmac
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, AesCmacProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:197,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:198,1
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/mac/mac_config_test.cc:202,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/mac_config_test.cc:203,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/mac_config_test.cc:203,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/mac_config_test.cc:204,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:207,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/mac_config_test.cc:209,1
    - Dst: google::crypto::tink::AesCmacKey::SerializeAsString
      Src: /src/tink/cc/mac/mac_config_test.cc:209,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:212,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:215,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:217,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:217,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:217,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:222,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:225,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/mac_config_test.cc:226,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/mac_config_test.cc:226,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:227,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/mac_config_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:229,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:232,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:235,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:235,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:237,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:237,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:240,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:242,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:245,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:247,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 249
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsOk
    - google::crypto::tink::AesCmacKey::set_version
    - crypto::tink::AesCmacParameters::Create
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesCmacKey::mutable_params
    - crypto::tink::MacConfig::Register
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesCmacKey::Create
    - RestrictedData
    - google::crypto::tink::AesCmacKey::SerializeAsString
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::AesCmacKey::set_key_value
    - util::StatusOr::status
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, AesCmacProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:252,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:253,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:258,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/mac_config_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:260,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:265,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:265,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:265,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:270,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:276,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:276,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:280,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:280,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:285,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 292
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - MacKeyTemplates::HmacSha256
    - util::StatusOr::status
    - crypto::tink::HmacParameters::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::MacConfig::Register
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, HmacProtoParamsSerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:295,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:296,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/mac_config_test.cc:300,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/mac_config_test.cc:301,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/mac_config_test.cc:301,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/mac_config_test.cc:302,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/mac_config_test.cc:303,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:306,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/mac_config_test.cc:308,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/mac_config_test.cc:308,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:311,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:314,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:316,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:316,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:316,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:321,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/mac_config_test.cc:324,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/mac_config_test.cc:325,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/mac_config_test.cc:325,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:326,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/mac_config_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:328,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:331,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:333,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:334,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_config_test.cc:334,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:337,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:337,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:340,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:342,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/mac_config_test.cc:345,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/mac_config_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:348,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 349
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - IsOk
    - crypto::tink::HmacKey::Create
    - GTEST_SKIP
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    - crypto::tink::MacConfig::Register
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - StatusIs
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::HmacKey::SerializeAsString
    - util::StatusOr::status
    - crypto::tink::HmacParameters::Create
    - google::crypto::tink::HmacKey::set_key_value
    - google::crypto::tink::HmacKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, HmacProtoKeySerializationRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/mac/mac_config_test.cc:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 353
    functionName: crypto::tink::ChunkedMacConfigTest::SetUp
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:363,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:367,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:367,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/mac_config_test.cc:369,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/mac_config_test.cc:371,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/mac_config_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:372,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:372,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/mac/mac_config_test.cc:375,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/mac/mac_config_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:376,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/mac_config_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:380,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:381,1
    - Dst: Update
      Src: /src/tink/cc/mac/mac_config_test.cc:381,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:381,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/mac_config_test.cc:382,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:383,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:383,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/mac_config_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:387,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:388,1
    - Dst: Update
      Src: /src/tink/cc/mac/mac_config_test.cc:388,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:388,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:390,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/mac_config_test.cc:390,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 391
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::MacConfig::Register
    - IsOk
    - ComputeMac
    - crypto::tink::KeyGenConfigGlobalRegistry
    - CreateVerification
    - ASSERT_THAT
    - crypto::tink::internal::IsFipsModeEnabled
    - Update
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::GetPrimitive
    - GetParam
    - crypto::tink::ConfigGlobalRegistry
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChunkedMacConfigTest, ChunkedMacWrappersRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:395,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/mac/mac_config_test.cc:395,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:396,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:399,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:399,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/mac/mac_config_test.cc:402,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_config_test.cc:402,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:405,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/mac_config_test.cc:406,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/mac_config_test.cc:406,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_config_test.cc:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 410
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::MacConfig::Register
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - MacKeyTemplates::AesCmac
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config_test.cc:413,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/mac/mac_config_test.cc:413,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/mac/mac_config_test.cc:414,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:417,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_config_test.cc:417,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:417,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/mac/mac_config_test.cc:420,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/mac_config_test.cc:420,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/mac/mac_config_test.cc:421,1
    - Dst: MacKeyTemplates::HmacSha256HalfSizeTag
      Src: /src/tink/cc/mac/mac_config_test.cc:421,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/mac/mac_config_test.cc:422,1
    - Dst: MacKeyTemplates::HmacSha512
      Src: /src/tink/cc/mac/mac_config_test.cc:422,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/mac/mac_config_test.cc:423,1
    - Dst: MacKeyTemplates::HmacSha512HalfSizeTag
      Src: /src/tink/cc/mac/mac_config_test.cc:423,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_config_test.cc:426,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/mac_config_test.cc:427,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/mac_config_test.cc:427,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_config_test.cc:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 430
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - MacKeyTemplates::HmacSha256
    - MacKeyTemplates::HmacSha256HalfSizeTag
    - crypto::tink::MacConfig::Register
    - IsOk
    - MacKeyTemplates::HmacSha512HalfSizeTag
    - MacKeyTemplates::HmacSha512
    - crypto::tink::KeyGenConfigGlobalRegistry
    - std::list::push_back
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacConfigTest, RegisterFipsValidTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::HmacKey::HmacKey
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HmacKey(const HmacKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const HmacKey& other)'
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HmacKey
    signature: HmacKey & operator=(const HmacKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::HmacKey::HmacKey
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HmacKey(HmacKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - HmacKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(HmacKey&& other)'
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HmacKey
    signature: HmacKey & operator=(HmacKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::HmacKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HmacParameters
    signature: HmacParameters & GetParameters() const override
  - 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: crypto::tink::HmacKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/hmac_key.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - HmacParameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: crypto::tink::HmacKey::HmacKey
    functionSourceFile: /src/tink/cc/mac/hmac_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HmacKey(const HmacParameters& parameters, const RestrictedData&
      key_bytes,\n          absl::optional<int> id_requirement, std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:70,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:70,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:74,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:76,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:77,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:79,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:81,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:82,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:83,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:83,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:92,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:97,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:97,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:98,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:108,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:114,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:118,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:118,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:119,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:122,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:122,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:124,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyTest, CreateKeyWithWrongIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:133,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:133,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:137,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:139,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:141,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:143,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:145,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:145,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:145,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - util::StatusOr::GetKeyBytes
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacKeyTest, GetAesCmacKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:152,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:152,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:156,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:158,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:159,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:161,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:163,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:168,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:169,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:178,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:184,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:186,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:189,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:191,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:191,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:194,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:196,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:200,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 202
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyTest, DifferentFormatNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:209,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:211,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:212,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:214,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:216,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:218,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:220,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:220,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:222,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:233,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:235,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:237,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:239,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:239,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:241,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:243,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:243,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:246,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:247,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_key_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/failing_mac.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::AlwaysFailMac::AlwaysFailMac
    functionSourceFile: /src/tink/cc/mac/failing_mac.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void AlwaysFailMac(std::string message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/failing_mac.cc:41,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/failing_mac.cc:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: crypto::tink::AlwaysFailMac::ComputeMac
    functionSourceFile: /src/tink/cc/mac/failing_mac.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeMac(\n      absl::string_view /*data*/)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/failing_mac.cc:49,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/failing_mac.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: crypto::tink::AlwaysFailMac::VerifyMac
    functionSourceFile: /src/tink/cc/mac/failing_mac.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - absl::StrCat
    linkageType: ''
    returnType: util::Status
    signature: "util::Status VerifyMac(absl::string_view /*mac_value*/,\n                         absl::string_view
      /*data*/) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AlwaysFailMac>
      Src: /src/tink/cc/mac/failing_mac.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/mac/failing_mac.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - std::string
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: crypto::tink::CreateAlwaysFailingMac
    functionSourceFile: /src/tink/cc/mac/failing_mac.cc
    functionUses: 0
    functionsReached:
    - std::move
    - absl::make_unique<AlwaysFailMac>
    linkageType: ''
    returnType: std::unique_ptr<Mac>
    signature: std::unique_ptr<Mac> CreateAlwaysFailingMac(std::string message)
  - 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: crypto::tink::MacConfig::MacConfig
    functionSourceFile: /src/tink/cc/mac/mac_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MacConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:67,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:73,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:74,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:75,1
    - Dst: util::StatusOr::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:77,1
    - Dst: util::StatusOr::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:78,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::TotalTagSizeInBytes
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::CryptographicTagSizeInBytes
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacParametersCreateTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:82,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:82,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacParameters::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:92,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:92,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:97,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:97,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:102,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:107,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacParameters::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, CreateWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:116,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:116,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:121,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:121,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:126,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:132,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:132,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:137,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:137,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:142,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:142,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacParameters::Create
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, CreateWithInvalidTagSizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:157,1
    - Dst: AesCmacParameters::GetVariant
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:157,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:158,1
    - Dst: AesCmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:158,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:159,1
    - Dst: util::StatusOr::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:160,1
    - Dst: AesCmacParameters::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:161,1
    - Dst: util::StatusOr::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:162,1
    - Dst: AesCmacParameters::HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:162,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:162,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::TotalTagSizeInBytes
    - AesCmacParameters::CryptographicTagSizeInBytes
    - AesCmacParameters::HasIdRequirement
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - AesCmacParameters::GetVariant
    - ASSERT_THAT
    - AesCmacParameters::TotalTagSizeInBytes
    - EXPECT_THAT
    - util::StatusOr::CryptographicTagSizeInBytes
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:173,1
    - Dst: AesCmacParameters::GetVariant
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:173,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:173,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:174,1
    - Dst: AesCmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:175,1
    - Dst: util::StatusOr::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:176,1
    - Dst: AesCmacParameters::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:176,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:177,1
    - Dst: util::StatusOr::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:178,1
    - Dst: AesCmacParameters::HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:178,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:178,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::TotalTagSizeInBytes
    - AesCmacParameters::CryptographicTagSizeInBytes
    - AesCmacParameters::HasIdRequirement
    - util::StatusOr::GetVariant
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - AesCmacParameters::GetVariant
    - ASSERT_THAT
    - AesCmacParameters::TotalTagSizeInBytes
    - EXPECT_THAT
    - util::StatusOr::CryptographicTagSizeInBytes
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:196,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:196,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:200,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:208,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacParametersVariantTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:217,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:223,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:225,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, KeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:234,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, TagSizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:251,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:257,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:259,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/aes_cmac_parameters_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::AesCmacParameters::Create
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacParametersTest, VariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/mac/hmac_key.cc:44,1
    - Dst: size
      Src: /src/tink/cc/mac/hmac_key.cc:44,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key.cc:45,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/mac/hmac_key.cc:48,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/hmac_key.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key.cc:49,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/mac/hmac_key.cc:54,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/hmac_key.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key.cc:55,1
    - Dst: crypto::tink::HmacKey::ComputeOutputPrefix
      Src: /src/tink/cc/mac/hmac_key.cc:61,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_key.cc:62,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key.cc:63,1
    - Dst: crypto::tink::HmacKey::HmacKey
      Src: /src/tink/cc/mac/hmac_key.cc:65,1
    - Dst: std::move
      Src: /src/tink/cc/mac/hmac_key.cc:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - HmacParameters
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 67
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 67
    functionName: crypto::tink::HmacKey::Create
    functionSourceFile: /src/tink/cc/mac/hmac_key.cc
    functionUses: 1
    functionsReached:
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::HmacKey::ComputeOutputPrefix
    - crypto::tink::HmacKey::HmacKey
    - util::StatusOr::ok
    - KeySizeInBytes
    - absl::optional<int>::has_value
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<HmacKey>
    signature: "util::StatusOr<HmacKey> HmacKey::Create(const HmacParameters& parameters,\n
      \                                       const RestrictedData& key_bytes,\n                                        absl::optional<int>
      id_requirement,\n                                        PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/mac/hmac_key.cc:71,1
    - Dst: std::string
      Src: /src/tink/cc/mac/hmac_key.cc:73,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/hmac_key.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key.cc:78,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_key.cc:82,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/mac/hmac_key.cc:82,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/mac/hmac_key.cc:83,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/hmac_key.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key.cc:86,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_key.cc:89,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/mac/hmac_key.cc:89,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/mac/hmac_key.cc:90,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_key.cc:92,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/hmac_key.cc:94,1
    - Dst: GetVariant
      Src: /src/tink/cc/mac/hmac_key.cc:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - HmacParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: crypto::tink::HmacKey::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/mac/hmac_key.cc
    functionUses: 1
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> HmacKey::ComputeOutputPrefix(\n    const
      HmacParameters& parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const HmacKey*>
      Src: /src/tink/cc/mac/hmac_key.cc:99,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/hmac_key.cc:103,1
    - Dst: HmacKey*::GetParameters
      Src: /src/tink/cc/mac/hmac_key.cc:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: HmacKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/mac/hmac_key.cc
    functionUses: 0
    functionsReached:
    - HmacKey*::GetParameters
    - GetParameters
    - dynamic_cast<const HmacKey*>
    linkageType: ''
    returnType: bool
    signature: bool HmacKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacKey
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: crypto::tink::AesCmacKey::AesCmacKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCmacKey(const AesCmacKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: '& operator=(const AesCmacKey& other)'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCmacKey
    signature: AesCmacKey & operator=(const AesCmacKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: crypto::tink::AesCmacKey::AesCmacKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCmacKey(AesCmacKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: '& operator=(AesCmacKey&& other)'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCmacKey
    signature: AesCmacKey & operator=(AesCmacKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::AesCmacKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() const override
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCmacParameters
    signature: AesCmacParameters & GetParameters() const override
  - 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: crypto::tink::AesCmacKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/aes_cmac_key.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - output_prefix
    argTypes:
    - AesCmacParameters
    - RestrictedData
    - absl::optional<int>
    - std::string
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: crypto::tink::AesCmacKey::AesCmacKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void AesCmacKey(const AesCmacParameters& parameters,\n             const
      RestrictedData& key_bytes,\n             absl::optional<int> id_requirement,
      std::string output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 25
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<AesCmacParameters::Variant>
    signature: "util::StatusOr<AesCmacParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - AesCmacParameters::Variant
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 32
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    AesCmacParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:100,1
    - Dst: AesCmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:105,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:107,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:112,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:113,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:113,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:115,1
    - Dst: AesCmacKeyFormat::key_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:115,1
    - Dst: AesCmacKeyFormat::params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - AesCmacKeyFormat::key_size
    - crypto::tink::AesCmacParameters::Create
    - util::StatusOr::ok
    - GetKeyTemplate
    - AesCmacKeyFormat::ParseFromString
    - crypto::tink::ToVariant
    - AesCmacKeyFormat::params
    linkageType: ''
    returnType: util::StatusOr<AesCmacParameters>
    signature: "util::StatusOr<AesCmacParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:123,1
    - Dst: GetVariant
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:123,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:124,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:124,1
    - Dst: AesCmacParams::set_tag_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:127,1
    - Dst: CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:127,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:129,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:129,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:130,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:132,1
    - Dst: AesCmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - AesCmacParameters
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - CryptographicTagSizeInBytes
    - AesCmacKeyFormat::SerializeAsString
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - AesCmacParams::set_tag_size
    - GetVariant
    - util::StatusOr::ok
    - AesCmacKeyFormat::mutable_params
    - KeySizeInBytes
    - AesCmacKeyFormat::set_key_size
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const AesCmacParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:139,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:140,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:143,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:144,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:148,1
    - Dst: google::crypto::tink::AesCmacKey::ParseFromString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:149,1
    - Dst: GetSecret
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:149,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:150,1
    - Dst: google::crypto::tink::AesCmacKey::version
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:153,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:154,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:159,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:159,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:160,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:160,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:162,1
    - Dst: google::crypto::tink::AesCmacKey::key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:163,1
    - Dst: google::crypto::tink::AesCmacKey::params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:163,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:164,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:164,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:166,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:167,1
    - Dst: google::crypto::tink::AesCmacKey::key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:167,1
    - Dst: IdRequirement
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:168,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:168,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:169,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 172
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 172
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCmacKey::key_value
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::AesCmacKey::version
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::AesCmacKey::Create
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - google::crypto::tink::AesCmacKey::ParseFromString
    - GetOutputPrefixType
    - crypto::tink::ToVariant
    - SerializedKeyProto
    - google::crypto::tink::AesCmacKey::params
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<AesCmacKey>
    signature: "util::StatusOr<AesCmacKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:177,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:177,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:178,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:178,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:179,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:180,1
    - Dst: AesCmacParams::set_tag_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:185,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:185,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:187,1
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:188,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:189,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:189,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:192,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:192,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:193,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:193,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:196,1
    - Dst: google::crypto::tink::AesCmacKey::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:196,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:197,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - AesCmacKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetSecret
    - google::crypto::tink::AesCmacKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::AesCmacKey::set_key_value
    - GetParameters
    - util::StatusOr::status
    - GetKeyBytes
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::AesCmacKey::set_version
    - RestrictedData
    - google::crypto::tink::AesCmacKey::SerializeAsString
    - AesCmacParams::set_tag_size
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - GetIdRequirement
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      AesCmacKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacProtoParametersParserImpl::AesCmacProtoParametersParserImpl
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:204,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: crypto::tink::AesCmacProtoParametersParser
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCmacProtoParametersParserImpl::AesCmacProtoParametersParserImpl
    linkageType: ''
    returnType: AesCmacProtoParametersParserImpl
    signature: AesCmacProtoParametersParserImpl * AesCmacProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacProtoParametersSerializerImpl::AesCmacProtoParametersSerializerImpl
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: crypto::tink::AesCmacProtoParametersSerializer
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCmacProtoParametersSerializerImpl::AesCmacProtoParametersSerializerImpl
    linkageType: ''
    returnType: AesCmacProtoParametersSerializerImpl
    signature: AesCmacProtoParametersSerializerImpl * AesCmacProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacProtoKeyParserImpl::AesCmacProtoKeyParserImpl
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: crypto::tink::AesCmacProtoKeyParser
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCmacProtoKeyParserImpl::AesCmacProtoKeyParserImpl
    linkageType: ''
    returnType: AesCmacProtoKeyParserImpl
    signature: AesCmacProtoKeyParserImpl * AesCmacProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacProtoKeySerializerImpl::AesCmacProtoKeySerializerImpl
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: crypto::tink::AesCmacProtoKeySerializer
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - AesCmacProtoKeySerializerImpl::AesCmacProtoKeySerializerImpl
    linkageType: ''
    returnType: AesCmacProtoKeySerializerImpl
    signature: AesCmacProtoKeySerializerImpl * AesCmacProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:228,1
    - Dst: crypto::tink::AesCmacProtoParametersParser
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:229,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:230,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:233,1
    - Dst: crypto::tink::AesCmacProtoParametersSerializer
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:234,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:235,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:237,1
    - Dst: crypto::tink::AesCmacProtoKeyParser
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:238,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:239,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:241,1
    - Dst: crypto::tink::AesCmacProtoKeySerializer
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization.cc:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: crypto::tink::RegisterAesCmacProtoSerialization
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacProtoParametersParser
    - util::Status::ok
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesCmacProtoKeyParser
    - crypto::tink::AesCmacProtoParametersSerializer
    - crypto::tink::AesCmacProtoKeySerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterAesCmacProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::MacFactory::GetPrimitive
      Src: /src/tink/cc/mac/mac_factory_test.cc:56,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/mac/mac_factory_test.cc:56,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_factory_test.cc:57,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_factory_test.cc:58,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_factory_test.cc:58,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_factory_test.cc:59,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_factory_test.cc:60,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_factory_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_factory_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::MacFactory::GetPrimitive
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacFactoryTest, testBasic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MakeKeyManager<Mac>
      Src: /src/tink/cc/mac/mac_factory_test.cc:66,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/mac/mac_factory_test.cc:67,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/mac/mac_factory_test.cc:68,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/mac_factory_test.cc:71,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/mac_factory_test.cc:72,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/mac_factory_test.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_factory_test.cc:78,1
    - Dst: NewKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:78,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:79,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_factory_test.cc:83,1
    - Dst: NewKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:83,1
    - Dst: AddRawKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:84,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_factory_test.cc:88,1
    - Dst: NewKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:88,1
    - Dst: AddTinkKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:89,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/mac/mac_factory_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_factory_test.cc:95,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/mac_factory_test.cc:95,1
    - Dst: crypto::tink::MacFactory::GetPrimitive
      Src: /src/tink/cc/mac/mac_factory_test.cc:99,1
    - Dst: crypto::tink::TestKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/mac/mac_factory_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_factory_test.cc:100,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:100,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_factory_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_factory_test.cc:101,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_factory_test.cc:101,1
    - Dst: auto::ComputeMac
      Src: /src/tink/cc/mac/mac_factory_test.cc:106,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_factory_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:107,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_factory_test.cc:107,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_factory_test.cc:108,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/mac/mac_factory_test.cc:110,1
    - Dst: crypto::tink::KeyInfoFromKey
      Src: /src/tink/cc/mac/mac_factory_test.cc:110,1
    - Dst: Keyset::key
      Src: /src/tink/cc/mac/mac_factory_test.cc:110,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_factory_test.cc:111,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/mac/mac_factory_test.cc:113,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_factory_test.cc:114,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:114,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/mac/mac_factory_test.cc:116,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_factory_test.cc:117,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_factory_test.cc:118,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/mac_factory_test.cc:118,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_factory_test.cc:119,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_factory_test.cc:120,1
    - Dst: util::Status::message
      Src: /src/tink/cc/mac/mac_factory_test.cc:120,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/mac/mac_factory_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_factory_test.cc:123,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_factory_test.cc:124,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/mac_factory_test.cc:124,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_factory_test.cc:125,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_factory_test.cc:126,1
    - Dst: util::Status::message
      Src: /src/tink/cc/mac/mac_factory_test.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_factory_test.cc:130,1
    - Dst: auto::GetPrimitive
      Src: /src/tink/cc/mac/mac_factory_test.cc:130,1
    - Dst: Keyset::key
      Src: /src/tink/cc/mac/mac_factory_test.cc:130,1
    - Dst: auto::ComputeMac
      Src: /src/tink/cc/mac/mac_factory_test.cc:131,1
    - Dst: auto::VerifyMac
      Src: /src/tink/cc/mac/mac_factory_test.cc:132,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_factory_test.cc:133,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_factory_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_factory_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::MacFactory::GetPrimitive
    - auto::ok
    - AddRawKey
    - auto::get_key_type
    - std::move
    - util::Status::message
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::GetPrimitive
    - NewKey
    - auto::status
    - util::Status::ok
    - std::string
    - Keyset::set_primary_key_id
    - internal::MakeKeyManager<Mac>
    - crypto::tink::TestKeysetHandle::GetKeysetHandle
    - auto::ComputeMac
    - crypto::tink::KeyInfoFromKey
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - auto::VerifyMac
    - crypto::tink::MacConfig::Register
    - EXPECT_PRED_FORMAT2
    - EXPECT_EQ
    - AddTinkKey
    - HmacKeyFormat::mutable_params
    - Keyset::key
    - HmacKeyFormat::set_key_size
    - auto::get_key_factory
    - auto::value
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(MacFactoryTest, testPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: crypto::tink::AesCmacProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:77,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:78,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterAesCmacProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:103,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:103,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:106,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:107,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:110,1
    - Dst: AesCmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:113,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:119,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:119,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:119,1
    - Dst: dynamic_cast<const AesCmacParameters*>
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:122,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:123,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:124,1
    - Dst: AesCmacParameters*::GetVariant
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:124,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:125,1
    - Dst: AesCmacParameters*::KeySizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:125,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:126,1
    - Dst: AesCmacParameters*::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:128,1
    - Dst: AesCmacParameters*::TotalTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:128,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - AesCmacKeyFormat::set_key_size
    - AesCmacParameters*::CryptographicTagSizeInBytes
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - AesCmacKeyFormat::SerializeAsString
    - IsOk
    - EXPECT_THAT
    - AesCmacParameters*::GetVariant
    - GetParam
    - AesCmacParameters*::TotalTagSizeInBytes
    - AesCmacParameters*::KeySizeInBytes
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterAesCmacProtoSerialization
    - Eq
    - util::StatusOr::get
    - AesCmacKeyFormat::mutable_params
    - NotNull
    - dynamic_cast<const AesCmacParameters*>
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:132,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:132,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:135,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:136,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:142,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:147,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:147,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - AesCmacKeyFormat::mutable_params
    - StatusIs
    - AesCmacKeyFormat::set_key_size
    - crypto::tink::RegisterAesCmacProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:151,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:151,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:154,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:155,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:158,1
    - Dst: AesCmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:162,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:167,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:167,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacKeyFormat::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - AesCmacKeyFormat::mutable_params
    - StatusIs
    - AesCmacKeyFormat::set_key_size
    - crypto::tink::RegisterAesCmacProtoSerialization
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:172,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:172,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:176,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:183,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:183,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:184,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:187,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:189,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:190,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:190,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:192,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:192,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:196,1
    - Dst: AesCmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:197,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:197,1
    - Dst: IsTrue
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:199,1
    - Dst: AesCmacKeyFormat::key_size
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:199,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:200,1
    - Dst: AesCmacKeyFormat::params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:200,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 201
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::RegisterAesCmacProtoSerialization
    - AesCmacKeyFormat::params
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::AesCmacParameters::Create
    - AesCmacKeyFormat::key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - AesCmacKeyFormat::ParseFromString
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:205,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:205,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:207,1
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:209,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:210,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:211,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:212,1
    - Dst: google::crypto::tink::AesCmacKey::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:213,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:213,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:219,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:222,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:225,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:225,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:226,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:226,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:227,1
    - Dst: dynamic_cast<const AesCmacKey*>
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:229,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:230,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:230,1
    - Dst: AesCmacKey*::GetKeyBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:232,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:234,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:234,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:236,1
    - Dst: AesCmacKey*::GetOutputPrefix
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:236,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:236,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:237,1
    - Dst: AesCmacKey*::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:237,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:238,1
    - Dst: AesCmacKey*::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:238,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:240,1
    - Dst: AesCmacKey*::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:240,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:242,1
    - Dst: AesCmacKey*::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:244,1
    - Dst: AesCmacKey*::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:244,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 246
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - AesCmacKey*::GetParameters
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetSecret
    - IsOk
    - google::crypto::tink::AesCmacKey::set_version
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::AesCmacKey::mutable_params
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - google::crypto::tink::AesCmacKey::SerializeAsString
    - crypto::tink::RegisterAesCmacProtoSerialization
    - Eq
    - AesCmacKey*::GetKeyBytes
    - util::StatusOr::get
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::AesCmacKey::set_key_value
    - AesCmacKey*::GetOutputPrefix
    - dynamic_cast<const AesCmacKey*>
    - NotNull
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:249,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:249,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:252,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:252,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:259,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:262,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:264,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:264,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::RegisterAesCmacProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, ParseKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:268,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:268,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:270,1
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:272,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:273,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:274,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:275,1
    - Dst: google::crypto::tink::AesCmacKey::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:276,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:276,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:283,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:286,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:288,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:288,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 289
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCmacKey::mutable_params
    - google::crypto::tink::AesCmacKey::set_key_value
    - crypto::tink::RegisterAesCmacProtoSerialization
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesCmacKey::set_version
    - RestrictedData
    - google::crypto::tink::AesCmacKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, ParseKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:292,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:292,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:294,1
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:296,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:297,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:298,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:299,1
    - Dst: google::crypto::tink::AesCmacKey::SerializeAsString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:300,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:300,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:303,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:307,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:310,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:312,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:312,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 313
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCmacKey::mutable_params
    - google::crypto::tink::AesCmacKey::set_key_value
    - crypto::tink::RegisterAesCmacProtoSerialization
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - google::crypto::tink::AesCmacKey::set_version
    - RestrictedData
    - google::crypto::tink::AesCmacKey::SerializeAsString
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:321,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:323,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:324,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:326,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:326,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:328,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:331,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:333,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:334,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:335,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:335,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:336,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:339,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:341,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:341,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:342,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:342,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:343,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:344,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:344,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:344,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:345,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:345,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:346,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:347,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:347,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:350,1
    - Dst: google::crypto::tink::AesCmacKey::ParseFromString
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:350,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:351,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:352,1
    - Dst: IsTrue
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:353,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:354,1
    - Dst: google::crypto::tink::AesCmacKey::key_value
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:354,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:354,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:355,1
    - Dst: google::crypto::tink::AesCmacKey::params
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:355,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 356
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCmacKey::key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesCmacKey::params
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - crypto::tink::AesCmacParameters::Create
    - google::crypto::tink::AesCmacKey::ParseFromString
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - crypto::tink::AesCmacKey::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::RegisterAesCmacProtoSerialization
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(AesCmacProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:359,1
    - Dst: crypto::tink::RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:359,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:359,1
    - Dst: crypto::tink::AesCmacParameters::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:364,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:366,1
    - Dst: crypto::tink::AesCmacKey::Create
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:367,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:369,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:369,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:370,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:371,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:374,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:376,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:376,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 378
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::RegisterAesCmacProtoSerialization
    - util::StatusOr::status
    - crypto::tink::AesCmacKey::Create
    - IsOk
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::AesCmacParameters::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(AesCmacProtoSerializationTest, SerializeKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:58,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:59,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:61,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:66,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:66,1
    - Dst: HmacKey
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:66,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKey
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:70,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:70,1
    - Dst: HmacKeyFormat
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:70,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKeyFormat
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:75,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:76,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:78,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - IsOk
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:84,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:85,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:87,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:87,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - Not
    - IsOk
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatSmallTagSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:94,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:95,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:98,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:98,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:100,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:100,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatTagSizesSha1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:105,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:106,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:109,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:109,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:111,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:111,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatTagSizesSha224)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:116,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:117,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:120,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:120,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:122,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:122,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatTagSizesSha256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:127,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:128,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:131,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:131,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:133,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:133,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatTagSizesSha384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:138,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:139,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:142,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:142,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:144,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:144,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - IsOk
    - Not
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatTagSizesSha512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:149,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:150,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:153,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:153,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:153,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:156,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - Not
    - IsOk
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyFormatKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:161,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:162,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:163,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:166,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:167,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:167,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:168,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:168,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:170,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:170,1
    - Dst: SizeIs
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:170,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:172,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:172,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - HmacKeyFormat::set_key_size
    - EXPECT_EQ
    - IsOk
    - HmacKeyFormat::key_size
    - ASSERT_THAT
    - auto::value
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:177,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:179,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:180,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:183,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:188,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:189,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:190,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:193,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:193,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:195,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:195,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - Not
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyTagSizesSha1)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:200,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:201,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:202,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:205,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:205,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:207,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:207,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - Not
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyTagSizesSha224)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:212,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:213,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:214,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:217,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:217,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:219,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:219,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - Not
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyTagSizesSha256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:224,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:225,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:226,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:229,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:229,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:231,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:231,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - Not
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyTagSizesSha384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:236,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:237,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:238,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:241,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:241,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:243,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:243,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - Not
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyTagSizesSha512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:248,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:250,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:251,1
    - Dst: HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:254,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:254,1
    - Dst: Not
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - Not
    - IsOk
    - HmacKey::set_version
    - EXPECT_THAT
    - HmacKey::set_key_value
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, ValidateKeyShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:259,1
    - Dst: HmacKeyFormat::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:260,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:261,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:262,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:265,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:268,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:268,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:269,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:270,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:270,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:271,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:271,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - HmacKeyFormat::set_key_size
    - EXPECT_EQ
    - IsOk
    - StatusOr::value
    - ASSERT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::params
    - HmacKeyFormat::set_version
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:276,1
    - Dst: HmacKeyFormat::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:277,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:278,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:279,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:284,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:284,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - HmacKeyFormat::set_key_size
    - StatusIs
    - ASSERT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::set_version
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:290,1
    - Dst: HmacKeyFormat::set_version
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:291,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:292,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:293,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:298,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:299,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:300,1
    - Dst: HasSubstr
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - HmacKeyFormat::set_key_size
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::set_version
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:305,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:306,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:307,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:308,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:310,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:312,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:314,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:315,1
    - Dst: HmacKey::params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:315,1
    - Dst: HmacKey::params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:315,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:316,1
    - Dst: HmacKey::key_value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:317,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:318,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:319,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 321
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - crypto::tink::subtle::HmacBoringSsl::New
    - HmacKey::key_value
    - HmacKey::params
    - IsOk
    - ASSERT_THAT
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::util::Enums::ProtoToSubtle
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, GetMacPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:325,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:326,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:327,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:328,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:331,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:332,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:332,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:335,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:336,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:337,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:337,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:338,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:338,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:340,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:344,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:345,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:345,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:345,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:346,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:346,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:346,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:347,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:347,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 348
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - HmacKeyFormat::set_key_size
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - Update
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, GetChunkedMacPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:352,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:353,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:354,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:355,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:358,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:359,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:359,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:362,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:363,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:363,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:367,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:367,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:372,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:372,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:373,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:373,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:374,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:374,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:374,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:376,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:377,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:380,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:380,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:384,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:385,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:385,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:386,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:386,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:387,1
    - Dst: Update
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:387,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:388,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:388,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_manager_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 389
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - HmacKeyFormat::set_key_size
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - Update
    - EXPECT_THAT
    - HmacKeyFormat::mutable_params
    - HmacKeyManager
    - Eq
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyManagerTest, MixPrimitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/config_v0_test.cc:51,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/config_v0_test.cc:51,1
    - Dst: crypto::tink::KeyGenConfigMacV0
      Src: /src/tink/cc/mac/config_v0_test.cc:51,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:52,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/mac/config_v0_test.cc:55,1
    - Dst: crypto::tink::ConfigMacV0
      Src: /src/tink/cc/mac/config_v0_test.cc:55,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:56,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/config_v0_test.cc:59,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:61,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/config_v0_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::ConfigMacV0
    - IsOk
    - ComputeMac
    - crypto::tink::KeyGenConfigMacV0
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - GetParam
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/config_v0_test.cc:66,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/config_v0_test.cc:66,1
    - Dst: crypto::tink::KeyGenConfigMacV0
      Src: /src/tink/cc/mac/config_v0_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:67,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/mac/config_v0_test.cc:70,1
    - Dst: crypto::tink::ConfigMacV0
      Src: /src/tink/cc/mac/config_v0_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:71,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/config_v0_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:79,1
    - Dst: Update
      Src: /src/tink/cc/mac/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:80,1
    - Dst: Update
      Src: /src/tink/cc/mac/config_v0_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:80,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/config_v0_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:82,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/config_v0_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:86,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:87,1
    - Dst: Update
      Src: /src/tink/cc/mac/config_v0_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:87,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:88,1
    - Dst: Update
      Src: /src/tink/cc/mac/config_v0_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/config_v0_test.cc:89,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/config_v0_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/config_v0_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::ConfigMacV0
    - IsOk
    - ComputeMac
    - crypto::tink::KeyGenConfigMacV0
    - ASSERT_THAT
    - CreateVerification
    - Update
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - GetParam
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0Test, GetPrimitiveChunkedMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/mac/mac_factory.cc:36,1
    - Dst: absl::make_unique<MacWrapper>
      Src: /src/tink/cc/mac/mac_factory.cc:36,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_factory.cc:37,1
    - Dst: crypto::tink::MacFactory::GetPrimitive
      Src: /src/tink/cc/mac/mac_factory.cc:40,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/mac_factory.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: crypto::tink::MacFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/mac/mac_factory.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::MacFactory::GetPrimitive
    - util::Status::ok
    - ConfigGlobalRegistry
    - absl::make_unique<MacWrapper>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Mac>>
    signature: "util::StatusOr<std::unique_ptr<Mac>> MacFactory::GetPrimitive(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/mac/mac_factory.cc:48,1
    - Dst: absl::make_unique<MacWrapper>
      Src: /src/tink/cc/mac/mac_factory.cc:48,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_factory.cc:49,1
    - Dst: crypto::tink::MacFactory::GetPrimitive
      Src: /src/tink/cc/mac/mac_factory.cc:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' keyset_handle'
    - custom_key_manager
    argTypes:
    - KeysetHandle
    - KeyManager<Mac>*
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: crypto::tink::MacFactory::GetPrimitive
    functionSourceFile: /src/tink/cc/mac/mac_factory.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::MacFactory::GetPrimitive
    - absl::make_unique<MacWrapper>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - util::Status::ok
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Mac>>
    signature: "util::StatusOr<std::unique_ptr<Mac>> MacFactory::GetPrimitive(\n    const
      KeysetHandle& keyset_handle,\n    const KeyManager<Mac>* custom_key_manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MacKeyTemplates::HmacSha256HalfSizeTag
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:51,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:52,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:53,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:55,1
    - Dst: HmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:55,1
    - Dst: value
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:56,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:56,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:57,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:58,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:58,1
    - Dst: MacKeyTemplates::HmacSha256HalfSizeTag
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:63,1
    - Dst: internal::MakeKeyManager<Mac>
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:68,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:68,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:68,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:70,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:70,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:70,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:76,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:77,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:79,1
    - Dst: HmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:79,1
    - Dst: value
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:80,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:81,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:82,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:82,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:86,1
    - Dst: internal::MakeKeyManager<Mac>
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:91,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:91,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:91,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:92,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:93,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:93,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:93,1
    - Dst: MacKeyTemplates::HmacSha512HalfSizeTag
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:99,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:100,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:100,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:102,1
    - Dst: HmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:102,1
    - Dst: value
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:102,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:103,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:103,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:104,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:105,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:105,1
    - Dst: MacKeyTemplates::HmacSha512HalfSizeTag
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:110,1
    - Dst: internal::MakeKeyManager<Mac>
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:115,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:115,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:115,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:116,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:117,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:117,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:117,1
    - Dst: MacKeyTemplates::HmacSha512
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:123,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:124,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:126,1
    - Dst: HmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:126,1
    - Dst: value
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:127,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:127,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:128,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:129,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:129,1
    - Dst: MacKeyTemplates::HmacSha512
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:133,1
    - Dst: internal::MakeKeyManager<Mac>
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:138,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:138,1
    - Dst: type_url
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:138,1
    - Dst: auto::get_key_factory
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:140,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:140,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - EXPECT_TRUE
    - MacKeyTemplates::HmacSha256HalfSizeTag
    - MacKeyTemplates::HmacSha256
    - auto::ok
    - EXPECT_EQ
    - MacKeyTemplates::HmacSha512HalfSizeTag
    - auto::get_key_type
    - MacKeyTemplates::HmacSha512
    - HmacKeyFormat::key_size
    - internal::MakeKeyManager<Mac>
    - auto::get_key_factory
    - type_url
    - value
    - HmacKeyFormat::params
    - HmacKeyFormat::ParseFromString
    - output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(MacKeyTemplatesTest, testHmacKeyTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:145,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:145,1
    - Dst: Eq
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:147,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:147,1
    - Dst: Eq
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:148,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - MacKeyTemplates::AesCmac
    - AesCmacKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmac, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:152,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:152,1
    - Dst: Eq
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmac, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:157,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:157,1
    - Dst: Ref
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:157,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - MacKeyTemplates::AesCmac
    - Ref
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmac, MultipleCallsSameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:162,1
    - Dst: AesCmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:162,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:163,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - AesCmacKeyManager
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - AesCmacKeyFormat::ParseFromString
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmac, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:168,1
    - Dst: AesCmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:168,1
    - Dst: MacKeyTemplates::AesCmac
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:169,1
    - Dst: AesCmacKeyFormat::key_size
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:169,1
    - Dst: Eq
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:170,1
    - Dst: AesCmacKeyFormat::params
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:170,1
    - Dst: Eq
      Src: /src/tink/cc/mac/mac_key_templates_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesCmacKeyFormat::key_size
    - MacKeyTemplates::AesCmac
    - EXPECT_THAT
    - AesCmacKeyFormat::ParseFromString
    - AesCmacKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmac, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:55,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:56,1
    - Dst: key_value
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:56,1
    - Dst: params
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesCmacKey
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: crypto::tink::AesCmacKeyManager::MacFactory::Create
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::AesCmacBoringSsl::New
    - params
    - key_value
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Mac>> Create(\n        const
      google::crypto::tink::AesCmacKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewChunkedCmac
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesCmacKey
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: crypto::tink::AesCmacKeyManager::ChunkedMacFactory::Create
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewChunkedCmac
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<ChunkedMac>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<ChunkedMac>> Create(\n
      \       const google::crypto::tink::AesCmacKey& key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<AesCmacKeyManager::MacFactory>
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:70,1
    - Dst: absl::make_unique<AesCmacKeyManager::ChunkedMacFactory>
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto::tink::AesCmacKeyManager::AesCmacKeyManager
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<AesCmacKeyManager::ChunkedMacFactory>
    - absl::make_unique<AesCmacKeyManager::MacFactory>
    linkageType: ''
    returnType: void
    signature: void AesCmacKeyManager()
  - 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: crypto::tink::AesCmacKeyManager::get_version
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: crypto::tink::AesCmacKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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_key_type() const override'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:85,1
    - Dst: version
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:85,1
    - Dst: crypto::tink::AesCmacKeyManager::get_version
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:85,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:86,1
    - Dst: key_value
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:88,1
    - Dst: crypto::tink::AesCmacKeyManager::ValidateParams
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:92,1
    - Dst: params
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesCmacKey
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: crypto::tink::AesCmacKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - key_value
    - crypto::tink::AesCmacKeyManager::ValidateParams
    - params
    - version
    - crypto::tink::util::Status::ok
    - crypto::tink::AesCmacKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKey(\n      const google::crypto::tink::AesCmacKey&
      key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:98,1
    - Dst: crypto::tink::AesCmacKeyManager::ValidateParams
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:102,1
    - Dst: params
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesCmacKeyFormat
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: crypto::tink::AesCmacKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached:
    - params
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::AesCmacKeyManager::ValidateParams
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateKeyFormat(\n      const google::crypto::tink::AesCmacKeyFormat&
      key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesCmacKey::set_version
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:108,1
    - Dst: crypto::tink::AesCmacKeyManager::get_version
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:108,1
    - Dst: google::crypto::tink::AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:109,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:110,1
    - Dst: key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:110,1
    - Dst: google::crypto::tink::AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:111,1
    - Dst: params
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesCmacKeyFormat
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: crypto::tink::AesCmacKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesCmacKey::mutable_params
    - google::crypto::tink::AesCmacKey::set_key_value
    - google::crypto::tink::AesCmacKey::set_version
    - params
    - crypto::tink::AesCmacKeyManager::get_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesCmacKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesCmacKey> CreateKey(\n
      \     const google::crypto::tink::AesCmacKeyFormat& key_format) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tag_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:118,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:119,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:120,1
    - Dst: tag_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:121,1
    - Dst: tag_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:123,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:124,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:125,1
    - Dst: tag_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:126,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/aes_cmac_key_manager.h:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - google::crypto::tink::AesCmacParams
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: crypto::tink::AesCmacKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager.h
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrCat
    - tag_size
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status ValidateParams(\n      const google::crypto::tink::AesCmacParams&
      params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/mac/hmac_key_manager.h:54,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/mac/hmac_key_manager.h:55,1
    - Dst: params
      Src: /src/tink/cc/mac/hmac_key_manager.h:55,1
    - Dst: params
      Src: /src/tink/cc/mac/hmac_key_manager.h:56,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/mac/hmac_key_manager.h:57,1
    - Dst: key_value
      Src: /src/tink/cc/mac/hmac_key_manager.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hmac_key'
    argTypes:
    - google::crypto::tink::HmacKey
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: crypto::tink::HmacKeyManager::MacFactory::Create
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::HmacBoringSsl::New
    - key_value
    - params
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Mac>> Create(\n        const
      google::crypto::tink::HmacKey& hmac_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewChunkedHmac
      Src: /src/tink/cc/mac/hmac_key_manager.h:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' hmac_key'
    argTypes:
    - google::crypto::tink::HmacKey
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: crypto::tink::HmacKeyManager::ChunkedMacFactory::Create
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::NewChunkedHmac
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<ChunkedMac>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<ChunkedMac>> Create(\n
      \       const google::crypto::tink::HmacKey& hmac_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MacFactory>
      Src: /src/tink/cc/mac/hmac_key_manager.h:69,1
    - Dst: absl::make_unique<ChunkedMacFactory>
      Src: /src/tink/cc/mac/hmac_key_manager.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: crypto::tink::HmacKeyManager::HmacKeyManager
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<ChunkedMacFactory>
    - absl::make_unique<MacFactory>
    linkageType: ''
    returnType: void
    signature: void HmacKeyManager()
  - 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: crypto::tink::HmacKeyManager::get_version
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: crypto::tink::HmacKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::HmacKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/mac/hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc: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: crypto::tink::HmacProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:81,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:82,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:116,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:116,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:119,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:120,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:121,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:124,1
    - Dst: HmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:127,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:133,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:133,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:134,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - crypto::tink::HmacParameters::Create
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    - HmacKeyFormat::SerializeAsString
    - EXPECT_THAT
    - HasIdRequirement
    - HmacKeyFormat::mutable_params
    - GetParam
    - Eq
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:144,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:144,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:150,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:155,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:159,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:159,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:162,1
    - Dst: HmacKeyFormat::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:163,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:164,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:165,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:168,1
    - Dst: HmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:171,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:176,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:176,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    - HmacKeyFormat::SerializeAsString
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseParametersWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:180,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:180,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:183,1
    - Dst: HmacKeyFormat::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:184,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:185,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:186,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:189,1
    - Dst: HmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:192,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:197,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:197,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    - HmacKeyFormat::SerializeAsString
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseParametersWithUnknownHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:201,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:201,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:204,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:205,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:208,1
    - Dst: HmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:212,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:217,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:217,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::set_key_size
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - StatusIs
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    - HmacKeyFormat::SerializeAsString
    - HmacKeyFormat::mutable_params
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseParametersWithUnkownOutputPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:222,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:222,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:227,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:234,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:235,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:238,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:240,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:241,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:241,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:243,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:243,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:247,1
    - Dst: HmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:248,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:248,1
    - Dst: IsTrue
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:250,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:250,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:251,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:251,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:252,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:252,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 253
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - crypto::tink::HmacParameters::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - IsTrue
    - crypto::tink::RegisterHmacProtoSerialization
    - HmacKeyFormat::key_size
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - HmacKeyFormat::params
    - HmacKeyFormat::ParseFromString
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:257,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:257,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:259,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:261,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:262,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:263,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:264,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:265,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:266,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:266,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:272,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:275,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:277,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:278,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:278,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:280,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:280,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:280,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:285,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:286,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:288,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:288,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:292,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 293
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsOk
    - crypto::tink::HmacKey::Create
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::RegisterHmacProtoSerialization
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::HmacKey::SerializeAsString
    - crypto::tink::HmacParameters::Create
    - google::crypto::tink::HmacKey::set_key_value
    - google::crypto::tink::HmacKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacProtoSerializationTest, ParseKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:296,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:296,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:298,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:300,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:301,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:302,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:303,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:305,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:305,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:308,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:312,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:315,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:317,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:317,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 318
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - google::crypto::tink::HmacKey::set_key_value
    - crypto::tink::RegisterHmacProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - google::crypto::tink::HmacKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:321,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:321,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:323,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:325,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:326,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:327,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:328,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:329,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:330,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:330,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:333,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:337,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:340,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:342,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:342,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::HmacKey::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - google::crypto::tink::HmacKey::set_key_value
    - crypto::tink::RegisterHmacProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - google::crypto::tink::HmacKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:346,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:346,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:346,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:348,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:350,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:351,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:352,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:353,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:354,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:358,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:362,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:365,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:366,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:367,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:367,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 368
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::HmacKey::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - google::crypto::tink::HmacKey::set_key_value
    - crypto::tink::RegisterHmacProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - google::crypto::tink::HmacKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseKeyWithUnknownOutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:371,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:371,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:371,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:373,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:375,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:376,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:377,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:378,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:379,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:380,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:380,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:383,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:387,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:390,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:391,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:392,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:392,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 393
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::HmacKey::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - google::crypto::tink::HmacKey::set_key_value
    - crypto::tink::RegisterHmacProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - google::crypto::tink::HmacKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseKeyWithUnknownHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:396,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:396,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:398,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:400,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:401,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:402,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:403,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:404,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:405,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:405,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:408,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:412,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:412,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:415,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:417,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:417,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 418
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::HmacKey::SerializeAsString
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - google::crypto::tink::HmacKey::set_key_value
    - crypto::tink::RegisterHmacProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - StatusIs
    - google::crypto::tink::HmacKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::HmacKey::mutable_params
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, ParseKeyWithoutSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:421,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:422,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:422,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:422,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:425,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:427,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:427,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:429,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:430,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:432,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:432,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:433,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:434,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:434,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:437,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:439,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:440,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:440,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:441,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:441,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:442,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:445,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:446,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:447,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:447,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:448,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:448,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:449,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:450,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:450,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:450,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:451,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:451,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:452,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:453,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:453,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:456,1
    - Dst: google::crypto::tink::HmacKey::ParseFromString
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:456,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:457,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:458,1
    - Dst: IsTrue
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:459,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:460,1
    - Dst: google::crypto::tink::HmacKey::key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:460,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:460,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:461,1
    - Dst: google::crypto::tink::HmacKey::params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:461,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:461,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:462,1
    - Dst: google::crypto::tink::HmacKey::params
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:462,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 463
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::HmacKey::ParseFromString
    - IsOk
    - crypto::tink::HmacKey::Create
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - crypto::tink::RegisterHmacProtoSerialization
    - Eq
    - google::crypto::tink::HmacKey::params
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - crypto::tink::HmacParameters::Create
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - google::crypto::tink::HmacKey::key_value
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacProtoSerializationTest, SerializeKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:466,1
    - Dst: crypto::tink::RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:466,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:466,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:468,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:471,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:471,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:473,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:474,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:476,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:476,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:477,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:478,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:478,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:481,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:483,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:483,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_proto_serialization_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 485
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::RegisterHmacProtoSerialization
    - ASSERT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(HmacProtoSerializationTest, SerializeKeyWithoutSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:66,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:67,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:68,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:68,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:69,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:70,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - MacWrapper
    - EXPECT_PRED_FORMAT2
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(MacWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrimitiveSet<Mac>::PrimitiveSet<Mac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:74,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:75,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:75,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:76,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:77,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:77,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:78,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:79,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - MacWrapper
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - std::move
    - PrimitiveSet<Mac>::PrimitiveSet<Mac>
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(MacWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:87,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:88,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:89,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:90,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:93,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:94,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:95,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:96,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:99,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:100,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:101,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:102,1
    - Dst: PrimitiveSet<Mac>::PrimitiveSet<Mac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:107,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:108,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:109,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:109,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:110,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:111,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:111,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:112,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:113,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:113,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:114,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:114,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:115,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:116,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:118,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:118,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:118,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:121,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:122,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:122,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:123,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:123,1
    - Dst: std::unique_ptr::ComputeMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:127,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:127,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:127,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:128,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:129,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:131,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:132,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:132,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:134,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:135,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:136,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:136,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:137,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:138,1
    - Dst: util::Status::message
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 139
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - util::Status::message
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::status
    - util::Status::ok
    - std::string
    - IsOk
    - PrimitiveSet<Mac>::PrimitiveSet<Mac>
    - KeysetInfo::KeyInfo*::set_status
    - std::unique_ptr::ComputeMac
    - EXPECT_PRED_FORMAT2
    - EXPECT_EQ
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - KeysetInfo::key_info
    - std::unique_ptr::VerifyMac
    - MacWrapper
    - KeysetInfo::KeyInfo*::set_key_id
    - auto::value
    - KeysetInfo::add_key_info
    - absl::make_unique<DummyMac>
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST(MacWrapperTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:145,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:146,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:147,1
    - Dst: PrimitiveSet<Mac>::PrimitiveSet<Mac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:150,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:151,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:152,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:153,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:154,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:154,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:154,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:158,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:158,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:158,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:159,1
    - Dst: std::unique_ptr::ComputeMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:163,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:164,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:164,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:164,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:165,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:166,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:167,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:168,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:168,1
    - Dst: DummyMac::DummyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:171,1
    - Dst: std::string::substr
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:172,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:173,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:174,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:175,1
    - Dst: auto::code
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:175,1
    - Dst: std::string::append
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:179,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:180,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:181,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 182
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::unique_ptr::set_primary
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - EXPECT_FALSE
    - auto::status
    - IsOk
    - std::string::substr
    - PrimitiveSet<Mac>::PrimitiveSet<Mac>
    - DummyMac::DummyMac
    - KeysetInfo::KeyInfo::set_status
    - auto::code
    - std::unique_ptr::ComputeMac
    - EXPECT_PRED_FORMAT2
    - EXPECT_EQ
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo::set_key_id
    - std::string::append
    - std::unique_ptr::VerifyMac
    - MacWrapper
    - auto::value
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: void
    signature: void TEST(MacWrapperTest, testLegacyAuthentication)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:189,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: crypto::tink::TryBreakLegacyMac::ComputeMac
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - absl::StrCat
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::string>
    signature: "crypto::tink::util::StatusOr<std::string> ComputeMac(\n      absl::string_view
      data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::TryBreakLegacyMac::ComputeMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:194,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:195,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mac
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: crypto::tink::TryBreakLegacyMac::VerifyMac
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::InvalidArgumentError
    - crypto::tink::util::OkStatus
    - crypto::tink::TryBreakLegacyMac::ComputeMac
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status VerifyMac(absl::string_view mac,\n                                       absl::string_view
      data) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrimitiveSet<Mac>::PrimitiveSet<Mac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:204,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:207,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:208,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:210,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:211,1
    - Dst: absl::make_unique<TryBreakLegacyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:213,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:216,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:217,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:218,1
    - Dst: std::unique_ptr::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:221,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:223,1
    - Dst: std::unique_ptr::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:223,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:223,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:226,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:227,1
    - Dst: TryBreakLegacyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:230,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:231,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - MacWrapper
    - absl::make_unique<TryBreakLegacyMac>
    - IsOk
    - std::unique_ptr::set_primary
    - std::move
    - std::unique_ptr::AddPrimitive
    - KeysetInfo::KeyInfo::set_key_id
    - ASSERT_THAT
    - PrimitiveSet<Mac>::PrimitiveSet<Mac>
    - TryBreakLegacyMac
    - auto::value
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - absl::make_unique<DummyMac>
    linkageType: ''
    returnType: void
    signature: void TEST(MacWrapperTest, VerifyRawAfterLegacy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:238,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:239,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - key_id
    - out_prefix_type
    - status
    argTypes:
    - uint32_t
    - OutputPrefixType
    - KeyStatusType
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: crypto::tink::PopulateKeyInfo
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 6
    functionsReached:
    - KeysetInfo::KeyInfo::set_status
    - KeysetInfo::KeyInfo::set_key_id
    - KeysetInfo::KeyInfo::set_output_prefix_type
    linkageType: ''
    returnType: KeysetInfo::KeyInfo
    signature: "KeysetInfo::KeyInfo PopulateKeyInfo(uint32_t key_id,\n                                    OutputPrefixType
      out_prefix_type,\n                                    KeyStatusType status)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:247,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:248,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:250,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:251,1
    - Dst: KeysetInfo::add_key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:253,1
    - Dst: crypto::tink::PopulateKeyInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: crypto::tink::CreateTestKeysetInfo
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 16
    functionsReached:
    - crypto::tink::PopulateKeyInfo
    - KeysetInfo::add_key_info
    linkageType: ''
    returnType: KeysetInfo
    signature: KeysetInfo CreateTestKeysetInfo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:265,1
    - Dst: absl::make_unique<MockMonitoringClientFactory>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:269,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:271,1
    - Dst: auto::get
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:272,1
    - Dst: absl::make_unique<NiceMock<MockMonitoringClient>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:274,1
    - Dst: auto::get
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:275,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:279,1
    - Dst: New
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:279,1
    - Dst: Return
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:281,1
    - Dst: ByMove
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:281,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:281,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:282,1
    - Dst: Return
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:284,1
    - Dst: ByMove
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:284,1
    - Dst: util::StatusOr<std::unique_ptr<MonitoringClient>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:284,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:285,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:287,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:287,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:291,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:292,1
    - Dst: Not
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:293,1
    - Dst: IsNull
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 294
    functionName: crypto::tink::MacSetWrapperWithMonitoringTest::SetUp
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<NiceMock<MockMonitoringClient>>
    - ByMove
    - IsOk
    - absl::make_unique<MockMonitoringClientFactory>
    - EXPECT_CALL
    - std::move
    - Not
    - ASSERT_THAT
    - util::StatusOr<std::unique_ptr<MonitoringClient>>
    - internal::RegistryImpl::GlobalInstance
    - auto::get
    - IsNull
    - crypto::tink::Registry::Reset
    - Return
    - New
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/mac/mac_wrapper_test.cc: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: ~MacSetWrapperWithMonitoringTest() override
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void ~MacSetWrapperWithMonitoringTest() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:307,1
    - Dst: absl::make_unique<PrimitiveSet<Mac>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:310,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:311,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:311,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:312,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:316,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:316,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:317,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:320,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:323,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:323,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:325,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:325,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:326,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:326,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:326,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:332,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:333,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:333,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:338,1
    - Dst: Log
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:338,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:339,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:339,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 340
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Mac>>
    - absl::string_view::size
    - util::StatusOr::status
    - MacWrapper
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - ComputeMac
    - IsOkAndHolds
    - Log
    - NotNull
    - EXPECT_THAT
    - absl::make_unique<DummyMac>
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(MacSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringComputeSuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:346,1
    - Dst: absl::make_unique<PrimitiveSet<Mac>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:349,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:350,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:350,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:351,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:352,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:355,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:355,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:356,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:357,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:359,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:362,1
    - Dst: absl::make_unique<DummyMac>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:362,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:363,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:364,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:365,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:365,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:371,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:371,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:372,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:372,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:372,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:377,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:378,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:378,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:378,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:381,1
    - Dst: Log
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:381,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:381,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:382,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:382,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 383
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - std::move
    - ASSERT_THAT
    - absl::make_unique<PrimitiveSet<Mac>>
    - auto::AddPrimitive
    - IsOk
    - ComputeMac
    - crypto::tink::CreateTestKeysetInfo
    - EXPECT_THAT
    - VerifyMac
    - EXPECT_CALL
    - IsOkAndHolds
    - KeysetInfo::key_info
    - util::StatusOr::status
    - MacWrapper
    - auto::set_primary
    - Log
    - NotNull
    - absl::make_unique<DummyMac>
    linkageType: ''
    returnType: void
    signature: "void TEST_F(MacSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringVerifySuccess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:388,1
    - Dst: absl::make_unique<PrimitiveSet<Mac>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:391,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:392,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:392,1
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:393,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:394,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:397,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:397,1
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:398,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:401,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:404,1
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:404,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:405,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:406,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:406,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:407,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:407,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:407,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:411,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:411,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:412,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:412,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:412,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:417,1
    - Dst: LogFailure
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:417,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:418,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:418,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 420
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Mac>>
    - LogFailure
    - util::StatusOr::status
    - MacWrapper
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - ComputeMac
    - crypto::tink::CreateAlwaysFailingMac
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - StatusIs
    - KeysetInfo::key_info
    linkageType: ''
    returnType: void
    signature: "void TEST_F(MacSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringComputeFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateTestKeysetInfo
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:426,1
    - Dst: absl::make_unique<PrimitiveSet<Mac>>
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:429,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:430,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:430,1
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:431,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:432,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:434,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:435,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:435,1
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:436,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:437,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:439,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:442,1
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:442,1
    - Dst: KeysetInfo::key_info
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:443,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:444,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:444,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:444,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:445,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:445,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:445,1
    - Dst: MacWrapper
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:449,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:449,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:450,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:450,1
    - Dst: NotNull
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:450,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:456,1
    - Dst: LogFailure
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:456,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:457,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:457,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/mac_wrapper_test.cc:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/mac/mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<Mac>>
    - LogFailure
    - util::StatusOr::status
    - MacWrapper
    - auto::AddPrimitive
    - IsOk
    - std::move
    - EXPECT_CALL
    - crypto::tink::CreateTestKeysetInfo
    - auto::set_primary
    - ASSERT_THAT
    - crypto::tink::CreateAlwaysFailingMac
    - IsOkAndHolds
    - EXPECT_THAT
    - NotNull
    - StatusIs
    - KeysetInfo::key_info
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: "void TEST_F(MacSetWrapperWithMonitoringTest,\n       WrapKeysetWithMonitoringVerifyFailures)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/mac/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/mac/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddMacV0
      Src: /src/tink/cc/mac/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigMacV0
    functionSourceFile: /src/tink/cc/mac/config_v0.cc
    functionUses: 2
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddMacV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigMacV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_key.cc:43,1
    - Dst: size
      Src: /src/tink/cc/mac/aes_cmac_key.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key.cc:44,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_key.cc:47,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/aes_cmac_key.cc:47,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key.cc:48,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/mac/aes_cmac_key.cc:53,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/aes_cmac_key.cc:53,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key.cc:54,1
    - Dst: crypto::tink::AesCmacKey::ComputeOutputPrefix
      Src: /src/tink/cc/mac/aes_cmac_key.cc:60,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/aes_cmac_key.cc:61,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/aes_cmac_key.cc:62,1
    - Dst: crypto::tink::AesCmacKey::AesCmacKey
      Src: /src/tink/cc/mac/aes_cmac_key.cc:64,1
    - Dst: std::move
      Src: /src/tink/cc/mac/aes_cmac_key.cc:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - token
    argTypes:
    - AesCmacParameters
    - RestrictedData
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 66
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 66
    functionName: crypto::tink::AesCmacKey::Create
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.cc
    functionUses: 15
    functionsReached:
    - crypto::tink::AesCmacKey::AesCmacKey
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - std::move
    - util::StatusOr::ok
    - KeySizeInBytes
    - crypto::tink::AesCmacKey::ComputeOutputPrefix
    - absl::optional<int>::has_value
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<AesCmacKey>
    signature: "util::StatusOr<AesCmacKey> AesCmacKey::Create(\n    const AesCmacParameters&
      parameters, const RestrictedData& key_bytes,\n    absl::optional<int> id_requirement,
      PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/mac/aes_cmac_key.cc:70,1
    - Dst: std::string
      Src: /src/tink/cc/mac/aes_cmac_key.cc:72,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/aes_cmac_key.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key.cc:77,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_key.cc:81,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/mac/aes_cmac_key.cc:81,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/mac/aes_cmac_key.cc:82,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/mac/aes_cmac_key.cc:84,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key.cc:85,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_key.cc:88,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/mac/aes_cmac_key.cc:88,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/mac/aes_cmac_key.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_key.cc:91,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_key.cc:93,1
    - Dst: GetVariant
      Src: /src/tink/cc/mac/aes_cmac_key.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - AesCmacParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: crypto::tink::AesCmacKey::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.cc
    functionUses: 1
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> AesCmacKey::ComputeOutputPrefix(\n    const
      AesCmacParameters& parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesCmacKey*>
      Src: /src/tink/cc/mac/aes_cmac_key.cc:98,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/aes_cmac_key.cc:102,1
    - Dst: AesCmacKey*::GetParameters
      Src: /src/tink/cc/mac/aes_cmac_key.cc:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: AesCmacKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - AesCmacKey*::GetParameters
    - dynamic_cast<const AesCmacKey*>
    linkageType: ''
    returnType: bool
    signature: bool AesCmacKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:55,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<Mac>>
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: crypto::tink::MacSetWrapper::MacSetWrapper
    functionSourceFile: /src/tink/cc/mac/mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void MacSetWrapper(\n      std::unique_ptr<PrimitiveSet<Mac>> mac_set,\n
      \     std::unique_ptr<MonitoringClient> monitoring_compute_client = nullptr,\n
      \     std::unique_ptr<MonitoringClient> monitoring_verify_client = nullptr)"
  - 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: ~MacSetWrapper() override
    functionSourceFile: /src/tink/cc/mac/mac_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MacSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/mac_wrapper.cc:75,1
    - Dst: PrimitiveSet<Mac>*::get_primary
      Src: /src/tink/cc/mac/mac_wrapper.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/mac_wrapper.cc:79,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/mac_wrapper.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mac_set
    argTypes:
    - PrimitiveSet<Mac>*
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/mac/mac_wrapper.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - PrimitiveSet<Mac>*::get_primary
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<Mac>* mac_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/mac/mac_wrapper.cc:89,1
    - Dst: get_primary
      Src: /src/tink/cc/mac/mac_wrapper.cc:91,1
    - Dst: auto::get_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper.cc:93,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_wrapper.cc:94,1
    - Dst: std::string::push_back
      Src: /src/tink/cc/mac/mac_wrapper.cc:95,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/mac/mac_wrapper.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:99,1
    - Dst: LogFailure
      Src: /src/tink/cc/mac/mac_wrapper.cc:101,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/mac_wrapper.cc:103,1
    - Dst: Log
      Src: /src/tink/cc/mac/mac_wrapper.cc:106,1
    - Dst: get_primary
      Src: /src/tink/cc/mac/mac_wrapper.cc:106,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/mac/mac_wrapper.cc:107,1
    - Dst: auto::get_identifier
      Src: /src/tink/cc/mac/mac_wrapper.cc:109,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper.cc:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: crypto::tink::MacSetWrapper::ComputeMac
    functionSourceFile: /src/tink/cc/mac/mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::string::push_back
    - auto::status
    - get_primary
    - std::string
    - auto::ok
    - LogFailure
    - absl::string_view::size
    - auto::get_primitive
    - auto::get_output_prefix_type
    - auto::get_identifier
    - crypto::tink::internal::EnsureStringNonNull
    - auto::value
    - Log
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> MacSetWrapper::ComputeMac(\n    absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/mac/mac_wrapper.cc:116,1
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/mac/mac_wrapper.cc:117,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/mac/mac_wrapper.cc:119,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/mac/mac_wrapper.cc:121,1
    - Dst: get_primitives
      Src: /src/tink/cc/mac/mac_wrapper.cc:122,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:123,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/mac/mac_wrapper.cc:125,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper.cc:126,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/mac/mac_wrapper.cc:129,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/mac_wrapper.cc:130,1
    - Dst: std::string
      Src: /src/tink/cc/mac/mac_wrapper.cc:130,1
    - Dst: get_primitive
      Src: /src/tink/cc/mac/mac_wrapper.cc:133,1
    - Dst: crypto::tink::MacSetWrapper::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper.cc:135,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:136,1
    - Dst: Log
      Src: /src/tink/cc/mac/mac_wrapper.cc:138,1
    - Dst: get_key_id
      Src: /src/tink/cc/mac/mac_wrapper.cc:138,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/mac/mac_wrapper.cc:139,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/mac/mac_wrapper.cc:148,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:149,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/mac_wrapper.cc:150,1
    - Dst: get_primitive
      Src: /src/tink/cc/mac/mac_wrapper.cc:151,1
    - Dst: crypto::tink::MacSetWrapper::VerifyMac
      Src: /src/tink/cc/mac/mac_wrapper.cc:152,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:153,1
    - Dst: Log
      Src: /src/tink/cc/mac/mac_wrapper.cc:155,1
    - Dst: get_key_id
      Src: /src/tink/cc/mac/mac_wrapper.cc:155,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/mac/mac_wrapper.cc:155,1
    - Dst: LogFailure
      Src: /src/tink/cc/mac/mac_wrapper.cc:162,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/mac_wrapper.cc:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - mac_value
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 167
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 167
    functionName: crypto::tink::MacSetWrapper::VerifyMac
    functionSourceFile: /src/tink/cc/mac/mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - get_output_prefix_type
    - get_primitive
    - get_raw_primitives
    - std::string
    - auto::ok
    - util::Status::ok
    - absl::string_view::size
    - LogFailure
    - crypto::tink::internal::ExtractStatus
    - get_primitives
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - auto::value
    - Log
    - absl::StrCat
    - get_key_id
    - crypto::tink::MacSetWrapper::VerifyMac
    linkageType: ''
    returnType: util::Status
    signature: "util::Status MacSetWrapper::VerifyMac(\n    absl::string_view mac_value,\n
      \   absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/mac/mac_wrapper.cc:173,1
    - Dst: std::unique_ptr<PrimitiveSet<Mac>>::get
      Src: /src/tink/cc/mac/mac_wrapper.cc:173,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:174,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/mac/mac_wrapper.cc:177,1
    - Dst: absl::make_unique<MacSetWrapper>
      Src: /src/tink/cc/mac/mac_wrapper.cc:181,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:181,1
    - Dst: crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
      Src: /src/tink/cc/mac/mac_wrapper.cc:185,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:186,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper.cc:187,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/mac/mac_wrapper.cc:191,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/mac/mac_wrapper.cc:192,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:193,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper.cc:194,1
    - Dst: MonitoringClientFactory*::New
      Src: /src/tink/cc/mac/mac_wrapper.cc:198,1
    - Dst: MonitoringContext
      Src: /src/tink/cc/mac/mac_wrapper.cc:199,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/mac_wrapper.cc:200,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/mac_wrapper.cc:201,1
    - Dst: absl::make_unique<MacSetWrapper>
      Src: /src/tink/cc/mac/mac_wrapper.cc:204,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:205,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:205,1
    - Dst: std::move
      Src: /src/tink/cc/mac/mac_wrapper.cc:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - mac_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<Mac>>
    constantsTouched: []
    func_position:
      end: 207
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 207
    functionName: crypto::tink::MacWrapper::Wrap
    functionSourceFile: /src/tink/cc/mac/mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MacSetWrapper>
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
    - std::move
    - std::unique_ptr<PrimitiveSet<Mac>>::get
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Validate
    - MonitoringContext
    - MonitoringClientFactory*::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Mac>>
    signature: "util::StatusOr<std::unique_ptr<Mac>> MacWrapper::Wrap(\n    std::unique_ptr<PrimitiveSet<Mac>>
      mac_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/hmac_key_test.cc:77,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_key_test.cc:77,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:81,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:83,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:84,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:88,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/mac/hmac_key_test.cc:88,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_key_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:89,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/mac/hmac_key_test.cc:89,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_key_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:90,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/mac/hmac_key_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_key_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::status
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:98,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:103,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:103,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:104,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_key_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HmacParameters::Create
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:113,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:118,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:122,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:122,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:123,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_key_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:126,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:127,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:128,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/hmac_key_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HmacParameters::Create
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyTest, CreateKeyWithWrongIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/hmac_key_test.cc:138,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_key_test.cc:138,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:142,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:144,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:146,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:148,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:150,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/mac/hmac_key_test.cc:150,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/mac/hmac_key_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::status
    - util::StatusOr::GetKeyBytes
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - GetParam
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacKeyTest, GetKeyBytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/hmac_key_test.cc:158,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/hmac_key_test.cc:158,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:162,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:164,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:165,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:167,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:169,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:171,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:173,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:174,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:175,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 177
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(HmacKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:183,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:188,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:190,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:193,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:195,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:195,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:198,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:200,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:202,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:204,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 206
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::status
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyTest, DifferentFormatNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:212,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:214,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:215,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:217,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:219,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:219,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:221,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:223,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:223,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:225,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 229
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::status
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:235,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_key_test.cc:237,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:239,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:241,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:241,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_key_test.cc:243,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_key_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/hmac_key_test.cc:245,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_key_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/hmac_key_test.cc:245,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:247,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/mac/hmac_key_test.cc:248,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:249,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/mac/hmac_key_test.cc:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 251
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::HmacParameters::Create
    - util::StatusOr::status
    - IsOk
    - crypto::tink::HmacKey::Create
    - RestrictedData
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(HmacKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacParameters
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: crypto::tink::AesCmacParameters::AesCmacParameters
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCmacParameters(const AesCmacParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacParameters
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& operator=(const AesCmacParameters& other)'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCmacParameters
    signature: AesCmacParameters & operator=(const AesCmacParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacParameters
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: crypto::tink::AesCmacParameters::AesCmacParameters
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AesCmacParameters(AesCmacParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - AesCmacParameters
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& operator=(AesCmacParameters&& other)'
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: AesCmacParameters
    signature: AesCmacParameters & operator=(AesCmacParameters&& other)
  - 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: crypto::tink::AesCmacParameters::GetVariant
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() 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: crypto::tink::AesCmacParameters::KeySizeInBytes
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KeySizeInBytes() 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: crypto::tink::AesCmacParameters::CryptographicTagSizeInBytes
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CryptographicTagSizeInBytes() 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: crypto::tink::AesCmacParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key_size_in_bytes
    - cryptographic_tag_size_in_bytes
    - variant
    argTypes:
    - int
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: crypto::tink::AesCmacParameters::AesCmacParameters
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void AesCmacParameters(int key_size_in_bytes, int cryptographic_tag_size_in_bytes,\n
      \                   Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/mac/mac_config.cc:39,1
    - Dst: absl::make_unique<MacWrapper>
      Src: /src/tink/cc/mac/mac_config.cc:39,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config.cc:40,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/mac/mac_config.cc:42,1
    - Dst: absl::make_unique<internal::ChunkedMacWrapper>
      Src: /src/tink/cc/mac/mac_config.cc:43,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config.cc:44,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/mac/mac_config.cc:48,1
    - Dst: absl::make_unique<HmacKeyManager>
      Src: /src/tink/cc/mac/mac_config.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config.cc:50,1
    - Dst: RegisterHmacProtoSerialization
      Src: /src/tink/cc/mac/mac_config.cc:52,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config.cc:53,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/mac/mac_config.cc:55,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/mac_config.cc:56,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/mac/mac_config.cc:60,1
    - Dst: absl::make_unique<AesCmacKeyManager>
      Src: /src/tink/cc/mac/mac_config.cc:61,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config.cc:62,1
    - Dst: RegisterAesCmacProtoSerialization
      Src: /src/tink/cc/mac/mac_config.cc:64,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/mac_config.cc:65,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/mac_config.cc:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 68
    functionName: crypto::tink::MacConfig::Register
    functionSourceFile: /src/tink/cc/mac/mac_config.cc
    functionUses: 12
    functionsReached:
    - absl::make_unique<internal::ChunkedMacWrapper>
    - crypto::tink::Registry::RegisterKeyTypeManager
    - RegisterAesCmacProtoSerialization
    - auto::ok
    - IsFipsModeEnabled
    - absl::make_unique<AesCmacKeyManager>
    - absl::make_unique<MacWrapper>
    - absl::make_unique<HmacKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::util::OkStatus
    - RegisterHmacProtoSerialization
    linkageType: ''
    returnType: util::Status
    signature: util::Status MacConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 27
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HmacParameters::Variant>
    signature: "util::StatusOr<HmacParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - variant
    argTypes:
    - HmacParameters::Variant
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 34
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    HmacParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HashType
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: crypto::tink::ToHashType
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HmacParameters::HashType>
    signature: util::StatusOr<HmacParameters::HashType> ToHashType(HashType hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - HmacParameters::HashType
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 7
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<HashType>
    signature: util::StatusOr<HashType> ToProtoHashType(HmacParameters::HashType hash_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:138,1
    - Dst: HmacKeyFormat::ParseFromString
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:143,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:144,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:145,1
    - Dst: HmacKeyFormat::version
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:148,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:149,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:155,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:155,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:156,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:156,1
    - Dst: crypto::tink::ToHashType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:159,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:159,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:160,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:160,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:162,1
    - Dst: HmacKeyFormat::key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:162,1
    - Dst: HmacKeyFormat::params
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HmacKeyFormat::version
    - util::StatusOr::status
    - crypto::tink::HmacParameters::Create
    - crypto::tink::internal::ExtractStatus
    - HmacKeyFormat::key_size
    - util::StatusOr::ok
    - GetKeyTemplate
    - crypto::tink::ToVariant
    - HmacKeyFormat::params
    - HmacKeyFormat::ParseFromString
    - crypto::tink::ToHashType
    linkageType: ''
    returnType: util::StatusOr<HmacParameters>
    signature: "util::StatusOr<HmacParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:170,1
    - Dst: GetVariant
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:170,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:171,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:171,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:173,1
    - Dst: GetHashType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:173,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:174,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:174,1
    - Dst: HmacParams::set_tag_size
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:177,1
    - Dst: CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:177,1
    - Dst: HmacParams::set_hash
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:178,1
    - Dst: HmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:180,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:180,1
    - Dst: HmacKeyFormat::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:181,1
    - Dst: HmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:182,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:184,1
    - Dst: HmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - HmacParameters
    constantsTouched: []
    func_position:
      end: 186
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 186
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - CryptographicTagSizeInBytes
    - HmacKeyFormat::set_key_size
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::ToProtoHashType
    - HmacParams::set_tag_size
    - HmacParams::set_hash
    - GetVariant
    - util::StatusOr::ok
    - HmacKeyFormat::SerializeAsString
    - GetHashType
    - KeySizeInBytes
    - HmacKeyFormat::mutable_params
    - HmacKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const HmacParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:191,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:192,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:195,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:196,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:201,1
    - Dst: google::crypto::tink::HmacKey::ParseFromString
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:202,1
    - Dst: GetSecret
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:202,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:203,1
    - Dst: google::crypto::tink::HmacKey::version
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:206,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:207,1
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:212,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:212,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:213,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:213,1
    - Dst: crypto::tink::ToHashType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:215,1
    - Dst: google::crypto::tink::HmacKey::params
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:215,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:216,1
    - Dst: crypto::tink::HmacParameters::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:218,1
    - Dst: google::crypto::tink::HmacKey::key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:219,1
    - Dst: google::crypto::tink::HmacKey::params
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:219,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:221,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:221,1
    - Dst: crypto::tink::HmacKey::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:223,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:224,1
    - Dst: google::crypto::tink::HmacKey::key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:224,1
    - Dst: IdRequirement
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:225,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 226
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 226
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::HmacKey::ParseFromString
    - IdRequirement
    - crypto::tink::HmacKey::Create
    - util::StatusOr::ok
    - GetOutputPrefixType
    - GetSecret
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - SerializedKeyProto
    - google::crypto::tink::HmacKey::params
    - crypto::tink::ToHashType
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - crypto::tink::HmacParameters::Create
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToVariant
    - google::crypto::tink::HmacKey::key_value
    - TypeUrl
    - google::crypto::tink::HmacKey::version
    linkageType: ''
    returnType: util::StatusOr<HmacKey>
    signature: "util::StatusOr<HmacKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyBytes
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:231,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:231,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:232,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:233,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:236,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:236,1
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:238,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:238,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:239,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:239,1
    - Dst: HmacParams::set_tag_size
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:242,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:242,1
    - Dst: HmacParams::set_hash
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:243,1
    - Dst: google::crypto::tink::HmacKey::mutable_params
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:245,1
    - Dst: google::crypto::tink::HmacKey::set_version
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:246,1
    - Dst: google::crypto::tink::HmacKey::set_key_value
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:247,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:247,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:250,1
    - Dst: GetParameters
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:250,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:251,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:251,1
    - Dst: RestrictedData
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:254,1
    - Dst: google::crypto::tink::HmacKey::SerializeAsString
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:254,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:255,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - HmacKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 258
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 258
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - util::StatusOr::GetSecret
    - crypto::tink::ToProtoHashType
    - util::StatusOr::ok
    - GetIdRequirement
    - google::crypto::tink::HmacKey::mutable_params
    - GetParameters
    - GetKeyBytes
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::status
    - google::crypto::tink::HmacKey::SerializeAsString
    - crypto::tink::internal::ExtractStatus
    - HmacParams::set_tag_size
    - google::crypto::tink::HmacKey::set_key_value
    - HmacParams::set_hash
    - google::crypto::tink::HmacKey::set_version
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      HmacKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacProtoParametersParserImpl::HmacProtoParametersParserImpl
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: crypto::tink::HmacProtoParametersParser
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HmacProtoParametersParserImpl::HmacProtoParametersParserImpl
    linkageType: ''
    returnType: HmacProtoParametersParserImpl
    signature: HmacProtoParametersParserImpl * HmacProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacProtoParametersSerializerImpl::HmacProtoParametersSerializerImpl
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: crypto::tink::HmacProtoParametersSerializer
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HmacProtoParametersSerializerImpl::HmacProtoParametersSerializerImpl
    linkageType: ''
    returnType: HmacProtoParametersSerializerImpl
    signature: HmacProtoParametersSerializerImpl * HmacProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacProtoKeyParserImpl::HmacProtoKeyParserImpl
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: crypto::tink::HmacProtoKeyParser
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HmacProtoKeyParserImpl::HmacProtoKeyParserImpl
    linkageType: ''
    returnType: HmacProtoKeyParserImpl
    signature: HmacProtoKeyParserImpl * HmacProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacProtoKeySerializerImpl::HmacProtoKeySerializerImpl
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: crypto::tink::HmacProtoKeySerializer
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - HmacProtoKeySerializerImpl::HmacProtoKeySerializerImpl
    linkageType: ''
    returnType: HmacProtoKeySerializerImpl
    signature: HmacProtoKeySerializerImpl * HmacProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:286,1
    - Dst: crypto::tink::HmacProtoParametersParser
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:287,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:288,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:290,1
    - Dst: crypto::tink::HmacProtoParametersSerializer
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:291,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:292,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:294,1
    - Dst: crypto::tink::HmacProtoKeyParser
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:295,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:296,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:298,1
    - Dst: crypto::tink::HmacProtoKeySerializer
      Src: /src/tink/cc/mac/hmac_proto_serialization.cc:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: crypto::tink::RegisterHmacProtoSerialization
    functionSourceFile: /src/tink/cc/mac/hmac_proto_serialization.cc
    functionUses: 15
    functionsReached:
    - crypto::tink::HmacProtoKeyParser
    - util::Status::ok
    - crypto::tink::HmacProtoParametersParser
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::HmacProtoKeySerializer
    - crypto::tink::HmacProtoParametersSerializer
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterHmacProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:41,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:47,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:53,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:55,1
    - Dst: std::set<Variant>::set<Variant>
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:59,1
    - Dst: std::set*::find
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:61,1
    - Dst: std::set*::end
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:61,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:62,1
    - Dst: crypto::tink::AesCmacParameters::AesCmacParameters
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - key_size_in_bytes
    - cryptographic_tag_size_in_bytes
    - variant
    argTypes:
    - int
    - int
    - Variant
    constantsTouched: []
    func_position:
      end: 68
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 68
    functionName: crypto::tink::AesCmacParameters::Create
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.cc
    functionUses: 34
    functionsReached:
    - std::set*::find
    - std::set<Variant>::set<Variant>
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - absl::StrCat
    - crypto::tink::AesCmacParameters::AesCmacParameters
    linkageType: ''
    returnType: util::StatusOr<AesCmacParameters>
    signature: "util::StatusOr<AesCmacParameters> AesCmacParameters::Create(\n    int
      key_size_in_bytes, int cryptographic_tag_size_in_bytes,\n    Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AesCmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:75,1
    - Dst: crypto::tink::AesCmacParameters::CryptographicTagSizeInBytes
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:77,1
    - Dst: crypto::tink::internal::LogFatal
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: crypto::tink::AesCmacParameters::TotalTagSizeInBytes
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::AesCmacParameters::CryptographicTagSizeInBytes
    - crypto::tink::internal::LogFatal
    linkageType: ''
    returnType: int
    signature: int AesCmacParameters::TotalTagSizeInBytes() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const AesCmacParameters*>
      Src: /src/tink/cc/mac/aes_cmac_parameters.cc:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: AesCmacParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/mac/aes_cmac_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const AesCmacParameters*>
    linkageType: ''
    returnType: bool
    signature: bool AesCmacParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:47,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:47,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:48,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:50,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:50,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - AesCmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:55,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:55,1
    - Dst: AesCmacKey
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:55,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacKey
    - Not
    - IsOk
    - AesCmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacParams::set_tag_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: crypto::tink::ValidParams
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacParams::set_tag_size
    linkageType: ''
    returnType: AesCmacParams
    signature: AesCmacParams ValidParams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:66,1
    - Dst: crypto::tink::ValidParams
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:66,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 33
    functionsReached:
    - crypto::tink::ValidParams
    - AesCmacKeyFormat::set_key_size
    - AesCmacKeyFormat::mutable_params
    linkageType: ''
    returnType: AesCmacKeyFormat
    signature: AesCmacKeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:72,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:72,1
    - Dst: AesCmacKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:72,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKeyManager
    - EXPECT_THAT
    - AesCmacKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:77,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:77,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - AesCmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateSimpleKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:81,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:84,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:84,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:84,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:87,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:87,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:87,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:90,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:90,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:90,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:93,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:93,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:93,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:93,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:96,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:96,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:96,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:99,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:99,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:99,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:102,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:102,1
    - Dst: AesCmacKeyFormat::set_key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:105,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:105,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 106
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - AesCmacKeyFormat::set_key_size
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKeyFormatKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:109,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:112,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:112,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:112,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:115,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:115,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:115,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:118,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:118,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:121,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:121,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:124,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:124,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:127,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:127,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:130,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:130,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:133,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:133,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:133,1
    - Dst: AesCmacKeyFormat::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:136,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:136,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - AesCmacKeyFormat::mutable_params
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKeyFormatTagSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:141,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:141,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:143,1
    - Dst: AesCmacKey::version
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:143,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:144,1
    - Dst: AesCmacKey::key_value
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:144,1
    - Dst: SizeIs
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:144,1
    - Dst: AesCmacKeyFormat::key_size
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:145,1
    - Dst: AesCmacKey::params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:145,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:145,1
    - Dst: AesCmacKeyFormat::params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - AesCmacKey::key_value
    - AesCmacKey::params
    - IsOk
    - AesCmacKeyFormat::key_size
    - AesCmacKey::version
    - AesCmacKeyManager
    - ASSERT_THAT
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - AesCmacKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:149,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:151,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - AesCmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:155,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:156,1
    - Dst: AesCmacKey::set_version
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:158,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:158,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKeyManager
    - AesCmacKey::set_version
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKeyInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:162,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:163,1
    - Dst: AesCmacKey::set_key_value
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:165,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:165,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    - AesCmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKeyShortKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:169,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:170,1
    - Dst: AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:172,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:172,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKey::mutable_params
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKeyLongTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:177,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:178,1
    - Dst: AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:180,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:180,1
    - Dst: Not
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - AesCmacKey::mutable_params
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, ValidateKeyTooShortTagSize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:184,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:185,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:187,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:189,1
    - Dst: crypto::tink::subtle::AesCmacBoringSsl::New
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:191,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:192,1
    - Dst: AesCmacKey::key_value
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:192,1
    - Dst: AesCmacKey::params
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:194,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:195,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCmacKey::key_value
    - AesCmacKey::params
    - IsOk
    - ASSERT_THAT
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - crypto::tink::subtle::AesCmacBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, GetMacPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:200,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:201,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:205,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:210,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:211,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:211,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:212,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:213,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:213,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:218,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:219,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:220,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - Update
    - EXPECT_THAT
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, GetChunkedMacPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:224,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:225,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:229,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:233,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:237,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:243,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:244,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:244,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:244,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:247,1
    - Dst: Eq
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:247,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:250,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:250,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:256,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:257,1
    - Dst: Update
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:257,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:258,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/aes_cmac_key_manager_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 259
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - AesCmacKeyManager
    - crypto::tink::ValidKeyFormat
    - Update
    - EXPECT_THAT
    - Eq
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AesCmacKeyManagerTest, MixPrimitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:35,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/failing_mac_test.cc:37,1
    - Dst: std::unique_ptr::ComputeMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:37,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/failing_mac_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/failing_mac_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ComputeMac
    - crypto::tink::CreateAlwaysFailingMac
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailMac, ComputeMacFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:44,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/failing_mac_test.cc:46,1
    - Dst: std::unique_ptr::ComputeMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:47,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/failing_mac_test.cc:48,1
    - Dst: HasSubstr
      Src: /src/tink/cc/mac/failing_mac_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/failing_mac_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::ComputeMac
    - crypto::tink::CreateAlwaysFailingMac
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailMac, ComputeMacFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/failing_mac_test.cc:54,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:54,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/failing_mac_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/failing_mac_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingMac
    - EXPECT_THAT
    - std::unique_ptr::VerifyMac
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailMac, VerifyMacFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateAlwaysFailingMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/failing_mac_test.cc:63,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/mac/failing_mac_test.cc:64,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/failing_mac_test.cc:65,1
    - Dst: HasSubstr
      Src: /src/tink/cc/mac/failing_mac_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/mac/failing_mac_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreateAlwaysFailingMac
    - EXPECT_THAT
    - HasSubstr
    - StatusIs
    - std::unique_ptr::VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(AlwaysFailMac, VerifyMacFailsContainsMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:64,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:64,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:67,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:67,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:70,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:71,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:74,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:75,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:78,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:79,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:85,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:86,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:86,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:87,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:91,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:91,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:96,1
    - Dst: Eq
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:96,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:102,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:103,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:104,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - CreateComputation
    - GetPrimitive
    - crypto::tink::MacConfig::Register
    - IsOk
    - ComputeMac
    - KeyTemplate::set_output_prefix_type
    - CreateVerification
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - std::tie
    - Update
    - EXPECT_THAT
    - GetParam
    - Eq
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChunkedMacCompatibilityTest, ComputeAndVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:108,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:108,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:110,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:111,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:112,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:115,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:116,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:122,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:123,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:124,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:124,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:126,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:132,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:133,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:134,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - MacKeyTemplates::HmacSha256
    - CreateComputation
    - GetPrimitive
    - crypto::tink::MacConfig::Register
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - Update
    - EXPECT_THAT
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacSlicingTest, DifferentChunkSizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:138,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:138,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:140,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:141,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:142,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:145,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:146,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:151,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:151,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:153,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:158,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:159,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:159,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 161
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - MacKeyTemplates::HmacSha256
    - CreateComputation
    - GetPrimitive
    - crypto::tink::MacConfig::Register
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - Update
    - EXPECT_THAT
    - StatusIs
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacTest, VerifyPrefixFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:164,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:164,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:166,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:167,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:168,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:171,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:172,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:177,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:178,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:178,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:180,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:185,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:186,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:187,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:187,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 189
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - MacKeyTemplates::HmacSha256
    - CreateComputation
    - GetPrimitive
    - crypto::tink::MacConfig::Register
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - Update
    - EXPECT_THAT
    - StatusIs
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacTest, UpdateWrongOrderFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:192,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:192,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:194,1
    - Dst: MacKeyTemplates::HmacSha256
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:195,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:196,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:199,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:200,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:204,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:205,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:206,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:206,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:211,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:211,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:213,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:213,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:214,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:219,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:220,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:220,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:221,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:224,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:224,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:226,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:226,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 228
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - MacKeyTemplates::HmacSha256
    - CreateComputation
    - GetPrimitive
    - crypto::tink::MacConfig::Register
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - Update
    - EXPECT_THAT
    - StatusIs
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacTest, OperationsFailAfterComputeVerifyMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/mac/internal/key_gen_config_v0.cc:31,1
    - Dst: absl::make_unique<AesCmacKeyManager>
      Src: /src/tink/cc/mac/internal/key_gen_config_v0.cc:32,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/key_gen_config_v0.cc:33,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/mac/internal/key_gen_config_v0.cc:36,1
    - Dst: absl::make_unique<HmacKeyManager>
      Src: /src/tink/cc/mac/internal/key_gen_config_v0.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: crypto::tink::internal::AddMacKeyGenV0
    functionSourceFile: /src/tink/cc/mac/internal/key_gen_config_v0.cc
    functionUses: 2
    functionsReached:
    - absl::make_unique<HmacKeyManager>
    - util::Status::ok
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    - absl::make_unique<AesCmacKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddMacKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCmacParams::set_tag_size
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:68,1
    - Dst: AesCmacKey::mutable_params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:72,1
    - Dst: crypto::tink::internal::NewChunkedCmac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesCmacKey::mutable_params
    - crypto::tink::internal::NewChunkedCmac
    - AesCmacParams::set_tag_size
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacFactoryTest, NewChunkedCmacSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:76,1
    - Dst: crypto::tink::internal::NewChunkedCmac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:76,1
    - Dst: AesCmacKey
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:76,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc: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: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - AesCmacKey
    - crypto::tink::internal::NewChunkedCmac
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacFactoryTest, NewChunkedCmacWithMissingKeyParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HmacParams::set_hash
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:82,1
    - Dst: HmacParams::set_tag_size
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:83,1
    - Dst: HmacKey::mutable_params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:85,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:87,1
    - Dst: crypto::tink::internal::NewChunkedHmac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey::mutable_params
    - IsOk
    - HmacParams::set_tag_size
    - HmacParams::set_hash
    - EXPECT_THAT
    - crypto::tink::internal::NewChunkedHmac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacFactoryTest, NewChunkedHmacSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:91,1
    - Dst: crypto::tink::internal::NewChunkedHmac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:91,1
    - Dst: HmacKey
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:91,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - HmacKey
    - EXPECT_THAT
    - crypto::tink::internal::NewChunkedHmac
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacFactoryTest, NewChunkedHmacWithMissingKeyParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMacFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:96,1
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:97,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:98,1
    - Dst: Create
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:98,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:100,1
    - Dst: ByMove
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:100,1
    - Dst: util::StatusOr<std::unique_ptr<subtle::StatefulMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:104,1
    - Dst: ChunkedMacImpl::CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - Create
    - ByMove
    - absl::make_unique<MockStatefulMac>
    - absl::make_unique<MockStatefulMacFactory>
    - IsOk
    - EXPECT_CALL
    - std::move
    - util::StatusOr<std::unique_ptr<subtle::StatefulMac>>
    - ChunkedMacImpl::CreateComputation
    - EXPECT_THAT
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacImplTest, CreateComputationSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMacFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:108,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:110,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:111,1
    - Dst: Create
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:111,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:112,1
    - Dst: ByMove
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:115,1
    - Dst: ChunkedMacImpl::CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:115,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - Create
    - ByMove
    - absl::make_unique<MockStatefulMacFactory>
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - std::move
    - ChunkedMacImpl::CreateComputation
    - EXPECT_THAT
    - StatusIs
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacImplTest, CreateComputationWithFactoryErrorFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMacFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:120,1
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:121,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:122,1
    - Dst: Create
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:122,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:124,1
    - Dst: ByMove
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:124,1
    - Dst: util::StatusOr<std::unique_ptr<subtle::StatefulMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:124,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:128,1
    - Dst: ChunkedMacImpl::CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - Create
    - ByMove
    - absl::make_unique<MockStatefulMac>
    - absl::make_unique<MockStatefulMacFactory>
    - IsOk
    - EXPECT_CALL
    - std::move
    - util::StatusOr<std::unique_ptr<subtle::StatefulMac>>
    - EXPECT_THAT
    - ChunkedMacImpl::CreateVerification
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacImplTest, CreateVerificationSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMacFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:132,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:134,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:135,1
    - Dst: Create
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:135,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:136,1
    - Dst: ByMove
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:136,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:139,1
    - Dst: ChunkedMacImpl::CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:139,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - Create
    - ByMove
    - absl::make_unique<MockStatefulMacFactory>
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - std::move
    - EXPECT_THAT
    - ChunkedMacImpl::CreateVerification
    - StatusIs
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacImplTest, CreateVerificationWithFactoryErrorFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:145,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:145,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:145,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:148,1
    - Dst: ChunkedMacComputationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - ChunkedMacComputationImpl::Update
    - absl::make_unique<MockStatefulMac>
    - IsOk
    - EXPECT_CALL
    - crypto::tink::util::OkStatus
    - Update
    - EXPECT_THAT
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacComputationImplTest, UpdateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:152,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:155,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:155,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:158,1
    - Dst: ChunkedMacComputationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:158,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:158,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - ChunkedMacComputationImpl::Update
    - absl::make_unique<MockStatefulMac>
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - Update
    - EXPECT_THAT
    - StatusIs
    - Return
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacComputationImplTest, UpdateFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:162,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:163,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:164,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:164,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:167,1
    - Dst: ChunkedMacComputationImpl::ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:167,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:169,1
    - Dst: ChunkedMacComputationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:169,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:171,1
    - Dst: ChunkedMacComputationImpl::ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:171,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 173
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - ChunkedMacComputationImpl::Update
    - absl::make_unique<MockStatefulMac>
    - std::string
    - EXPECT_CALL
    - Finalize
    - EXPECT_THAT
    - IsOkAndHolds
    - StatusIs
    - Return
    - ChunkedMacComputationImpl::ComputeMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacComputationImplTest, OperationsFailAfterComputeMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:176,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:178,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:178,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:178,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:181,1
    - Dst: ChunkedMacComputationImpl::ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:181,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - std::string
    - EXPECT_CALL
    - Finalize
    - EXPECT_THAT
    - IsOkAndHolds
    - Return
    - ChunkedMacComputationImpl::ComputeMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacComputationImplTest, ComputeMacSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:185,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:188,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:188,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:191,1
    - Dst: ChunkedMacComputationImpl::ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:191,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:192,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - Finalize
    - EXPECT_THAT
    - StatusIs
    - Return
    - ChunkedMacComputationImpl::ComputeMac
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacComputationImplTest, ComputeMacFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:196,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:197,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:197,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:197,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:200,1
    - Dst: ChunkedMacVerificationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - IsOk
    - EXPECT_CALL
    - std::move
    - crypto::tink::util::OkStatus
    - Update
    - EXPECT_THAT
    - ChunkedMacVerificationImpl::Update
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, UpdateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:204,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:206,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:207,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:207,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:207,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:210,1
    - Dst: ChunkedMacVerificationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:210,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:210,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - std::move
    - Update
    - EXPECT_THAT
    - ChunkedMacVerificationImpl::Update
    - StatusIs
    - Return
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, UpdateFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:214,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:215,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:216,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:216,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:216,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:219,1
    - Dst: ChunkedMacVerificationImpl::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - std::string
    - ChunkedMacVerificationImpl::VerifyMac
    - IsOk
    - EXPECT_CALL
    - std::move
    - Finalize
    - EXPECT_THAT
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, VerifyMacSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:223,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:225,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:225,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:225,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:229,1
    - Dst: ChunkedMacVerificationImpl::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:229,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - std::string
    - ChunkedMacVerificationImpl::VerifyMac
    - EXPECT_CALL
    - std::move
    - Finalize
    - EXPECT_THAT
    - StatusIs
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, VerifyMacFailsWithInvalidSameLengthTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:234,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:235,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:236,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:236,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:236,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:240,1
    - Dst: ChunkedMacVerificationImpl::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:240,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - std::string
    - ChunkedMacVerificationImpl::VerifyMac
    - EXPECT_CALL
    - std::move
    - Finalize
    - EXPECT_THAT
    - StatusIs
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, VerifyMacFailsWithDifferentLengthTag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:245,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:247,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:248,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:248,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:248,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:251,1
    - Dst: ChunkedMacVerificationImpl::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:251,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:251,1
    - Dst: util::Status::code
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - ChunkedMacVerificationImpl::VerifyMac
    - crypto::tink::internal::ExtractStatus
    - EXPECT_CALL
    - std::move
    - Finalize
    - EXPECT_THAT
    - StatusIs
    - Return
    - util::Status::code
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, VerifyMacFailsWithFinalizeError)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MockStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:255,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:257,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:257,1
    - Dst: Return
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:257,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:260,1
    - Dst: ChunkedMacVerificationImpl::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:262,1
    - Dst: ChunkedMacVerificationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:262,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:264,1
    - Dst: ChunkedMacVerificationImpl::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:264,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<MockStatefulMac>
    - std::string
    - ChunkedMacVerificationImpl::VerifyMac
    - IsOk
    - EXPECT_CALL
    - std::move
    - Finalize
    - EXPECT_THAT
    - ChunkedMacVerificationImpl::Update
    - StatusIs
    - Return
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacVerificationImplTest, OperationsFailAfterVerifyMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - computation
    - tag_prefix
    - output_prefix_type
    argTypes:
    - std::unique_ptr<ChunkedMacComputation>
    - absl::string_view
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: crypto::tink::internal::ChunkedMacComputationSetWrapper::ChunkedMacComputationSetWrapper
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacComputationSetWrapper(\n      std::unique_ptr<ChunkedMacComputation>
      computation,\n      absl::string_view tag_prefix, OutputPrefixType output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ChunkedMacComputationSetWrapper::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: crypto::tink::internal::ChunkedMacComputationSetWrapper::Update
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ChunkedMacComputationSetWrapper::Update
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacComputationSetWrapper::Update(absl::string_view
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ChunkedMacComputationSetWrapper::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:68,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:68,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:69,1
    - Dst: crypto::tink::internal::ChunkedMacComputationSetWrapper::ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:71,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:72,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: crypto::tink::internal::ChunkedMacComputationSetWrapper::ComputeMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - util::Status::ok
    - std::string
    - crypto::tink::internal::ChunkedMacComputationSetWrapper::Update
    - util::StatusOr::status
    - crypto::tink::internal::ChunkedMacComputationSetWrapper::ComputeMac
    - util::StatusOr::ok
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ChunkedMacComputationSetWrapper::ComputeMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - verification
    - output_prefix_type
    argTypes:
    - std::unique_ptr<ChunkedMacVerification>
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: crypto::tink::internal::ChunkedMacVerificationWithPrefixType::ChunkedMacVerificationWithPrefixType
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacVerificationWithPrefixType(\n      std::unique_ptr<ChunkedMacVerification>
      verification,\n      OutputPrefixType output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ChunkedMacVerificationWithPrefixType::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: crypto::tink::internal::ChunkedMacVerificationWithPrefixType::Update
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ChunkedMacVerificationWithPrefixType::Update
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ChunkedMacVerificationWithPrefixType::Update(\n    absl::string_view
      data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ChunkedMacVerificationWithPrefixType::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:100,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:100,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:101,1
    - Dst: crypto::tink::internal::ChunkedMacVerificationWithPrefixType::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: crypto::tink::internal::ChunkedMacVerificationWithPrefixType::VerifyMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ChunkedMacVerificationWithPrefixType::VerifyMac
    - util::Status::ok
    - crypto::tink::internal::ChunkedMacVerificationWithPrefixType::Update
    - std::string
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacVerificationWithPrefixType::VerifyMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - verifications
    argTypes:
    - "std::unique_ptr<\n          std::vector<std::unique_ptr<ChunkedMacVerificationWithPrefixType>>>"
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: crypto::tink::internal::ChunkedMacVerificationSetWrapper::ChunkedMacVerificationSetWrapper
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacVerificationSetWrapper(\n      std::unique_ptr<\n          std::vector<std::unique_ptr<ChunkedMacVerificationWithPrefixType>>>\n
      \         verifications)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:126,1
    - Dst: crypto::tink::internal::ChunkedMacVerificationSetWrapper::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:128,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:129,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: crypto::tink::internal::ChunkedMacVerificationSetWrapper::Update
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ChunkedMacVerificationSetWrapper::Update
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - util::Status::ok
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacVerificationSetWrapper::Update(absl::string_view
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ChunkedMacVerificationSetWrapper::VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:139,1
    - Dst: absl::Status::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: crypto::tink::internal::ChunkedMacVerificationSetWrapper::VerifyMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 1
    functionsReached:
    - absl::Status::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::ChunkedMacVerificationSetWrapper::VerifyMac
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacVerificationSetWrapper::VerifyMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mac_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<ChunkedMac>>
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: crypto::tink::internal::ChunkedMacSetWrapper::ChunkedMacSetWrapper
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacSetWrapper(\n      std::unique_ptr<PrimitiveSet<ChunkedMac>>
      mac_set)"
  - 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: ~ChunkedMacSetWrapper() override
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ChunkedMacSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:168,1
    - Dst: PrimitiveSet<ChunkedMac>*::get_primary
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:171,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:172,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - mac_set
    argTypes:
    - PrimitiveSet<ChunkedMac>*
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: crypto::tink::internal::Validate
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - PrimitiveSet<ChunkedMac>*::get_primary
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<ChunkedMac>* mac_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:181,1
    - Dst: PrimitiveSet<ChunkedMac>::Entry*::get_primitive
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:183,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:184,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:184,1
    - Dst: absl::make_unique<ChunkedMacComputationSetWrapper>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:185,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:186,1
    - Dst: PrimitiveSet<ChunkedMac>::Entry*::get_identifier
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:186,1
    - Dst: PrimitiveSet<ChunkedMac>::Entry*::get_output_prefix_type
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: crypto::tink::internal::ChunkedMacSetWrapper::CreateComputation
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_primary
    - util::StatusOr::status
    - absl::make_unique<ChunkedMacComputationSetWrapper>
    - std::move
    - util::StatusOr::ok
    - PrimitiveSet<ChunkedMac>::Entry*::get_identifier
    - PrimitiveSet<ChunkedMac>::Entry*::get_output_prefix_type
    - PrimitiveSet<ChunkedMac>::Entry*::get_primitive
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMacComputation>>
    signature: util::StatusOr<std::unique_ptr<ChunkedMacComputation>> ChunkedMacSetWrapper::CreateComputation()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EnsureStringNonNull
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:192,1
    - Dst: "absl::make_unique<\n      std::vector<std::unique_ptr<ChunkedMacVerificationWithPrefixType>>>"
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:194,1
    - Dst: absl::string_view::length
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:199,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:200,1
    - Dst: get_primitives
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:201,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:202,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:203,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:204,1
    - Dst: get_primitive
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:206,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:207,1
    - Dst: absl::make_unique<ChunkedMacVerificationWithPrefixType>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:209,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:210,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:211,1
    - Dst: auto::push_back
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:212,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:212,1
    - Dst: get_raw_primitives
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:219,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:220,1
    - Dst: auto::value
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:221,1
    - Dst: get_primitive
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:223,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:224,1
    - Dst: absl::make_unique<ChunkedMacVerificationWithPrefixType>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:226,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:227,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:227,1
    - Dst: auto::push_back
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:228,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:228,1
    - Dst: absl::make_unique<ChunkedMacVerificationSetWrapper>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:233,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - tag
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 235
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 235
    functionName: crypto::tink::internal::ChunkedMacSetWrapper::CreateVerification
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_output_prefix_type
    - "absl::make_unique<\n      std::vector<std::unique_ptr<ChunkedMacVerificationWithPrefixType>>>"
    - get_primitive
    - get_raw_primitives
    - auto::ok
    - absl::make_unique<ChunkedMacVerificationSetWrapper>
    - absl::make_unique<ChunkedMacVerificationWithPrefixType>
    - get_primitives
    - std::move
    - absl::string_view::length
    - crypto::tink::internal::EnsureStringNonNull
    - absl::string_view::substr
    - auto::value
    - util::StatusOr::ok
    - auto::push_back
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMacVerification>>
    signature: util::StatusOr<std::unique_ptr<ChunkedMacVerification>> ChunkedMacSetWrapper::CreateVerification(absl::string_view
      tag) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:241,1
    - Dst: std::unique_ptr<PrimitiveSet<ChunkedMac>>::get
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:241,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:242,1
    - Dst: absl::make_unique<ChunkedMacSetWrapper>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:243,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mac_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<ChunkedMac>>
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: crypto::tink::internal::ChunkedMacWrapper::Wrap
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<ChunkedMac>>::get
    - util::Status::ok
    - std::move
    - absl::make_unique<ChunkedMacSetWrapper>
    - Validate
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMac>>
    signature: "util::StatusOr<std::unique_ptr<ChunkedMac>> ChunkedMacWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<ChunkedMac>> mac_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:47,1
    - Dst: crypto::tink::internal::ChunkedMacComputationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: crypto::tink::internal::ChunkedMacComputationImpl::Update
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 1
    functionsReached:
    - ok
    - crypto::tink::internal::ChunkedMacComputationImpl::Update
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacComputationImpl::Update(absl::string_view data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:53,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: crypto::tink::internal::ChunkedMacComputationImpl::ComputeMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 0
    functionsReached:
    - ok
    - crypto::tink::internal::ExtractStatus
    - Finalize
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ChunkedMacComputationImpl::ComputeMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:59,1
    - Dst: crypto::tink::internal::ChunkedMacVerificationImpl::Update
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: crypto::tink::internal::ChunkedMacVerificationImpl::Update
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 1
    functionsReached:
    - ok
    - crypto::tink::internal::ChunkedMacVerificationImpl::Update
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacVerificationImpl::Update(absl::string_view data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:64,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:65,1
    - Dst: Finalize
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:67,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:68,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:69,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:71,1
    - Dst: size
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:72,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:75,1
    - Dst: util::StatusOr::data
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:75,1
    - Dst: data
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:75,1
    - Dst: util::StatusOr::size
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:76,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: crypto::tink::internal::ChunkedMacVerificationImpl::VerifyMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 0
    functionsReached:
    - CRYPTO_memcmp
    - util::StatusOr::status
    - size
    - crypto::tink::internal::ExtractStatus
    - ok
    - Finalize
    - util::StatusOr::ok
    - util::StatusOr::size
    - crypto::tink::util::OkStatus
    - data
    - util::StatusOr::data
    linkageType: ''
    returnType: util::Status
    signature: util::Status ChunkedMacVerificationImpl::VerifyMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Create
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:86,1
    - Dst: std::unique_ptr<ChunkedMacComputation>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:88,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:89,1
    - Dst: ChunkedMacComputationImpl::ChunkedMacComputationImpl
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: crypto::tink::internal::ChunkedMacImpl::CreateComputation
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 0
    functionsReached:
    - Create
    - util::StatusOr::status
    - ChunkedMacComputationImpl::ChunkedMacComputationImpl
    - std::move
    - util::StatusOr::ok
    - std::unique_ptr<ChunkedMacComputation>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMacComputation>>
    signature: util::StatusOr<std::unique_ptr<ChunkedMacComputation>> ChunkedMacImpl::CreateComputation()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Create
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:95,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:96,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:96,1
    - Dst: std::unique_ptr<ChunkedMacVerification>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:99,1
    - Dst: ChunkedMacVerificationImpl::ChunkedMacVerificationImpl
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tag
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: crypto::tink::internal::ChunkedMacImpl::CreateVerification
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 0
    functionsReached:
    - Create
    - ChunkedMacVerificationImpl::ChunkedMacVerificationImpl
    - util::StatusOr::status
    - std::move
    - util::StatusOr::ok
    - std::unique_ptr<ChunkedMacVerification>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMacVerification>>
    signature: util::StatusOr<std::unique_ptr<ChunkedMacVerification>> ChunkedMacImpl::CreateVerification(absl::string_view
      tag) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:105,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:109,1
    - Dst: key_value
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:109,1
    - Dst: absl::make_unique<subtle::StatefulCmacBoringSslFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:111,1
    - Dst: params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:112,1
    - Dst: std::unique_ptr<ChunkedMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:113,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:114,1
    - Dst: ChunkedMacImpl::ChunkedMacImpl
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesCmacKey
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: crypto::tink::internal::NewChunkedCmac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 3
    functionsReached:
    - absl::make_unique<subtle::StatefulCmacBoringSslFactory>
    - has_params
    - crypto::tink::internal::ExtractStatus
    - key_value
    - std::move
    - params
    - ChunkedMacImpl::ChunkedMacImpl
    - crypto::tink::util::SecretDataFromStringView
    - std::unique_ptr<ChunkedMac>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMac>>
    signature: "util::StatusOr<std::unique_ptr<ChunkedMac>> NewChunkedCmac(\n    const
      AesCmacKey& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:118,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:119,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:122,1
    - Dst: params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:122,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:124,1
    - Dst: key_value
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:124,1
    - Dst: absl::make_unique<subtle::StatefulHmacBoringSslFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:126,1
    - Dst: params
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:127,1
    - Dst: std::unique_ptr<ChunkedMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:128,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:129,1
    - Dst: ChunkedMacImpl::ChunkedMacImpl
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.cc:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - HmacKey
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: crypto::tink::internal::NewChunkedHmac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.cc
    functionUses: 3
    functionsReached:
    - has_params
    - absl::make_unique<subtle::StatefulHmacBoringSslFactory>
    - crypto::tink::internal::ExtractStatus
    - key_value
    - std::move
    - params
    - ChunkedMacImpl::ChunkedMacImpl
    - crypto::tink::util::SecretDataFromStringView
    - std::unique_ptr<ChunkedMac>
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<ChunkedMac>>
    signature: util::StatusOr<std::unique_ptr<ChunkedMac>> NewChunkedHmac(const HmacKey&
      key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:53,1
    - Dst: crypto::tink::internal::AddMacV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:53,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:53,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:55,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:58,1
    - Dst: Get
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:59,1
    - Dst: Get
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - crypto::tink::internal::AddMacV0
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(MacV0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:64,1
    - Dst: crypto::tink::internal::AddMacV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:64,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:70,1
    - Dst: crypto::tink::internal::AddMacKeyGenV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:70,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:76,1
    - Dst: Get
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:76,1
    - Dst: AesCmacKeyManager
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:77,1
    - Dst: Get
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:77,1
    - Dst: HmacKeyManager
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::AddMacKeyGenV0
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - ASSERT_THAT
    - Get
    - AesCmacKeyManager
    - crypto::tink::internal::AddMacV0
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - HmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(MacV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:89,1
    - Dst: crypto::tink::internal::AddMacKeyGenV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:91,1
    - Dst: crypto::tink::internal::AddMacV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:91,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:94,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:95,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:99,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:104,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/mac/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::internal::AddMacKeyGenV0
    - GetPrimitive
    - IsOk
    - ComputeMac
    - ASSERT_THAT
    - crypto::tink::internal::AddMacV0
    - EXPECT_THAT
    - GetParam
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(MacV0KeyTypesTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:109,1
    - Dst: crypto::tink::internal::AddMacKeyGenV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:111,1
    - Dst: crypto::tink::internal::AddMacV0
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:111,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:114,1
    - Dst: GetParam
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:115,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:119,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:127,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:128,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:128,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:130,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:135,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:136,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:137,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/config_v0_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 138
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/mac/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - CreateComputation
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::internal::AddMacKeyGenV0
    - GetPrimitive
    - IsOk
    - ComputeMac
    - CreateVerification
    - ASSERT_THAT
    - crypto::tink::internal::AddMacV0
    - Update
    - EXPECT_THAT
    - GetParam
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(MacV0KeyTypesTest, GetPrimitiveChunkedMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stateful_mac
    argTypes:
    - std::unique_ptr<subtle::StatefulMac>
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: crypto::tink::internal::ChunkedMacComputationImpl::ChunkedMacComputationImpl
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacComputationImpl(\n      std::unique_ptr<subtle::StatefulMac>
      stateful_mac)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stateful_mac
    - tag
    argTypes:
    - std::unique_ptr<subtle::StatefulMac>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: crypto::tink::internal::ChunkedMacVerificationImpl::ChunkedMacVerificationImpl
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacVerificationImpl(\n      std::unique_ptr<subtle::StatefulMac>
      stateful_mac, absl::string_view tag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_impl.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - stateful_mac_factory
    argTypes:
    - std::unique_ptr<subtle::StatefulMacFactory>
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: crypto::tink::internal::ChunkedMacImpl::ChunkedMacImpl
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void ChunkedMacImpl(\n      std::unique_ptr<subtle::StatefulMacFactory>
      stateful_mac_factory)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: crypto::tink::internal::FakeStatefulMac::FakeStatefulMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeStatefulMac(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrAppend
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:57,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: crypto::tink::internal::FakeStatefulMac::Update
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::OkStatus
    - absl::StrAppend
    linkageType: ''
    returnType: util::Status
    signature: util::Status Update(absl::string_view data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc: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: crypto::tink::internal::FakeStatefulMac::Finalize
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> Finalize() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: crypto::tink::internal::FakeStatefulMacFactory::FakeStatefulMacFactory
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FakeStatefulMacFactory(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<subtle::StatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:75,1
    - Dst: absl::make_unique<FakeStatefulMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: crypto::tink::internal::FakeStatefulMacFactory::Create
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<subtle::StatefulMac>
    - absl::make_unique<FakeStatefulMac>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<subtle::StatefulMac>>
    signature: util::StatusOr<std::unique_ptr<subtle::StatefulMac>> Create() const
      override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:84,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:84,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - ChunkedMacWrapper
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrimitiveSet<ChunkedMac>::PrimitiveSet<ChunkedMac>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:91,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:91,1
    - Dst: StatusIs
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - EXPECT_THAT
    - StatusIs
    - ChunkedMacWrapper
    - PrimitiveSet<ChunkedMac>::PrimitiveSet<ChunkedMac>
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<ChunkedMacImpl>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:96,1
    - Dst: absl::make_unique<FakeStatefulMacFactory>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: crypto::tink::internal::CreateFakeChunkedMac
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<ChunkedMacImpl>
    - absl::make_unique<FakeStatefulMacFactory>
    linkageType: ''
    returnType: std::unique_ptr<ChunkedMac>
    signature: std::unique_ptr<ChunkedMac> CreateFakeChunkedMac(absl::string_view
      name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_key_info
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:106,1
    - Dst: KeysetInfo::KeyInfo*::set_output_prefix_type
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:107,1
    - Dst: KeysetInfo::KeyInfo*::set_key_id
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:108,1
    - Dst: KeysetInfo::KeyInfo*::set_status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:109,1
    - Dst: AddPrimitive
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:112,1
    - Dst: key_info
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:112,1
    - Dst: auto::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:113,1
    - Dst: auto::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:114,1
    - Dst: set_primary
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:117,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:118,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - key_id
    - set_primary
    - output_prefix_type
    - mac
    - ' keyset_info'
    - ' mac_set'
    argTypes:
    - uint32_t
    - bool
    - OutputPrefixType
    - std::unique_ptr<ChunkedMac>
    - KeysetInfo
    - PrimitiveSet<ChunkedMac>
    constantsTouched: []
    func_position:
      end: 123
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 123
    functionName: crypto::tink::internal::AddPrimitiveToSet
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - util::Status::ok
    - key_info
    - auto::ok
    - std::move
    - add_key_info
    - KeysetInfo::KeyInfo*::set_key_id
    - KeysetInfo::KeyInfo*::set_status
    - set_primary
    - KeysetInfo::KeyInfo*::set_output_prefix_type
    - crypto::tink::util::OkStatus
    - AddPrimitive
    linkageType: ''
    returnType: util::Status
    signature: "util::Status AddPrimitiveToSet(uint32_t key_id, bool set_primary,\n
      \                              OutputPrefixType output_prefix_type,\n                               std::unique_ptr<ChunkedMac>
      mac,\n                               KeysetInfo& keyset_info,\n                               PrimitiveSet<ChunkedMac>&
      mac_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<ChunkedMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:130,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:131,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:135,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:136,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:140,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:141,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:144,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:148,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:149,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:149,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:149,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:153,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:154,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:154,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:155,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:158,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:158,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<ChunkedMac>>
    - CreateComputation
    - crypto::tink::internal::CreateFakeChunkedMac
    - std::string
    - crypto::tink::internal::AddPrimitiveToSet
    - util::StatusOr::status
    - IsOk
    - ComputeMac
    - std::move
    - ASSERT_THAT
    - Update
    - EXPECT_THAT
    - IsOkAndHolds
    - absl::StrCat
    - ChunkedMacWrapper
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacWrapperTest, ComputeMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<ChunkedMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:166,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:167,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:171,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:172,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:176,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:177,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:180,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:184,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:185,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:185,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:187,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:190,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:192,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:193,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:194,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<ChunkedMac>>
    - crypto::tink::internal::CreateFakeChunkedMac
    - std::string
    - crypto::tink::internal::AddPrimitiveToSet
    - util::StatusOr::status
    - IsOk
    - std::move
    - CreateVerification
    - ASSERT_THAT
    - Update
    - EXPECT_THAT
    - absl::StrCat
    - ChunkedMacWrapper
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacWrapperTest, VerifyMacWithUniquePrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<ChunkedMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:202,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:203,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:207,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:208,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:212,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:213,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:216,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:220,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:221,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:221,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:223,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:226,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:228,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:229,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:230,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<ChunkedMac>>
    - crypto::tink::internal::CreateFakeChunkedMac
    - std::string
    - crypto::tink::internal::AddPrimitiveToSet
    - util::StatusOr::status
    - IsOk
    - std::move
    - CreateVerification
    - ASSERT_THAT
    - Update
    - EXPECT_THAT
    - absl::StrCat
    - ChunkedMacWrapper
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacWrapperTest, VerifyMacWithDuplicatePrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<ChunkedMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:235,1
    - Dst: std::string
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:240,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:241,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:245,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:246,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:248,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:250,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:254,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:255,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:255,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:257,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:259,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:260,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:261,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:262,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 263
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<ChunkedMac>>
    - crypto::tink::internal::CreateFakeChunkedMac
    - std::string
    - crypto::tink::internal::AddPrimitiveToSet
    - util::StatusOr::status
    - IsOk
    - std::move
    - CreateVerification
    - ASSERT_THAT
    - Update
    - EXPECT_THAT
    - absl::StrCat
    - ChunkedMacWrapper
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST(ChunkedMacWrapperTest, VerifyMacWithRawTagStartingWithKeyId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:274,1
    - Dst: absl::make_unique<PrimitiveSet<ChunkedMac>>
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:280,1
    - Dst: crypto::tink::internal::AddPrimitiveToSet
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:281,1
    - Dst: crypto::tink::internal::CreateFakeChunkedMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:284,1
    - Dst: ChunkedMacWrapper
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:288,1
    - Dst: std::move
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:289,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:289,1
    - Dst: CreateComputation
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:294,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:295,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:295,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:295,1
    - Dst: ComputeMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:297,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:297,1
    - Dst: CreateVerification
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:302,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:303,1
    - Dst: Update
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:303,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:304,1
    - Dst: VerifyMac
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 305
    functionName: crypto::tink::internal::TEST_P
    functionSourceFile: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<ChunkedMac>>
    - CreateComputation
    - crypto::tink::internal::CreateFakeChunkedMac
    - crypto::tink::internal::AddPrimitiveToSet
    - util::StatusOr::status
    - IsOk
    - ComputeMac
    - std::move
    - CreateVerification
    - ASSERT_THAT
    - Update
    - ChunkedMacWrapper
    - GetParam
    - VerifyMac
    linkageType: ''
    returnType: void
    signature: void TEST_P(ChunkedMacWrapperOutputPrefixTest, ComputeVerifyMac)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/mac/internal/config_v0.cc:33,1
    - Dst: absl::make_unique<MacWrapper>
      Src: /src/tink/cc/mac/internal/config_v0.cc:34,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/config_v0.cc:35,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/mac/internal/config_v0.cc:38,1
    - Dst: absl::make_unique<ChunkedMacWrapper>
      Src: /src/tink/cc/mac/internal/config_v0.cc:39,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/config_v0.cc:40,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/mac/internal/config_v0.cc:44,1
    - Dst: absl::make_unique<AesCmacKeyManager>
      Src: /src/tink/cc/mac/internal/config_v0.cc:45,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/mac/internal/config_v0.cc:46,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/mac/internal/config_v0.cc:49,1
    - Dst: absl::make_unique<HmacKeyManager>
      Src: /src/tink/cc/mac/internal/config_v0.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: crypto::tink::internal::AddMacV0
    functionSourceFile: /src/tink/cc/mac/internal/config_v0.cc
    functionUses: 6
    functionsReached:
    - util::Status::ok
    - absl::make_unique<AesCmacKeyManager>
    - absl::make_unique<MacWrapper>
    - absl::make_unique<HmacKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    - absl::make_unique<ChunkedMacWrapper>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddMacV0(Configuration& config)
  - 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: crypto::tink::JwtValidator::JwtValidator
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtValidator(const JwtValidator&)
  - 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 JwtValidator&)'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidator
    signature: JwtValidator & operator=(const JwtValidator&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtValidator
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::JwtValidator::JwtValidator
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtValidator(JwtValidator&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtValidator
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: '& operator=(JwtValidator&& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidator
    signature: JwtValidator & operator=(JwtValidator&& other)
  - 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: crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtValidatorBuilder(const JwtValidatorBuilder&)
  - 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: '& operator=(const JwtValidatorBuilder&)'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & operator=(const JwtValidatorBuilder&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtValidatorBuilder
    constantsTouched: []
    func_position:
      end: 75
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 75
    functionName: crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtValidatorBuilder(JwtValidatorBuilder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtValidatorBuilder
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& operator=(JwtValidatorBuilder&& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & operator=(JwtValidatorBuilder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:35,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:37,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:37,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:38,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:38,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:40,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:41,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:41,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:42,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, ExpiredTokenNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:46,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:48,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:48,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:49,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:49,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:51,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:53,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:53,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, NotExpiredTokenOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:57,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:58,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:59,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:59,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:63,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:64,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, TokenWithExpEqualToNowIsExpired)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:68,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:69,1
    - Dst: absl::Minutes
      Src: /src/tink/cc/jwt/jwt_validator_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - JwtValidatorBuilder
    - absl::Minutes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, ClockSkewIsToLarge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:73,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:75,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:76,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:79,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:79,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:81,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, RecentlyExpiredTokenWithClockSkewOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:85,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:86,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:87,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:90,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:94,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:95,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, NotBeforeInTheFutureNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:99,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:100,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:104,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:109,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, NotBeforeInThePastOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:113,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:116,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:121,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, TokenWithNotBeforeEqualToNowIsValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:125,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:126,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:130,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:132,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:137,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, NotBeforeInTheNearFutureWithClockSkewOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:141,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:142,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:146,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:147,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:151,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:155,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:161,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:162,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:163,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:163,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:171,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:172,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:173,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 174
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, IssuedAt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:177,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:178,1
    - Dst: absl::Minutes
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:182,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:190,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:191,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:194,1
    - Dst: absl::Minutes
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:200,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - absl::Minutes
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, IssuedAtWithClockSkew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:206,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:210,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:211,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, RequiresTypeHeaderButNotTypHeaderNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:217,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:223,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:224,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 225
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, InvalidTypeHeaderNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:230,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:236,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:236,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:237,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 238
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, CorrectTypeHeaderOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:243,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:247,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:248,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, TypeHeaderInTokenButNotInValiatorNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:254,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:258,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:259,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, IgnoreTypeHeaderOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:264,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:271,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, RequiresIssuerButNotIssuerNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:277,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:283,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:284,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, InvalidIssuerNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:290,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:297,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 298
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, CorrectIssuerOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:303,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:308,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, IssuerInTokenButNotInValiatorNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:314,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:319,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, IgnoreIssuerOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:323,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:324,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:324,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:330,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:330,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:331,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, RequiresAudienceButNotAudienceNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:337,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:343,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:343,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:344,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 345
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, InvalidAudienceNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:353,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:353,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:355,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:359,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:359,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:360,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, CorrectAudienceOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:365,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:366,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:366,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:370,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:370,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:371,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, AudienceInTokenButNotInValiatorNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:375,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:376,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:380,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:381,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:381,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, NoAudienceOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:386,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:387,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:387,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:390,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:391,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:391,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:392,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:392,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, IgnoreAudiencesOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:396,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:398,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:398,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:399,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:399,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:402,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:403,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:406,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:406,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:407,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, FixedNowExpiredNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:411,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:412,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:413,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:416,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:419,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:420,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:423,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:423,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:424,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 425
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, FixedNowNotYetValidNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:428,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:429,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:430,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:431,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:433,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:433,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:436,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:437,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:437,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:438,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:438,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, FixedNowValidOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:442,1
    - Dst: JwtValidatorBuilder::ExpectIssuer
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:444,1
    - Dst: JwtValidatorBuilder::Build
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:445,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:446,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:446,1
    - Dst: JwtValidatorBuilder::ExpectIssuer
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:448,1
    - Dst: JwtValidatorBuilder::Build
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:449,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:450,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:450,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:453,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:454,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:454,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:456,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:457,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:457,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:459,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:459,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:459,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:460,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:460,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:461,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:461,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:461,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:462,1
    - Dst: util::StatusOr::Validate
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 463
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::Validate
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - RawJwtBuilder
    - EXPECT_FALSE
    - JwtValidatorBuilder::ExpectIssuer
    - JwtValidatorBuilder::Build
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, CallBuildTwiceOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:466,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:466,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:472,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:472,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:478,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_validator_test.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 484
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_validator_test.cc
    functionUses: 0
    functionsReached:
    - JwtValidatorBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtValidator, InvalidValidators)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:69,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:69,1
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' key_struct'
    - name
    argTypes:
    - Struct
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto::tink::HasItem
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool HasItem(const Struct& key_struct, absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:75,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:75,1
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:77,1
    - Dst: auto::second::kind_case
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:79,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:80,1
    - Dst: auto::second::string_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' key_struct'
    - name
    argTypes:
    - Struct
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: crypto::tink::GetStringItem
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - auto::second::string_value
    - std::string
    - crypto::tink::internal::ExtractStatus
    - auto::second::kind_case
    - fields
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> GetStringItem(const Struct& key_struct,\n
      \                                         absl::string_view name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:87,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:88,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:92,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' key_struct'
    - name
    - value
    argTypes:
    - Struct
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 95
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 95
    functionName: crypto::tink::ExpectStringItem
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetStringItem
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ExpectStringItem(const Struct& key_struct, absl::string_view
      name,\n                              absl::string_view value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:98,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:99,1
    - Dst: crypto::tink::ExpectStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_struct'
    argTypes:
    - Struct
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: crypto::tink::ValidateUseIsSig
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HasItem
    - crypto::tink::util::OkStatus
    - crypto::tink::ExpectStringItem
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateUseIsSig(const Struct& key_struct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:105,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:106,1
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:108,1
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:109,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:110,1
    - Dst: auto::second::kind_case
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:113,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:114,1
    - Dst: auto::second::list_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:117,1
    - Dst: values_size
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:118,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:119,1
    - Dst: values
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:122,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:123,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:124,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:128,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - ' key_struct'
    argTypes:
    - Struct
    constantsTouched: []
    func_position:
      end: 132
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 132
    functionName: crypto::tink::ValidateKeyOpsIsVerify
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - values
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::HasItem
    - fields
    - auto::second::list_value
    - auto::second::kind_case
    - values_size
    - string_value
    - crypto::tink::util::OkStatus
    - kind_case
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateKeyOpsIsVerify(const Struct& key_struct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:136,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:138,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:139,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:140,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:143,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:145,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:147,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:149,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:152,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:152,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:153,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:153,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:154,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:154,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:155,1
    - Dst: crypto::tink::ExpectStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:158,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:159,1
    - Dst: crypto::tink::ValidateUseIsSig
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:162,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:163,1
    - Dst: crypto::tink::ValidateKeyOpsIsVerify
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:166,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:167,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:171,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:172,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:173,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:176,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:177,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:180,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:182,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:183,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:184,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:187,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:188,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:191,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:193,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:194,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:195,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:196,1
    - Dst: JwtRsaSsaPkcs1PublicKey::mutable_custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:198,1
    - Dst: KeyData::set_type_url
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:201,1
    - Dst: KeyData::set_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:203,1
    - Dst: JwtRsaSsaPkcs1PublicKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:203,1
    - Dst: KeyData::set_key_material_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:204,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - ' key_struct'
    argTypes:
    - Struct
    constantsTouched: []
    func_position:
      end: 206
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 206
    functionName: crypto::tink::RsPublicKeyDataFromKeyStruct
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::HasItem
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - JwtRsaSsaPkcs1PublicKey::SerializeAsString
    - crypto::tink::GetStringItem
    - KeyData::set_type_url
    - util::Status::ok
    - crypto::tink::ExpectStringItem
    - KeyData::set_value
    - util::StatusOr::ok
    - crypto::tink::ValidateKeyOpsIsVerify
    - JwtRsaSsaPkcs1PublicKey::set_version
    - JwtRsaSsaPkcs1PublicKey::set_e
    - KeyData::set_key_material_type
    - JwtRsaSsaPkcs1PublicKey::mutable_custom_kid
    - JwtRsaSsaPkcs1PublicKey::set_algorithm
    - JwtRsaSsaPkcs1PublicKey::set_n
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ValidateUseIsSig
    linkageType: ''
    returnType: util::StatusOr<KeyData>
    signature: util::StatusOr<KeyData> RsPublicKeyDataFromKeyStruct(const Struct&
      key_struct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:210,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:212,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:213,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:214,1
    - Dst: JwtRsaSsaPssPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:217,1
    - Dst: JwtRsaSsaPssPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:219,1
    - Dst: JwtRsaSsaPssPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:221,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:223,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:226,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:226,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:227,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:227,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:228,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:228,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:229,1
    - Dst: crypto::tink::ExpectStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:232,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:233,1
    - Dst: crypto::tink::ValidateUseIsSig
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:236,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:237,1
    - Dst: crypto::tink::ValidateKeyOpsIsVerify
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:240,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:241,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:245,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:246,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:247,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:250,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:251,1
    - Dst: JwtRsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:254,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:256,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:257,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:258,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:261,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:262,1
    - Dst: JwtRsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:265,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:267,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:268,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:269,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:270,1
    - Dst: JwtRsaSsaPssPublicKey::mutable_custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:272,1
    - Dst: KeyData::set_type_url
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:275,1
    - Dst: KeyData::set_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:277,1
    - Dst: JwtRsaSsaPssPublicKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:277,1
    - Dst: KeyData::set_key_material_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:278,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 1
    argNames:
    - ' key_struct'
    argTypes:
    - Struct
    constantsTouched: []
    func_position:
      end: 280
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 280
    functionName: crypto::tink::PsPublicKeyDataFromKeyStruct
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssPublicKey::set_e
    - JwtRsaSsaPssPublicKey::mutable_custom_kid
    - crypto::tink::HasItem
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - JwtRsaSsaPssPublicKey::SerializeAsString
    - crypto::tink::GetStringItem
    - KeyData::set_type_url
    - util::Status::ok
    - JwtRsaSsaPssPublicKey::set_n
    - crypto::tink::ExpectStringItem
    - KeyData::set_value
    - util::StatusOr::ok
    - crypto::tink::ValidateKeyOpsIsVerify
    - KeyData::set_key_material_type
    - JwtRsaSsaPssPublicKey::set_algorithm
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ValidateUseIsSig
    - JwtRsaSsaPssPublicKey::set_version
    linkageType: ''
    returnType: util::StatusOr<KeyData>
    signature: util::StatusOr<KeyData> PsPublicKeyDataFromKeyStruct(const Struct&
      key_struct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaPublicKey::set_version
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:284,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:286,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:287,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:288,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:290,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:291,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:292,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:296,1
    - Dst: JwtEcdsaPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:299,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:302,1
    - Dst: JwtEcdsaPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:305,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:308,1
    - Dst: JwtEcdsaPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:311,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:313,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:316,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:317,1
    - Dst: crypto::tink::ExpectStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:320,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:321,1
    - Dst: crypto::tink::ValidateUseIsSig
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:324,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:325,1
    - Dst: crypto::tink::ValidateKeyOpsIsVerify
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:328,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:329,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:333,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:334,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:335,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:338,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:339,1
    - Dst: JwtEcdsaPublicKey::set_x
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:342,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:344,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:345,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:346,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:349,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:350,1
    - Dst: JwtEcdsaPublicKey::set_y
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:353,1
    - Dst: crypto::tink::HasItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:355,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:356,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:357,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:358,1
    - Dst: JwtEcdsaPublicKey::mutable_custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:360,1
    - Dst: KeyData::set_type_url
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:363,1
    - Dst: KeyData::set_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:365,1
    - Dst: JwtEcdsaPublicKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:365,1
    - Dst: KeyData::set_key_material_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:366,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - ' key_struct'
    argTypes:
    - Struct
    constantsTouched: []
    func_position:
      end: 368
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 368
    functionName: crypto::tink::EsPublicKeyDataFromKeyStruct
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaPublicKey::set_algorithm
    - JwtEcdsaPublicKey::set_x
    - crypto::tink::HasItem
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - crypto::tink::GetStringItem
    - KeyData::set_type_url
    - util::Status::ok
    - crypto::tink::ExpectStringItem
    - KeyData::set_value
    - util::StatusOr::ok
    - crypto::tink::ValidateKeyOpsIsVerify
    - JwtEcdsaPublicKey::mutable_custom_kid
    - JwtEcdsaPublicKey::set_version
    - JwtEcdsaPublicKey::SerializeAsString
    - KeyData::set_key_material_type
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ValidateUseIsSig
    - JwtEcdsaPublicKey::set_y
    linkageType: ''
    returnType: util::StatusOr<KeyData>
    signature: util::StatusOr<KeyData> EsPublicKeyDataFromKeyStruct(const Struct&
      key_struct)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcFieldSizeInBytes
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:376,1
    - Dst: crypto::tink::internal::GetEcPoint
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:378,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:379,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:380,1
    - Dst: crypto::tink::internal::EcPointEncode
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:383,1
    - Dst: get
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:384,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:385,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:386,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:388,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:389,1
    - Dst: std::make_pair
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:392,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:393,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - x
    - y
    - curve_type
    argTypes:
    - absl::string_view
    - absl::string_view
    - subtle::EllipticCurveType
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: crypto::tink::Sec1EncodeCoordinates
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::make_pair
    - util::StatusOr::value
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::internal::EcPointEncode
    - crypto::tink::internal::GetEcPoint
    - util::StatusOr::ok
    - crypto::tink::size
    - crypto::tink::internal::EcFieldSizeInBytes
    - get
    linkageType: ''
    returnType: util::StatusOr<std::pair<std::string, std::string>>
    signature: "util::StatusOr<std::pair<std::string, std::string>> Sec1EncodeCoordinates(\n
      \   absl::string_view x, absl::string_view y,\n    subtle::EllipticCurveType
      curve_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:402,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:403,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:404,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:406,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:407,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:408,1
    - Dst: auto::second::kind_case
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:410,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:411,1
    - Dst: auto::second::list_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:414,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:415,1
    - Dst: auto::second::list_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:420,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:421,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:422,1
    - Dst: struct_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:425,1
    - Dst: crypto::tink::GetStringItem
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:427,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:428,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:429,1
    - Dst: absl::string_view
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:431,1
    - Dst: Keyset::add_key
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:434,1
    - Dst: Keyset_Key*::set_key_id
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:436,1
    - Dst: Keyset_Key*::set_status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:437,1
    - Dst: Keyset_Key*::set_output_prefix_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:438,1
    - Dst: crypto::tink::RsPublicKeyDataFromKeyStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:442,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:443,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:444,1
    - Dst: Keyset_Key*::mutable_key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:446,1
    - Dst: crypto::tink::PsPublicKeyDataFromKeyStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:449,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:450,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:451,1
    - Dst: Keyset_Key*::mutable_key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:453,1
    - Dst: crypto::tink::EsPublicKeyDataFromKeyStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:456,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:457,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:458,1
    - Dst: Keyset_Key*::mutable_key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:460,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:462,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:467,1
    - Dst: crypto::tink::KeysetHandle::ReadNoSecret
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:468,1
    - Dst: Keyset::SerializeAsString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:468,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - jwk_set
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 469
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 469
    functionName: crypto::tink::JwkSetToPublicKeysetHandle
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - Keyset_Key*::set_key_id
    - crypto::tink::EsPublicKeyDataFromKeyStruct
    - Keyset::SerializeAsString
    - auto::second::kind_case
    - crypto::tink::RsPublicKeyDataFromKeyStruct
    - absl::string_view
    - util::StatusOr::fields
    - crypto::tink::GetStringItem
    - crypto::tink::KeysetHandle::ReadNoSecret
    - Keyset::set_primary_key_id
    - util::StatusOr::ok
    - Keyset_Key*::set_output_prefix_type
    - Keyset_Key*::set_status
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - auto::second::list_value
    - Keyset_Key*::mutable_key_data
    - kind_case
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::PsPublicKeyDataFromKeyStruct
    - struct_value
    - Keyset::add_key
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<KeysetHandle>>
    signature: "util::StatusOr<std::unique_ptr<KeysetHandle>> JwkSetToPublicKeysetHandle(\n
      \   absl::string_view jwk_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Struct*::mutable_fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:473,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:473,1
    - Dst: Value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:473,1
    - Dst: auto::first::second::set_string_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:474,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - name
    - value
    argTypes:
    - Struct*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: crypto::tink::AddStringEntry
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - auto::first::second::set_string_value
    - Struct*::mutable_fields
    - std::string
    - Value
    linkageType: ''
    returnType: void
    signature: "void AddStringEntry(Struct* key, absl::string_view name,\n                    absl::string_view
      value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Struct*::mutable_fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:478,1
    - Dst: Value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:478,1
    - Dst: auto::first::second::mutable_list_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - Struct*
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: crypto::tink::AddKeyOpsVerifyEntry
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - auto::first::second::mutable_list_value
    - Struct*::mutable_fields
    - Value
    linkageType: ''
    returnType: void
    signature: void AddKeyOpsVerifyEntry(Struct* key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:485,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:485,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:486,1
    - Dst: JwtEcdsaPublicKey::algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:492,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:494,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:495,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:499,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:500,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:504,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:505,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:509,1
    - Dst: crypto::tink::Sec1EncodeCoordinates
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:514,1
    - Dst: JwtEcdsaPublicKey::x
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:514,1
    - Dst: JwtEcdsaPublicKey::y
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:514,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:515,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:516,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:519,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:520,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:521,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:522,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:523,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:524,1
    - Dst: crypto::tink::AddKeyOpsVerifyEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:525,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:528,1
    - Dst: key_id
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:528,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:528,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:529,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:530,1
    - Dst: absl::optional::value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:530,1
    - Dst: JwtEcdsaPublicKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:531,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:532,1
    - Dst: JwtEcdsaPublicKey::custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Keyset_Key
    constantsTouched: []
    func_position:
      end: 535
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 535
    functionName: crypto::tink::EsPublicKeyToKeyStruct
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaPublicKey::x
    - JwtEcdsaPublicKey::y
    - key_data
    - absl::WebSafeBase64Escape
    - util::StatusOr::ok
    - crypto::tink::Sec1EncodeCoordinates
    - JwtEcdsaPublicKey::has_custom_kid
    - JwtEcdsaPublicKey::algorithm
    - output_prefix_type
    - crypto::tink::jwt_internal::GetKid
    - absl::optional::value
    - JwtEcdsaPublicKey::custom_kid
    - key_id
    - crypto::tink::AddStringEntry
    - absl::optional::has_value
    - JwtEcdsaPublicKey::ParseFromString
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::AddKeyOpsVerifyEntry
    linkageType: ''
    returnType: util::StatusOr<Struct>
    signature: util::StatusOr<Struct> EsPublicKeyToKeyStruct(const Keyset_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPkcs1PublicKey::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:539,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:539,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:540,1
    - Dst: JwtRsaSsaPkcs1PublicKey::algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:546,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:548,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:551,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:554,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:557,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:561,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:562,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:562,1
    - Dst: JwtRsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:562,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:563,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:563,1
    - Dst: JwtRsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:563,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:564,1
    - Dst: crypto::tink::AddKeyOpsVerifyEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:565,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:568,1
    - Dst: key_id
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:568,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:568,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:569,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:570,1
    - Dst: absl::optional::value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:570,1
    - Dst: JwtRsaSsaPkcs1PublicKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:571,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:572,1
    - Dst: JwtRsaSsaPkcs1PublicKey::custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Keyset_Key
    constantsTouched: []
    func_position:
      end: 575
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 575
    functionName: crypto::tink::RsPublicKeyToKeyStruct
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1PublicKey::e
    - absl::optional::has_value
    - absl::optional::value
    - crypto::tink::internal::ExtractStatus
    - JwtRsaSsaPkcs1PublicKey::ParseFromString
    - absl::WebSafeBase64Escape
    - key_id
    - JwtRsaSsaPkcs1PublicKey::custom_kid
    - JwtRsaSsaPkcs1PublicKey::n
    - crypto::tink::AddStringEntry
    - key_data
    - JwtRsaSsaPkcs1PublicKey::has_custom_kid
    - output_prefix_type
    - JwtRsaSsaPkcs1PublicKey::algorithm
    - crypto::tink::jwt_internal::GetKid
    - crypto::tink::AddKeyOpsVerifyEntry
    linkageType: ''
    returnType: util::StatusOr<Struct>
    signature: util::StatusOr<Struct> RsPublicKeyToKeyStruct(const Keyset_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPssPublicKey::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:579,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:579,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:580,1
    - Dst: JwtRsaSsaPssPublicKey::algorithm
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:586,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:588,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:591,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:594,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:597,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:601,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:602,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:602,1
    - Dst: JwtRsaSsaPssPublicKey::e
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:602,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:603,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:603,1
    - Dst: JwtRsaSsaPssPublicKey::n
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:603,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:604,1
    - Dst: crypto::tink::AddKeyOpsVerifyEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:605,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:608,1
    - Dst: key_id
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:608,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:608,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:609,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:610,1
    - Dst: absl::optional::value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:610,1
    - Dst: JwtRsaSsaPssPublicKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:611,1
    - Dst: crypto::tink::AddStringEntry
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:612,1
    - Dst: JwtRsaSsaPssPublicKey::custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Keyset_Key
    constantsTouched: []
    func_position:
      end: 615
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 615
    functionName: crypto::tink::PsPublicKeyToKeyStruct
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssPublicKey::custom_kid
    - absl::optional::has_value
    - crypto::tink::AddKeyOpsVerifyEntry
    - absl::optional::value
    - crypto::tink::internal::ExtractStatus
    - absl::WebSafeBase64Escape
    - JwtRsaSsaPssPublicKey::has_custom_kid
    - key_id
    - JwtRsaSsaPssPublicKey::algorithm
    - JwtRsaSsaPssPublicKey::e
    - JwtRsaSsaPssPublicKey::n
    - crypto::tink::AddStringEntry
    - key_data
    - output_prefix_type
    - crypto::tink::jwt_internal::GetKid
    - JwtRsaSsaPssPublicKey::ParseFromString
    linkageType: ''
    returnType: util::StatusOr<Struct>
    signature: util::StatusOr<Struct> PsPublicKeyToKeyStruct(const Keyset_Key& key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::BinaryKeysetWriter::New
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:621,1
    - Dst: absl::make_unique<std::ostream>
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:621,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:622,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:623,1
    - Dst: WriteNoSecret
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:625,1
    - Dst: get
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:625,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:626,1
    - Dst: Keyset::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:630,1
    - Dst: std::stringbuf::str
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:630,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:631,1
    - Dst: Struct::mutable_fields
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:636,1
    - Dst: Value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:636,1
    - Dst: auto::first::second::mutable_list_value
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:637,1
    - Dst: Keyset::key
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:639,1
    - Dst: status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:640,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:643,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:644,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:645,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:649,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:650,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:653,1
    - Dst: crypto::tink::EsPublicKeyToKeyStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:655,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:656,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:657,1
    - Dst: ListValue*::add_values
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:659,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:660,1
    - Dst: crypto::tink::RsPublicKeyToKeyStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:663,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:664,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:665,1
    - Dst: ListValue*::add_values
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:667,1
    - Dst: key_data
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:668,1
    - Dst: crypto::tink::PsPublicKeyToKeyStruct
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:671,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:672,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:673,1
    - Dst: ListValue*::add_values
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:675,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:677,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/jwk_set_converter.cc:681,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 682
      start: 617
    functionDepth: 5
    functionLinenumber: 617
    functionLinenumberEnd: 682
    functionName: crypto::tink::JwkSetFromPublicKeysetHandle
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter.cc
    functionUses: 0
    functionsReached:
    - Struct::mutable_fields
    - ListValue*::add_values
    - key_data
    - WriteNoSecret
    - Keyset::ParseFromString
    - util::Status::ok
    - status
    - crypto::tink::RsPublicKeyToKeyStruct
    - util::StatusOr::ok
    - output_prefix_type
    - crypto::tink::EsPublicKeyToKeyStruct
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - Value
    - crypto::tink::PsPublicKeyToKeyStruct
    - get
    - crypto::tink::BinaryKeysetWriter::New
    - Keyset::key
    - auto::first::second::mutable_list_value
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::stringbuf::str
    - absl::make_unique<std::ostream>
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> JwkSetFromPublicKeysetHandle(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: crypto::tink::RawJwt::RawJwt
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawJwt(const RawJwt&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: '& operator=(const RawJwt&)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawJwt
    signature: RawJwt & operator=(const RawJwt&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: crypto::tink::RawJwt::RawJwt
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawJwt(RawJwt&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: '& operator=(RawJwt&& other)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawJwt
    signature: RawJwt & operator=(RawJwt&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: crypto::tink::RawJwtBuilder::RawJwtBuilder
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawJwtBuilder(const RawJwtBuilder&)
  - 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: '& operator=(const RawJwtBuilder&)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & operator=(const RawJwtBuilder&)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawJwtBuilder
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: crypto::tink::RawJwtBuilder::RawJwtBuilder
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawJwtBuilder(RawJwtBuilder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - RawJwtBuilder
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: '& operator=(RawJwtBuilder&& other)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & operator=(RawJwtBuilder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacParameters
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: crypto::tink::JwtHmacParameters::JwtHmacParameters
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtHmacParameters(const JwtHmacParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacParameters
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: '& operator=(const JwtHmacParameters& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacParameters
    signature: JwtHmacParameters & operator=(const JwtHmacParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacParameters
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: crypto::tink::JwtHmacParameters::JwtHmacParameters
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtHmacParameters(JwtHmacParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacParameters
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& operator=(JwtHmacParameters&& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacParameters
    signature: JwtHmacParameters & operator=(JwtHmacParameters&& other)
  - 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: crypto::tink::JwtHmacParameters::KeySizeInBytes
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int KeySizeInBytes() 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: crypto::tink::JwtHmacParameters::GetKidStrategy
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KidStrategy
    signature: KidStrategy GetKidStrategy() 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: crypto::tink::JwtHmacParameters::GetAlgorithm
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Algorithm
    signature: Algorithm GetAlgorithm() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: crypto::tink::JwtHmacParameters::AllowKidAbsent
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AllowKidAbsent() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::JwtHmacParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key_size_in_bytes
    - kid_strategy
    - algorithm
    argTypes:
    - int
    - KidStrategy
    - Algorithm
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: crypto::tink::JwtHmacParameters::JwtHmacParameters
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void JwtHmacParameters(int key_size_in_bytes, KidStrategy kid_strategy,\n
      \                   Algorithm algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:53,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:54,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:56,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:58,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:59,1
    - Dst: JwtHmacKeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:60,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - algorithm
    - key_size
    - output_prefix_type
    argTypes:
    - JwtHmacAlgorithm
    - uint32_t
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: crypto::tink::NewJwtHmacKeyTemplate
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKeyFormat::SerializeToString
    - JwtHmacKeyFormat::set_algorithm
    - KeyTemplate*::mutable_value
    - JwtHmacKeyFormat::set_key_size
    - KeyTemplate*::set_type_url
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewJwtHmacKeyTemplate(JwtHmacAlgorithm algorithm,\n
      \                                  uint32_t key_size,\n                                   OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:66,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:67,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:69,1
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:71,1
    - Dst: JwtEcdsaKeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:72,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - algorithm
    - output_prefix_type
    argTypes:
    - JwtEcdsaAlgorithm
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: crypto::tink::NewJwtEcdsaKeyTemplate
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaKeyFormat::set_algorithm
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - JwtEcdsaKeyFormat::SerializeToString
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewJwtEcdsaKeyTemplate(JwtEcdsaAlgorithm algorithm,\n
      \                                   OutputPrefixType output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:80,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:81,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:83,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:85,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:86,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:88,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:88,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:90,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:90,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:90,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:90,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:91,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:91,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:92,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    - output_prefix_type
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    - int
    - int
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - JwtRsaSsaPkcs1KeyFormat::set_algorithm
    - internal::SslUniquePtr::get
    - BN_set_word
    - KeyTemplate*::mutable_value
    - BN_num_bytes
    - KeyTemplate*::set_type_url
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - JwtRsaSsaPkcs1KeyFormat::SerializeToString
    - util::StatusOr::value
    - JwtRsaSsaPkcs1KeyFormat::set_public_exponent
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewJwtRsaSsaPkcs1KeyTemplate(JwtRsaSsaPkcs1Algorithm
      algorithm,\n                                          int modulus_size_in_bits,\n
      \                                         int public_exponent,\n                                          OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:100,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:101,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:103,1
    - Dst: JwtRsaSsaPssKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:105,1
    - Dst: JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:106,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:108,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:108,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:110,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:110,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:110,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:110,1
    - Dst: JwtRsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:111,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:111,1
    - Dst: JwtRsaSsaPssKeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:112,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    - output_prefix_type
    argTypes:
    - JwtRsaSsaPssAlgorithm
    - int
    - int
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: crypto::tink::NewJwtRsaSsaPssKeyTemplate
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPssKeyFormat::SerializeToString
    - JwtRsaSsaPssKeyFormat::set_public_exponent
    - internal::SslUniquePtr::get
    - JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
    - BN_set_word
    - KeyTemplate*::mutable_value
    - BN_num_bytes
    - KeyTemplate*::set_type_url
    - JwtRsaSsaPssKeyFormat::set_algorithm
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - util::StatusOr::value
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewJwtRsaSsaPssKeyTemplate(JwtRsaSsaPssAlgorithm algorithm,\n
      \                                       int modulus_size_in_bits,\n                                        int
      public_exponent,\n                                        OutputPrefixType output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtHmacKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: crypto::tink::JwtHs256Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtHs256Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtHmacKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: crypto::tink::RawJwtHs256Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtHs256Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtHmacKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: crypto::tink::JwtHs384Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtHs384Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtHmacKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: crypto::tink::RawJwtHs384Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtHs384Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtHmacKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: crypto::tink::JwtHs512Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtHs512Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtHmacKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: crypto::tink::RawJwtHs512Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtHmacKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtHs512Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtEcdsaKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:156,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: crypto::tink::JwtEs256Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtEs256Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtEcdsaKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: crypto::tink::RawJwtEs256Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtEs256Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtEcdsaKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: crypto::tink::JwtEs384Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtEs384Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtEcdsaKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: crypto::tink::RawJwtEs384Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtEs384Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtEcdsaKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: crypto::tink::JwtEs512Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtEs512Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtEcdsaKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: crypto::tink::RawJwtEs512Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtEcdsaKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtEs512Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: crypto::tink::JwtRs256_2048_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtRs256_2048_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: crypto::tink::RawJwtRs256_2048_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtRs256_2048_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: crypto::tink::JwtRs256_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtRs256_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: crypto::tink::RawJwtRs256_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtRs256_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: crypto::tink::JwtRs384_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtRs384_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: crypto::tink::RawJwtRs384_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtRs384_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: crypto::tink::JwtRs512_4096_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtRs512_4096_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: crypto::tink::RawJwtRs512_4096_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtRs512_4096_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: crypto::tink::JwtPs256_2048_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtPs256_2048_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: crypto::tink::RawJwtPs256_2048_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtPs256_2048_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: crypto::tink::JwtPs256_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtPs256_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: crypto::tink::RawJwtPs256_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtPs256_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: crypto::tink::JwtPs384_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtPs384_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 4
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: crypto::tink::RawJwtPs384_3072_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtPs384_3072_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: crypto::tink::JwtPs512_4096_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & JwtPs512_4096_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewJwtRsaSsaPssKeyTemplate
      Src: /src/tink/cc/jwt/jwt_key_templates.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: crypto::tink::RawJwtPs512_4096_F4_Template
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewJwtRsaSsaPssKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & RawJwtPs512_4096_F4_Template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:74,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:78,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:80,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:82,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:83,1
    - Dst: JwtHmacKey::Builder::SetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:84,1
    - Dst: TestCase::custom_kid::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:86,1
    - Dst: JwtHmacKey::Builder::SetCustomKid
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:87,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:89,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:92,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:92,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:92,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:93,1
    - Dst: util::StatusOr::GetKeyBytes
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:93,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:93,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:94,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:94,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:95,1
    - Dst: util::StatusOr::GetKid
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:95,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - TestCase::id_requirement::has_value
    - TestCase::custom_kid::has_value
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - crypto::tink::JwtHmacParameters::Create
    - util::StatusOr::GetKeyBytes
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - JwtHmacKey::Builder::SetCustomKid
    - EXPECT_THAT
    - util::StatusOr::GetKid
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    - JwtHmacKey::Builder::SetIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:104,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:107,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:113,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:113,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:113,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:114,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateKeyWithMismatchedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:123,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:128,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:128,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:128,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:129,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - JwtHmacKey::Builder::Build
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateKeyWithoutKeyBytesFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:138,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:140,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:144,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:144,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:144,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:145,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateKeyWithoutParametersFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:154,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:156,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:160,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:160,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:160,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:161,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateBase64EncodedKidWithoutIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:171,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:173,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:180,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:180,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:180,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:181,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 184
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateBase64EncodedKidWithCustomKidFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:190,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:192,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:199,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:199,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:199,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:200,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateCustomKidWithIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:209,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:211,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:213,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:215,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:215,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:215,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:216,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateCustomKidWithoutCustomKidFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:224,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:224,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:226,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:232,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:232,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:232,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:233,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateIgnoredKidWithIdRequirementFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:242,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:244,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:250,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:251,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:251,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:252,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, CreateIgnoredKidWithCustomKidFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:258,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:262,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:264,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:266,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:267,1
    - Dst: JwtHmacKey::Builder::SetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:268,1
    - Dst: TestCase::custom_kid::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:270,1
    - Dst: JwtHmacKey::Builder::SetCustomKid
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:271,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:273,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:274,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:277,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:278,1
    - Dst: JwtHmacKey::Builder::SetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:279,1
    - Dst: TestCase::custom_kid::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:281,1
    - Dst: JwtHmacKey::Builder::SetCustomKid
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:282,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:285,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:285,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:286,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:286,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:288,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:290,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 292
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - TestCase::id_requirement::has_value
    - TestCase::custom_kid::has_value
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - ASSERT_THAT
    - JwtHmacKey::Builder::SetCustomKid
    - GetParam
    - EXPECT_FALSE
    - JwtHmacKey::Builder::SetIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:299,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:299,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:305,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:307,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:309,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:314,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:316,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:320,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:321,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:323,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:324,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:325,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 327
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, DifferentParametersNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:330,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:334,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:334,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:336,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:337,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:339,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:344,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:344,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:346,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:350,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:351,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:351,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:353,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:354,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:355,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 357
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, DifferentSecretDataNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:360,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:364,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:366,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:368,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:372,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:373,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:375,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:380,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:382,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:383,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:384,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 386
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:389,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:392,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:392,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:394,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:396,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:400,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:401,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:403,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:408,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:408,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:410,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:411,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:412,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_key_test.cc:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 414
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyTest, DifferentCustomKidNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:517,1
    - Dst: JwtSignatureRegister
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:517,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 517
    functionName: crypto::tink::JwkSetConverterTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - JwtSignatureRegister
    - IsOk
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:521,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:525,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:526,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:526,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:530,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:531,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:531,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:536,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:537,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:537,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:540,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:540,1
    - Dst: MessageDifferencer::ReportDifferencesToString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:544,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:545,1
    - Dst: MessageDifferencer::Compare
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 520
    functionDepth: 6
    functionLinenumber: 520
    functionLinenumberEnd: 547
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - MessageDifferencer::ReportDifferencesToString
    - ASSERT_THAT
    - MessageDifferencer::Compare
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwkSetConverterTest, ToAndFromPublicKeysetHandleIsIdentical)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:560,1
    - Dst: JwtSignatureRegister
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: crypto::tink::JwkSetToPublicKeysetHandleTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - JwtSignatureRegister
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:566,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:566,1
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:570,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:571,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:571,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:573,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:573,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:574,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:574,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:577,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:579,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:580,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:580,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:583,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:584,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:584,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:586,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:587,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:587,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:591,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:592,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:592,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:595,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:597,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:598,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:598,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:600,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:605,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:606,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:606,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:607,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:607,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 563
    functionDepth: 6
    functionLinenumber: 563
    functionLinenumberEnd: 608
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - SignAndEncode
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - util::StatusOr::GetIssuer
    - VerifyAndDecode
    - ASSERT_THAT
    - JwtValidatorBuilder
    - std::tie
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::GetPrimitive
    - RawJwtBuilder
    - GetParam
    - crypto::tink::JsonKeysetReader::New
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwkSetToPublicKeysetHandleTest, VerifyValidJwtWithSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:644,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:644,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:644,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 6
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, InvalidJsonFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:662,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:663,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:663,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:665,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:667,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:668,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:668,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 647
    functionDepth: 6
    functionLinenumber: 647
    functionLinenumberEnd: 669
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256WithSmallModulusGetPrimitiveFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:685,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:685,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:687,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:688,1
    - Dst: google::crypto::tink::Keyset::key_size
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:688,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:688,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:689,1
    - Dst: google::crypto::tink::Keyset::key
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:689,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:690,1
    - Dst: google::crypto::tink::JwtRsaSsaPkcs1PublicKey::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:692,1
    - Dst: google::crypto::tink::Keyset::key
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:692,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:693,1
    - Dst: google::crypto::tink::JwtRsaSsaPkcs1PublicKey::custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:693,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 694
      start: 671
    functionDepth: 6
    functionLinenumber: 671
    functionLinenumberEnd: 694
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtRsaSsaPkcs1PublicKey::ParseFromString
    - google::crypto::tink::JwtRsaSsaPkcs1PublicKey::custom_kid
    - CleartextKeysetHandle::GetKeyset
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - ASSERT_THAT
    - google::crypto::tink::Keyset::key
    - EXPECT_THAT
    - google::crypto::tink::Keyset::key_size
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256CorrectlySetsKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:705,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:705,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 706
      start: 696
    functionDepth: 6
    functionLinenumber: 696
    functionLinenumberEnd: 706
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256WithoutOptionalFieldsSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:719,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:719,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:719,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 708
    functionDepth: 6
    functionLinenumber: 708
    functionLinenumberEnd: 720
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256WithoutKtyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:733,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:733,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:733,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 722
    functionDepth: 6
    functionLinenumber: 722
    functionLinenumberEnd: 734
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256WithoutAlgFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:748,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:748,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:748,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 6
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256InvalidKtyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:763,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:763,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:763,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 751
    functionDepth: 6
    functionLinenumber: 751
    functionLinenumberEnd: 764
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256InvalidAlgFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:778,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:778,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:778,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 779
      start: 766
    functionDepth: 6
    functionLinenumber: 766
    functionLinenumberEnd: 779
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256InvalidKeyOpsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:793,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:793,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:793,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 781
    functionDepth: 6
    functionLinenumber: 781
    functionLinenumberEnd: 794
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256InvalidKeyOpsTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:808,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:808,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:808,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 796
    functionDepth: 6
    functionLinenumber: 796
    functionLinenumberEnd: 809
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256InvalidUseFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:822,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:822,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:822,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 823
      start: 811
    functionDepth: 6
    functionLinenumber: 811
    functionLinenumberEnd: 823
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256WithoutModulusFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:836,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:836,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:836,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 825
    functionDepth: 6
    functionLinenumber: 825
    functionLinenumberEnd: 837
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Rs256WithoutExponentFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:852,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:853,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:853,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:855,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:857,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:858,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:858,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 839
    functionDepth: 6
    functionLinenumber: 839
    functionLinenumberEnd: 859
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithSmallXFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:874,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:875,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:875,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:877,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:879,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:880,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:880,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 861
    functionDepth: 6
    functionLinenumber: 861
    functionLinenumberEnd: 881
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - crypto::tink::ConfigGlobalRegistry
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithSmallYFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:894,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:895,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:895,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:897,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:898,1
    - Dst: google::crypto::tink::Keyset::key_size
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:898,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:898,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:899,1
    - Dst: google::crypto::tink::Keyset::key
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:899,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:900,1
    - Dst: google::crypto::tink::JwtEcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:902,1
    - Dst: google::crypto::tink::Keyset::key
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:902,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:903,1
    - Dst: google::crypto::tink::JwtEcdsaPublicKey::custom_kid
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:903,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 883
    functionDepth: 6
    functionLinenumber: 883
    functionLinenumberEnd: 904
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - CleartextKeysetHandle::GetKeyset
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - google::crypto::tink::JwtEcdsaPublicKey::custom_kid
    - ASSERT_THAT
    - google::crypto::tink::Keyset::key
    - EXPECT_THAT
    - google::crypto::tink::Keyset::key_size
    - google::crypto::tink::JwtEcdsaPublicKey::ParseFromString
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256CorrectlySetsKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:916,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:917,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 6
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithoutOptionalFieldsSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:929,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:929,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:929,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 930
      start: 920
    functionDepth: 6
    functionLinenumber: 920
    functionLinenumberEnd: 930
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithoutKtyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:942,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:942,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:942,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 932
    functionDepth: 6
    functionLinenumber: 932
    functionLinenumberEnd: 943
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithoutAlgFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:954,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:954,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:954,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 955
      start: 945
    functionDepth: 6
    functionLinenumber: 945
    functionLinenumberEnd: 955
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithoutCrvFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:967,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:967,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:967,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 6
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256InvalidKtyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:980,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:980,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:980,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 970
    functionDepth: 6
    functionLinenumber: 970
    functionLinenumberEnd: 981
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256InvalidAlgFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:993,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:993,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:993,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 994
      start: 983
    functionDepth: 6
    functionLinenumber: 983
    functionLinenumberEnd: 994
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256InvalidKeyOpsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1006,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1006,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1006,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 996
    functionDepth: 6
    functionLinenumber: 996
    functionLinenumberEnd: 1007
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256InvalidKeyOpsTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1019,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1019,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1019,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1009
    functionDepth: 6
    functionLinenumber: 1009
    functionLinenumberEnd: 1020
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256InvalidUseFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1031,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1031,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1031,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1022
    functionDepth: 6
    functionLinenumber: 1022
    functionLinenumberEnd: 1032
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithoutXFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1043,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1043,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1043,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1034
    functionDepth: 6
    functionLinenumber: 1034
    functionLinenumberEnd: 1044
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256WithoutYFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1056,1
    - Dst: crypto::tink::JwkSetToPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1056,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1056,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1046
    functionDepth: 6
    functionLinenumber: 1046
    functionLinenumberEnd: 1057
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwkSetToPublicKeysetHandle
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwkSetToPublicKeysetHandleTest, Es256PrivateKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1077,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1078,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1078,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1080,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1080,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1081,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1081,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1084,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1085,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1085,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1089,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1090,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1090,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1092,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1093,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1093,1
    - Dst: MessageDifferencer::ReportDifferencesToString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1097,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1098,1
    - Dst: MessageDifferencer::Compare
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1059
    functionDepth: 6
    functionLinenumber: 1059
    functionLinenumberEnd: 1100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - MessageDifferencer::ReportDifferencesToString
    - ASSERT_THAT
    - MessageDifferencer::Compare
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: "void TEST(JwkSetFromPublicKeysetHandleTest,\n     EcdsaWithTinkOutputPrefixSuccessWithKid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1121,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1121,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1123,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1124,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1124,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1128,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1128,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1133,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1133,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1136,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1136,1
    - Dst: MessageDifferencer::ReportDifferencesToString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1140,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1141,1
    - Dst: MessageDifferencer::Compare
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1102
    functionDepth: 6
    functionLinenumber: 1102
    functionLinenumberEnd: 1143
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - MessageDifferencer::ReportDifferencesToString
    - ASSERT_THAT
    - MessageDifferencer::Compare
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: "void TEST(JwkSetFromPublicKeysetHandleTest,\n     JwtRsaSsaPkcs1WithTinkOutputPrefixSuccessWithKid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1163,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1163,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1165,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1166,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1166,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1170,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1170,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1145
    functionDepth: 6
    functionLinenumber: 1145
    functionLinenumberEnd: 1171
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST(JwkSetFromPublicKeysetHandleTest, WithLegacyOutputPrefixFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1191,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1191,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1193,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1194,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1194,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1198,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1198,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1173
    functionDepth: 6
    functionLinenumber: 1173
    functionLinenumberEnd: 1199
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST(JwkSetFromPublicKeysetHandleTest, WithInvalidKeyMaterialTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1219,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1219,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1221,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1222,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1222,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1226,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1226,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1227
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST(JwkSetFromPublicKeysetHandleTest, WithUnknownTypeUrlFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1247,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1247,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1249,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1250,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1250,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1253,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1254,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1254,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1229
    functionDepth: 6
    functionLinenumber: 1229
    functionLinenumberEnd: 1255
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: void TEST(JwkSetFromPublicKeysetHandleTest, EcdsaWithUnknownAlgorithmFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1266,1
    - Dst: JwtSignatureRegister
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1266,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1266
    functionName: crypto::tink::JwkSetSmallCoordinateConverterTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - JwtSignatureRegister
    - IsOk
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1272,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1273,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1273,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1275,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1275,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1276,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1276,1
    - Dst: CleartextKeysetHandle::GetKeyset
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1278,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1280,1
    - Dst: google::crypto::tink::EcdsaPublicKey::ParseFromString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1281,1
    - Dst: google::crypto::tink::Keyset::key
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1281,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1283,1
    - Dst: google::crypto::tink::EcdsaPublicKey::x
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1283,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1283,1
    - Dst: google::crypto::tink::EcdsaPublicKey::y
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1284,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1284,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1288,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1288,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1292,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1292,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1294,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1294,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1295,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1295,1
    - Dst: MessageDifferencer::ReportDifferencesToString
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1299,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1300,1
    - Dst: MessageDifferencer::Compare
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1300,1
    - Dst: fields
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1303,1
    - Dst: list_value
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1303,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1311,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1311,1
    - Dst: Struct::fields
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1312,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1312,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1313,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1313,1
    - Dst: Struct::fields
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1314,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1314,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1315,1
    - Dst: std::string::size
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1315,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1315,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1316,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1316,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1269
    functionDepth: 6
    functionLinenumber: 1269
    functionLinenumberEnd: 1317
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::EcdsaPublicKey::ParseFromString
    - EXPECT_TRUE
    - list_value
    - std::move
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - ASSERT_THAT
    - ASSERT_FALSE
    - ASSERT_TRUE
    - Struct::fields
    - crypto::tink::JsonKeysetReader::New
    - IsOk
    - google::crypto::tink::Keyset::key
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - GetParam
    - google::crypto::tink::EcdsaPublicKey::y
    - CleartextKeysetHandle::GetKeyset
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - EXPECT_EQ
    - string_value
    - MessageDifferencer::Compare
    - crypto::tink::size
    - crypto::tink::CleartextKeysetHandle::Read
    - MessageDifferencer::ReportDifferencesToString
    - google::crypto::tink::EcdsaPublicKey::x
    - std::string::size
    - fields
    linkageType: ''
    returnType: void
    signature: "void TEST_P(JwkSetSmallCoordinateConverterTest,\n       convertEcdsaKeysetsEncodesFixedSizedCoordinates)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JsonKeysetReader::New
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1355,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1355,1
    - Dst: crypto::tink::CleartextKeysetHandle::Read
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1357,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1358,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1358,1
    - Dst: crypto::tink::JwkSetFromPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1361,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1362,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1362,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwk_set_converter_test.cc:1362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1336
    functionDepth: 6
    functionLinenumber: 1336
    functionLinenumberEnd: 1363
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwk_set_converter_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CleartextKeysetHandle::Read
    - std::move
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::JwkSetFromPublicKeysetHandle
    - crypto::tink::JsonKeysetReader::New
    linkageType: ''
    returnType: void
    signature: "void TEST(JwkSetFromPublicKeysetHandleTest,\n     JwtRsaSsaPkcs1WithUnknownAlgorithmFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - JwtValidatorBuilder
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: crypto::tink::JwtValidator::JwtValidator
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtValidator::JwtValidator(const JwtValidatorBuilder& builder)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:55,1
    - Dst: value
      Src: /src/tink/cc/jwt/jwt_validator.cc:56,1
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/jwt_validator.cc:58,1
    - Dst: HasExpiration
      Src: /src/tink/cc/jwt/jwt_validator.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:61,1
    - Dst: HasExpiration
      Src: /src/tink/cc/jwt/jwt_validator.cc:64,1
    - Dst: GetExpiration
      Src: /src/tink/cc/jwt/jwt_validator.cc:65,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:66,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_validator.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:70,1
    - Dst: HasNotBefore
      Src: /src/tink/cc/jwt/jwt_validator.cc:74,1
    - Dst: GetNotBefore
      Src: /src/tink/cc/jwt/jwt_validator.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:76,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_validator.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:80,1
    - Dst: GetIssuedAt
      Src: /src/tink/cc/jwt/jwt_validator.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_validator.cc:87,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:90,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: crypto::tink::JwtValidator::ValidateTimestamps
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - has_value
    - crypto::tink::internal::ExtractStatus
    - HasExpiration
    - util::StatusOr::ok
    - HasNotBefore
    - GetIssuedAt
    - absl::Now
    - value
    - GetExpiration
    - crypto::tink::util::OkStatus
    - GetNotBefore
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtValidator::ValidateTimestamps(RawJwt const& raw_jwt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:98,1
    - Dst: HasTypeHeader
      Src: /src/tink/cc/jwt/jwt_validator.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:100,1
    - Dst: GetTypeHeader
      Src: /src/tink/cc/jwt/jwt_validator.cc:103,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:104,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_validator.cc:105,1
    - Dst: value
      Src: /src/tink/cc/jwt/jwt_validator.cc:107,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:108,1
    - Dst: HasTypeHeader
      Src: /src/tink/cc/jwt/jwt_validator.cc:112,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:113,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: crypto::tink::JwtValidator::ValidateTypeHeader
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - has_value
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - value
    - GetTypeHeader
    - HasTypeHeader
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtValidator::ValidateTypeHeader(RawJwt const& raw_jwt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:122,1
    - Dst: HasIssuer
      Src: /src/tink/cc/jwt/jwt_validator.cc:123,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:124,1
    - Dst: GetIssuer
      Src: /src/tink/cc/jwt/jwt_validator.cc:127,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:128,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_validator.cc:129,1
    - Dst: value
      Src: /src/tink/cc/jwt/jwt_validator.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:132,1
    - Dst: HasIssuer
      Src: /src/tink/cc/jwt/jwt_validator.cc:135,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:136,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 142
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 142
    functionName: crypto::tink::JwtValidator::ValidateIssuer
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - HasIssuer
    - util::StatusOr::status
    - has_value
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - value
    - crypto::tink::util::OkStatus
    - GetIssuer
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtValidator::ValidateIssuer(RawJwt const& raw_jwt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:145,1
    - Dst: HasAudiences
      Src: /src/tink/cc/jwt/jwt_validator.cc:146,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:147,1
    - Dst: GetAudiences
      Src: /src/tink/cc/jwt/jwt_validator.cc:150,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:151,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_validator.cc:152,1
    - Dst: std::find
      Src: /src/tink/cc/jwt/jwt_validator.cc:155,1
    - Dst: util::StatusOr::begin
      Src: /src/tink/cc/jwt/jwt_validator.cc:155,1
    - Dst: util::StatusOr::end
      Src: /src/tink/cc/jwt/jwt_validator.cc:155,1
    - Dst: util::StatusOr::end
      Src: /src/tink/cc/jwt/jwt_validator.cc:156,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:157,1
    - Dst: HasAudiences
      Src: /src/tink/cc/jwt/jwt_validator.cc:161,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:162,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: crypto::tink::JwtValidator::ValidateAudiences
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::end
    - util::StatusOr::status
    - has_value
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - HasAudiences
    - util::StatusOr::begin
    - GetAudiences
    - crypto::tink::util::OkStatus
    - std::find
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtValidator::ValidateAudiences(RawJwt const& raw_jwt)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtValidator::ValidateTimestamps
      Src: /src/tink/cc/jwt/jwt_validator.cc:172,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:173,1
    - Dst: crypto::tink::JwtValidator::ValidateTypeHeader
      Src: /src/tink/cc/jwt/jwt_validator.cc:176,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:177,1
    - Dst: crypto::tink::JwtValidator::ValidateIssuer
      Src: /src/tink/cc/jwt/jwt_validator.cc:180,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:181,1
    - Dst: crypto::tink::JwtValidator::ValidateAudiences
      Src: /src/tink/cc/jwt/jwt_validator.cc:184,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_validator.cc:185,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: crypto::tink::JwtValidator::Validate
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - crypto::tink::JwtValidator::ValidateAudiences
    - crypto::tink::JwtValidator::ValidateTimestamps
    - crypto::tink::JwtValidator::ValidateIssuer
    - crypto::tink::JwtValidator::ValidateTypeHeader
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtValidator::Validate(RawJwt const& raw_jwt) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ZeroDuration
      Src: /src/tink/cc/jwt/jwt_validator.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 1
    functionsReached:
    - absl::ZeroDuration
    linkageType: ''
    returnType: void
    signature: void JwtValidatorBuilder::JwtValidatorBuilder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwt_validator.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type_header
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: "& JwtValidatorBuilder::ExpectTypeHeader(\n    absl::string_view
      type_header)"
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: "JwtValidatorBuilder & JwtValidatorBuilder::ExpectTypeHeader(\n    absl::string_view
      type_header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwt_validator.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - issuer
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: "& JwtValidatorBuilder::ExpectIssuer(\n    absl::string_view issuer)"
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: "JwtValidatorBuilder & JwtValidatorBuilder::ExpectIssuer(\n    absl::string_view
      issuer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/jwt_validator.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: "& JwtValidatorBuilder::ExpectAudience(\n    absl::string_view audience)"
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: "JwtValidatorBuilder & JwtValidatorBuilder::ExpectAudience(\n    absl::string_view
      audience)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: '& JwtValidatorBuilder::IgnoreTypeHeader()'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & JwtValidatorBuilder::IgnoreTypeHeader()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: '& JwtValidatorBuilder::IgnoreIssuer()'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & JwtValidatorBuilder::IgnoreIssuer()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: '& JwtValidatorBuilder::IgnoreAudiences()'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & JwtValidatorBuilder::IgnoreAudiences()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: '& JwtValidatorBuilder::AllowMissingExpiration()'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & JwtValidatorBuilder::AllowMissingExpiration()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: '& JwtValidatorBuilder::ExpectIssuedInThePast()'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & JwtValidatorBuilder::ExpectIssuedInThePast()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - clock_skew
    argTypes:
    - absl::Duration
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: "& JwtValidatorBuilder::SetClockSkew(\n    absl::Duration clock_skew)"
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: "JwtValidatorBuilder & JwtValidatorBuilder::SetClockSkew(\n    absl::Duration
      clock_skew)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixed_now
    argTypes:
    - absl::Time
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: '& JwtValidatorBuilder::SetFixedNow(absl::Time fixed_now)'
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtValidatorBuilder
    signature: JwtValidatorBuilder & JwtValidatorBuilder::SetFixedNow(absl::Time fixed_now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:255,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:256,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:260,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:261,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_validator.cc:265,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:266,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_validator.cc:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: crypto::tink::JwtValidatorBuilder::Build
    functionSourceFile: /src/tink/cc/jwt/jwt_validator.cc
    functionUses: 0
    functionsReached:
    - has_value
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<JwtValidator>
    signature: util::StatusOr<JwtValidator> JwtValidatorBuilder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc: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: crypto::tink::JwtMacConfigTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwt_mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:47,1
    - Dst: crypto::tink::JwtMacRegister
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:47,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:47,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:49,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:49,1
    - Dst: crypto::tink::JwtHs256Template
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:49,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:50,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:54,1
    - Dst: crypto::tink::JwtMacRegister
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:54,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:56,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:56,1
    - Dst: crypto::tink::JwtHs256Template
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:56,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_mac_config_test.cc:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_mac_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::JwtHs256Template
    - Not
    - IsOk
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::JwtMacRegister
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacConfigTest, FailIfAndOnlyIfInInvalidFipsState)
  - 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: ~JwtPublicKeySign()
    functionSourceFile: /src/tink/cc/jwt/jwt_public_key_sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtPublicKeySign()
  - 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: ~JwtPublicKeyVerify()
    functionSourceFile: /src/tink/cc/jwt/jwt_public_key_verify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtPublicKeyVerify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::JwtHmacKey::Builder::Builder
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(const Builder& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(const Builder& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::JwtHmacKey::Builder::Builder
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder(Builder&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Builder
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: '& operator=(Builder&& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Builder
    signature: Builder & operator=(Builder&& other)
  - 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: crypto::tink::JwtHmacKey::Builder::Builder
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacKey
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: crypto::tink::JwtHmacKey::JwtHmacKey
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtHmacKey(const JwtHmacKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacKey
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: '& operator=(const JwtHmacKey& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacKey
    signature: JwtHmacKey & operator=(const JwtHmacKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacKey
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: crypto::tink::JwtHmacKey::JwtHmacKey
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JwtHmacKey(JwtHmacKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - JwtHmacKey
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& operator=(JwtHmacKey&& other)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacKey
    signature: JwtHmacKey & operator=(JwtHmacKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: '& GetKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetKeyBytes(PartialKeyAccessToken token) const
  - 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacParameters
    signature: JwtHmacParameters & GetParameters() const override
  - 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: crypto::tink::JwtHmacKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() 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: crypto::tink::JwtHmacKey::GetKid
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<std::string>
    signature: absl::optional<std::string> GetKid() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - ' key_bytes'
    - id_requirement
    - kid
    argTypes:
    - JwtHmacParameters
    - RestrictedData
    - absl::optional<int>
    - absl::optional<std::string>
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: crypto::tink::JwtHmacKey::JwtHmacKey
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void JwtHmacKey(const JwtHmacParameters& parameters,\n             const
      RestrictedData& key_bytes,\n             absl::optional<int> id_requirement,\n
      \            absl::optional<std::string> kid)"
  - 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: crypto::tink::VerifiedJwt::VerifiedJwt
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerifiedJwt::VerifiedJwt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: crypto::tink::VerifiedJwt::VerifiedJwt
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerifiedJwt::VerifiedJwt(const RawJwt& raw_jwt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasTypeHeader
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::HasTypeHeader
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasTypeHeader
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasTypeHeader() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetTypeHeader
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::GetTypeHeader
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetTypeHeader
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> VerifiedJwt::GetTypeHeader() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasIssuer
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::HasIssuer
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasIssuer
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasIssuer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetIssuer
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::GetIssuer
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetIssuer
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> VerifiedJwt::GetIssuer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasSubject
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::HasSubject
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasSubject
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasSubject() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetSubject
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::GetSubject
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetSubject
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> VerifiedJwt::GetSubject() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasAudiences
      Src: /src/tink/cc/jwt/verified_jwt.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: crypto::tink::VerifiedJwt::HasAudiences
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasAudiences
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasAudiences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetAudiences
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::GetAudiences
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetAudiences
    linkageType: ''
    returnType: util::StatusOr<std::vector<std::string>>
    signature: util::StatusOr<std::vector<std::string>> VerifiedJwt::GetAudiences()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasJwtId
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::HasJwtId
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasJwtId
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasJwtId() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetJwtId
      Src: /src/tink/cc/jwt/verified_jwt.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: crypto::tink::VerifiedJwt::GetJwtId
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetJwtId
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> VerifiedJwt::GetJwtId() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasExpiration
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::HasExpiration
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasExpiration
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasExpiration() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetExpiration
      Src: /src/tink/cc/jwt/verified_jwt.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: crypto::tink::VerifiedJwt::GetExpiration
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetExpiration
    linkageType: ''
    returnType: util::StatusOr<absl::Time>
    signature: util::StatusOr<absl::Time> VerifiedJwt::GetExpiration() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasNotBefore
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::HasNotBefore
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasNotBefore
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasNotBefore() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetNotBefore
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::GetNotBefore
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetNotBefore
    linkageType: ''
    returnType: util::StatusOr<absl::Time>
    signature: util::StatusOr<absl::Time> VerifiedJwt::GetNotBefore() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::VerifiedJwt::HasIssuedAt
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasIssuedAt
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasIssuedAt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: crypto::tink::VerifiedJwt::GetIssuedAt
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetIssuedAt
    linkageType: ''
    returnType: util::StatusOr<absl::Time>
    signature: util::StatusOr<absl::Time> VerifiedJwt::GetIssuedAt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::IsNullClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: crypto::tink::VerifiedJwt::IsNullClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::IsNullClaim
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::IsNullClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: crypto::tink::VerifiedJwt::HasBooleanClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasBooleanClaim
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasBooleanClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: crypto::tink::VerifiedJwt::GetBooleanClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetBooleanClaim
    linkageType: ''
    returnType: util::StatusOr<bool>
    signature: "util::StatusOr<bool> VerifiedJwt::GetBooleanClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: crypto::tink::VerifiedJwt::HasStringClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasStringClaim
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasStringClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetStringClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: crypto::tink::VerifiedJwt::GetStringClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetStringClaim
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> VerifiedJwt::GetStringClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: crypto::tink::VerifiedJwt::HasNumberClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasNumberClaim
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasNumberClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: crypto::tink::VerifiedJwt::GetNumberClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetNumberClaim
    linkageType: ''
    returnType: util::StatusOr<double>
    signature: "util::StatusOr<double> VerifiedJwt::GetNumberClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasJsonObjectClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: crypto::tink::VerifiedJwt::HasJsonObjectClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasJsonObjectClaim
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasJsonObjectClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetJsonObjectClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: crypto::tink::VerifiedJwt::GetJsonObjectClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetJsonObjectClaim
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> VerifiedJwt::GetJsonObjectClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::HasJsonArrayClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: crypto::tink::VerifiedJwt::HasJsonArrayClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::HasJsonArrayClaim
    linkageType: ''
    returnType: bool
    signature: bool VerifiedJwt::HasJsonArrayClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetJsonArrayClaim
      Src: /src/tink/cc/jwt/verified_jwt.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: crypto::tink::VerifiedJwt::GetJsonArrayClaim
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetJsonArrayClaim
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> VerifiedJwt::GetJsonArrayClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::CustomClaimNames
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::CustomClaimNames
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::CustomClaimNames
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> VerifiedJwt::CustomClaimNames() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::VerifiedJwt::GetJsonPayload
      Src: /src/tink/cc/jwt/verified_jwt.cc: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: crypto::tink::VerifiedJwt::GetJsonPayload
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::VerifiedJwt::GetJsonPayload
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> VerifiedJwt::GetJsonPayload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:69,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:69,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:75,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:76,1
    - Dst: util::StatusOr::GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:76,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:77,1
    - Dst: util::StatusOr::AllowKidAbsent
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:78,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:79,1
    - Dst: util::StatusOr::GetAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:79,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwtHmacParameters::Create
    - util::StatusOr::GetKidStrategy
    - IsOk
    - util::StatusOr::GetAlgorithm
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - std::tie
    - EXPECT_THAT
    - util::StatusOr::AllowKidAbsent
    - GetParam
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacParametersTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:83,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:83,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:89,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::JwtHmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, CreateWithInvalidKidStrategyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:94,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:94,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:100,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::JwtHmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, CreateWithInvalidAlgorithmFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:105,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:105,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:110,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::JwtHmacParameters::Create
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, CreateWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:123,1
    - Dst: JwtHmacParameters::KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:123,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:123,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:124,1
    - Dst: JwtHmacParameters::GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:124,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:124,1
    - Dst: util::StatusOr::GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:125,1
    - Dst: JwtHmacParameters::GetAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:125,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:125,1
    - Dst: util::StatusOr::GetAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:126,1
    - Dst: JwtHmacParameters::AllowKidAbsent
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:126,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:126,1
    - Dst: util::StatusOr::AllowKidAbsent
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:127,1
    - Dst: JwtHmacParameters::HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:127,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacParameters::GetKidStrategy
    - JwtHmacParameters::HasIdRequirement
    - JwtHmacParameters::KeySizeInBytes
    - JwtHmacParameters::AllowKidAbsent
    - crypto::tink::JwtHmacParameters::Create
    - JwtHmacParameters::GetAlgorithm
    - util::StatusOr::GetKidStrategy
    - IsOk
    - util::StatusOr::GetAlgorithm
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::AllowKidAbsent
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:135,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:139,1
    - Dst: JwtHmacParameters::KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:139,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:139,1
    - Dst: util::StatusOr::KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:140,1
    - Dst: JwtHmacParameters::GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:140,1
    - Dst: util::StatusOr::GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:141,1
    - Dst: JwtHmacParameters::GetAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:141,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:141,1
    - Dst: util::StatusOr::GetAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:142,1
    - Dst: JwtHmacParameters::AllowKidAbsent
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:142,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:142,1
    - Dst: util::StatusOr::AllowKidAbsent
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:143,1
    - Dst: JwtHmacParameters::HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:143,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:143,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 144
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacParameters::GetKidStrategy
    - JwtHmacParameters::HasIdRequirement
    - JwtHmacParameters::KeySizeInBytes
    - JwtHmacParameters::AllowKidAbsent
    - crypto::tink::JwtHmacParameters::Create
    - JwtHmacParameters::GetAlgorithm
    - util::StatusOr::GetKidStrategy
    - IsOk
    - util::StatusOr::GetAlgorithm
    - util::StatusOr::KeySizeInBytes
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::AllowKidAbsent
    - Eq
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::tie
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:150,1
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:150,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:154,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:161,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - std::tie
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:172,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, KeySizeNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:190,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:198,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, KidStrategyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:207,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:214,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:216,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::JwtHmacParameters::Create
    - IsOk
    - ASSERT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacParametersTest, AlgorithmNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:41,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:48,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:50,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:50,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:51,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:51,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:51,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:52,1
    - Dst: util::StatusOr::HasIssuer
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:53,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:53,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:54,1
    - Dst: util::StatusOr::HasSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:54,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:55,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:55,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:55,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:56,1
    - Dst: util::StatusOr::HasJwtId
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:57,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:57,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::HasTypeHeader
    - util::StatusOr::GetJwtId
    - IsOk
    - util::StatusOr::GetIssuer
    - util::StatusOr::GetTypeHeader
    - util::StatusOr::HasSubject
    - ASSERT_THAT
    - util::StatusOr::GetSubject
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::HasIssuer
    - RawJwtBuilder
    - util::StatusOr::HasJwtId
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, GetTypeHeaderIssuerSubjectJwtIdOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:61,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:62,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:63,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:69,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:71,1
    - Dst: util::StatusOr::HasNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:72,1
    - Dst: util::StatusOr::GetNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:72,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:72,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:74,1
    - Dst: util::StatusOr::HasIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:75,1
    - Dst: util::StatusOr::GetIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:75,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:75,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:77,1
    - Dst: util::StatusOr::HasExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:78,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:78,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - EXPECT_TRUE
    - util::StatusOr::HasNotBefore
    - IsOk
    - util::StatusOr::GetNotBefore
    - ASSERT_THAT
    - util::StatusOr::HasExpiration
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::HasIssuedAt
    - util::StatusOr::GetIssuedAt
    - util::StatusOr::GetExpiration
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, TimestampsOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:83,1
    - Dst: absl::FromUnixMillis
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:83,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:86,1
    - Dst: util::StatusOr::HasExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:86,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:88,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:88,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - util::StatusOr::HasExpiration
    - absl::FromUnixMillis
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::GetExpiration
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, ExpWithMillisAlwaysRoundDown)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:92,1
    - Dst: absl::FromUnixMillis
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:93,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:98,1
    - Dst: util::StatusOr::HasNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:98,1
    - Dst: util::StatusOr::GetNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:100,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:100,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - EXPECT_TRUE
    - util::StatusOr::HasNotBefore
    - IsOk
    - util::StatusOr::GetNotBefore
    - ASSERT_THAT
    - absl::FromUnixMillis
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, NbfWithMillisAlwaysRoundDown)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:104,1
    - Dst: absl::FromUnixMillis
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:108,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:110,1
    - Dst: util::StatusOr::HasIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:110,1
    - Dst: util::StatusOr::GetIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:112,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:112,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - absl::FromUnixMillis
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::HasIssuedAt
    - util::StatusOr::GetIssuedAt
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, IatWithMillisAlwaysRoundDown)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:116,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:122,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:124,1
    - Dst: util::StatusOr::HasExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:124,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:125,1
    - Dst: util::StatusOr::HasIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:125,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:126,1
    - Dst: util::StatusOr::HasNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:126,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:128,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:128,1
    - Dst: util::StatusOr::GetIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:130,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:130,1
    - Dst: util::StatusOr::GetNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:132,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - EXPECT_TRUE
    - util::StatusOr::HasNotBefore
    - IsOk
    - util::StatusOr::GetNotBefore
    - ASSERT_THAT
    - util::StatusOr::HasExpiration
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::HasIssuedAt
    - util::StatusOr::GetExpiration
    - util::StatusOr::GetIssuedAt
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, LargeExpirationWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:136,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:137,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:137,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:138,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:140,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - EXPECT_FALSE
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, TooLargeTimestampsFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixMillis
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:145,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:146,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:146,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:147,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:148,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:149,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - RawJwtBuilder
    - absl::FromUnixMillis
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, NegativeTimestampsFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixMillis
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:155,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - RawJwtBuilder
    - absl::FromUnixMillis
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetExpirationAndWithoutExpirationFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:160,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, NeitherSetExpirationNorWithoutExpirationFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:166,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:169,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:170,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:170,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetAudiences
    - IsOkAndHolds
    - RawJwtBuilder
    - util::StatusOr::HasAudiences
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetAudienceAndGetAudiencesOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:178,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:181,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:182,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:182,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetAudiences
    - IsOkAndHolds
    - RawJwtBuilder
    - util::StatusOr::HasAudiences
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetAudiencesAndGetAudiencesOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:191,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:194,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:195,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:195,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetAudiences
    - IsOkAndHolds
    - RawJwtBuilder
    - util::StatusOr::HasAudiences
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, AddGetAudiencesOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:203,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:203,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetAudienceStringAud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:211,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:211,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, AddAudienceListAud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:215,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:215,1
    - Dst: Not
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:220,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:221,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:221,1
    - Dst: Not
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - RawJwtBuilder
    - Not
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetAndAddAudienceFail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:231,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:240,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:242,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:242,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:243,1
    - Dst: util::StatusOr::HasBooleanClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:244,1
    - Dst: util::StatusOr::GetBooleanClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:244,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:244,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:245,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:246,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:246,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:246,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:247,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:247,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:248,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:248,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:248,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:249,1
    - Dst: util::StatusOr::HasJsonObjectClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:249,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:250,1
    - Dst: util::StatusOr::GetJsonObjectClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:250,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:251,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:252,1
    - Dst: util::StatusOr::HasJsonArrayClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:253,1
    - Dst: util::StatusOr::GetJsonArrayClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:253,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:259,1
    - Dst: util::StatusOr::CustomClaimNames
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:259,1
    - Dst: UnorderedElementsAreArray
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 261
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - util::StatusOr::GetJsonArrayClaim
    - util::StatusOr::CustomClaimNames
    - ASSERT_THAT
    - util::StatusOr::HasJsonArrayClaim
    - util::StatusOr::HasBooleanClaim
    - util::StatusOr::GetNumberClaim
    - IsOk
    - EXPECT_THAT
    - RawJwtBuilder
    - util::StatusOr::GetBooleanClaim
    - IsOkAndHolds
    - util::StatusOr::GetJsonObjectClaim
    - util::StatusOr::HasJsonObjectClaim
    - UnorderedElementsAreArray
    - util::StatusOr::GetStringClaim
    - util::StatusOr::IsNullClaim
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, GetCustomClaimOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:271,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:273,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:274,1
    - Dst: util::StatusOr::HasBooleanClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:274,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:275,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:275,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:276,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - util::StatusOr::HasBooleanClaim
    - IsOk
    - ASSERT_THAT
    - util::StatusOr::IsNullClaim
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, HasCustomClaimIsFalseForWrongType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:280,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:281,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:285,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:287,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:291,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:291,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:292,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:293,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:294,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:294,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:295,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:295,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:296,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:298,1
    - Dst: util::StatusOr::CustomClaimNames
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:298,1
    - Dst: IsEmpty
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 299
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - IsEmpty
    - IsOk
    - util::StatusOr::CustomClaimNames
    - ASSERT_THAT
    - absl::Now
    - EXPECT_THAT
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, HasAlwaysReturnsFalseForRegisteredClaims)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:302,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:303,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:307,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:311,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:313,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:314,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:314,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:315,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:316,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:317,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:317,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:318,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetNumberClaim
    - IsOk
    - ASSERT_THAT
    - util::StatusOr::GetStringClaim
    - absl::Now
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, GetRegisteredCustomClaimNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:322,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:322,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:327,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:327,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:332,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:332,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:337,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:337,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:342,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:342,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:347,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:347,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:352,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:352,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:357,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:358,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:359,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:359,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:364,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 369
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetRegisteredCustomClaimNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:372,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:372,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:377,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:377,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:382,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:382,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:387,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 392
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetInvalidJsonObjectClaimNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:395,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:395,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:400,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:400,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:405,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:405,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:410,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 415
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, SetInvalidJsonArrayClaimNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:419,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:419,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:421,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:421,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:422,1
    - Dst: util::StatusOr::HasIssuer
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:422,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:423,1
    - Dst: util::StatusOr::HasSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:423,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:424,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:424,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:425,1
    - Dst: util::StatusOr::HasJwtId
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:425,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:426,1
    - Dst: util::StatusOr::HasExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:426,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:427,1
    - Dst: util::StatusOr::HasNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:427,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:428,1
    - Dst: util::StatusOr::HasIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:428,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:429,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:429,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:430,1
    - Dst: util::StatusOr::HasBooleanClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:430,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:431,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:431,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:432,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:432,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:433,1
    - Dst: util::StatusOr::HasJsonObjectClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:433,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:434,1
    - Dst: util::StatusOr::HasJsonArrayClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 435
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - util::StatusOr::HasTypeHeader
    - util::StatusOr::HasBooleanClaim
    - util::StatusOr::HasNotBefore
    - IsOk
    - util::StatusOr::HasAudiences
    - util::StatusOr::HasSubject
    - ASSERT_THAT
    - util::StatusOr::HasExpiration
    - util::StatusOr::HasJsonArrayClaim
    - util::StatusOr::HasIssuedAt
    - util::StatusOr::HasIssuer
    - util::StatusOr::IsNullClaim
    - RawJwtBuilder
    - util::StatusOr::HasJwtId
    - EXPECT_FALSE
    - util::StatusOr::HasJsonObjectClaim
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, EmptyTokenHasAndIsReturnsFalse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:438,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:439,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:439,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:441,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:441,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:442,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:442,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:443,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:443,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:444,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:444,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:445,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:445,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:446,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:446,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:447,1
    - Dst: util::StatusOr::GetNotBefore
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:447,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:448,1
    - Dst: util::StatusOr::GetIssuedAt
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:448,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:449,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:449,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:450,1
    - Dst: util::StatusOr::GetBooleanClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:450,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:451,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:451,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:452,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:452,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:453,1
    - Dst: util::StatusOr::GetJsonObjectClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:453,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:454,1
    - Dst: util::StatusOr::GetJsonArrayClaim
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 455
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonArrayClaim
    - util::StatusOr::GetJwtId
    - IsOk
    - util::StatusOr::GetIssuer
    - util::StatusOr::GetNotBefore
    - util::StatusOr::GetTypeHeader
    - util::StatusOr::IsNullClaim
    - util::StatusOr::GetBooleanClaim
    - ASSERT_THAT
    - util::StatusOr::GetNumberClaim
    - util::StatusOr::GetStringClaim
    - util::StatusOr::GetAudiences
    - util::StatusOr::GetExpiration
    - util::StatusOr::GetSubject
    - util::StatusOr::GetIssuedAt
    - RawJwtBuilder
    - util::StatusOr::GetJsonObjectClaim
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, EmptyTokenGetReturnsNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:458,1
    - Dst: auto::Build
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:462,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:463,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:463,1
    - Dst: auto::SetSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:465,1
    - Dst: auto::Build
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:466,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:467,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:467,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:469,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:469,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:469,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:470,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:470,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:470,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:471,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:471,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:471,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:472,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:472,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::GetIssuer
    - ASSERT_THAT
    - auto::Build
    - EXPECT_THAT
    - IsOkAndHolds
    - auto::SetSubject
    - util::StatusOr::GetSubject
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, BuildCanBeCalledTwice)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:477,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:478,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:478,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:480,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:480,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, GetJsonPayload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:485,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:486,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:488,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:488,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, IntegerIsEncodedAsInteger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:493,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:493,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:494,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:494,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:496,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:496,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, GetExpirationJsonPayload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:501,1
    - Dst: absl::FromUnixNanos
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:501,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:502,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:502,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:504,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:504,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/raw_jwt_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 505
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/raw_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    - absl::FromUnixNanos
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, GetNanoExpirationJsonPayload)
  - 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: ~JwtMac()
    functionSourceFile: /src/tink/cc/jwt/jwt_mac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: crypto::tink::IsRegisteredClaimName
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsRegisteredClaimName(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsRegisteredClaimName
      Src: /src/tink/cc/jwt/raw_jwt.cc:63,1
    - Dst: absl::InvalidArgumentError
      Src: /src/tink/cc/jwt/raw_jwt.cc:64,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:64,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: crypto::tink::ValidatePayloadName
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - absl::InvalidArgumentError
    - crypto::tink::util::OkStatus
    - crypto::tink::IsRegisteredClaimName
    - absl::Substitute
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidatePayloadName(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsRegisteredClaimName
      Src: /src/tink/cc/jwt/raw_jwt.cc:74,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:77,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:78,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:78,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:79,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' json_proto'
    - name
    - kind
    argTypes:
    - google::protobuf::Struct
    - absl::string_view
    - Value::KindCase
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: crypto::tink::HasClaimOfKind
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::IsRegisteredClaimName
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: bool
    signature: "bool HasClaimOfKind(const google::protobuf::Struct& json_proto,\n
      \                   absl::string_view name, Value::KindCase kind)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:89,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:90,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:91,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' json_proto'
    - name
    argTypes:
    - google::protobuf::Struct
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: crypto::tink::ClaimIsNotAString
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ClaimIsNotAString(const google::protobuf::Struct& json_proto,\n
      \                      absl::string_view name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:101,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:102,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:102,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:103,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' json_proto'
    - name
    argTypes:
    - google::protobuf::Struct
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: crypto::tink::ClaimIsNotAList
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ClaimIsNotAList(google::protobuf::Struct& json_proto,\n                     absl::string_view
      name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:113,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:114,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:114,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:115,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' json_proto'
    - name
    argTypes:
    - google::protobuf::Struct
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: crypto::tink::ClaimIsNotATimestamp
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ClaimIsNotATimestamp(const google::protobuf::Struct& json_proto,\n
      \                         absl::string_view name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::ToUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - time
    argTypes:
    - absl::Time
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: crypto::tink::TimeToTimestamp
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - absl::ToUnixSeconds
    linkageType: ''
    returnType: int64_t
    signature: int64_t TimeToTimestamp(absl::Time time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt.cc:133,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/raw_jwt.cc:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timestamp
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: crypto::tink::TimestampToTime
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    linkageType: ''
    returnType: absl::Time
    signature: absl::Time TimestampToTime(double timestamp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:139,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:140,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:140,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:141,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:142,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:145,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:146,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:148,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:149,1
    - Dst: list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:152,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:153,1
    - Dst: list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:156,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:157,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:158,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ' json_proto'
    argTypes:
    - google::protobuf::Struct
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: crypto::tink::ValidateAudienceClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - list_value
    - crypto::tink::internal::ExtractStatus
    - fields
    - crypto::tink::util::OkStatus
    - kind_case
    - find
    linkageType: ''
    returnType: util::Status
    signature: util::Status ValidateAudienceClaim(const google::protobuf::Struct&
      json_proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/raw_jwt.cc:170,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:171,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/raw_jwt.cc:172,1
    - Dst: ClaimIsNotAString
      Src: /src/tink/cc/jwt/raw_jwt.cc:174,1
    - Dst: ClaimIsNotAString
      Src: /src/tink/cc/jwt/raw_jwt.cc:175,1
    - Dst: ClaimIsNotATimestamp
      Src: /src/tink/cc/jwt/raw_jwt.cc:176,1
    - Dst: ClaimIsNotATimestamp
      Src: /src/tink/cc/jwt/raw_jwt.cc:177,1
    - Dst: ClaimIsNotATimestamp
      Src: /src/tink/cc/jwt/raw_jwt.cc:178,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:179,1
    - Dst: ValidateAudienceClaim
      Src: /src/tink/cc/jwt/raw_jwt.cc:182,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:183,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/raw_jwt.cc:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - type_header
    - json_payload
    argTypes:
    - absl::optional<std::string>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: crypto::tink::RawJwt::FromJson
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - ClaimIsNotATimestamp
    - util::Status::ok
    - util::StatusOr::status
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - crypto::tink::internal::ExtractStatus
    - std::move
    - ValidateAudienceClaim
    - util::StatusOr::ok
    - ClaimIsNotAString
    linkageType: ''
    returnType: util::StatusOr<RawJwt>
    signature: "util::StatusOr<RawJwt> RawJwt::FromJson(absl::optional<std::string>
      type_header,\n                                        absl::string_view json_payload)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/raw_jwt.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: crypto::tink::RawJwt::GetJsonPayload
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> RawJwt::GetJsonPayload() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: crypto::tink::RawJwt::RawJwt
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawJwt::RawJwt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type_header
    - json_proto
    argTypes:
    - absl::optional<std::string>
    - google::protobuf::Struct
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: crypto::tink::RawJwt::RawJwt
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void RawJwt::RawJwt(absl::optional<std::string> type_header,\n               google::protobuf::Struct
      json_proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: crypto::tink::RawJwt::HasTypeHeader
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - has_value
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasTypeHeader() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:205,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: crypto::tink::RawJwt::GetTypeHeader
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - has_value
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> RawJwt::GetTypeHeader() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:213,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc: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: crypto::tink::RawJwt::HasIssuer
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasIssuer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:217,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:218,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:218,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:219,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:220,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:223,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:224,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: crypto::tink::RawJwt::GetIssuer
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::internal::ExtractStatus
    - string_value
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> RawJwt::GetIssuer() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:231,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc: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: crypto::tink::RawJwt::HasSubject
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasSubject() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:235,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:236,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:236,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:237,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:238,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:241,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:242,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 246
    functionName: crypto::tink::RawJwt::GetSubject
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::internal::ExtractStatus
    - string_value
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> RawJwt::GetSubject() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:249,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: crypto::tink::RawJwt::HasAudiences
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasAudiences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:253,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:254,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:254,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:255,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:256,1
    - Dst: Value::kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:259,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/jwt/raw_jwt.cc:261,1
    - Dst: Value::string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:261,1
    - Dst: Value::kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:264,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:265,1
    - Dst: Value::list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:269,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:270,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:271,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/jwt/raw_jwt.cc:274,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 277
    functionName: crypto::tink::RawJwt::GetAudiences
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - Value::string_value
    - crypto::tink::internal::ExtractStatus
    - string_value
    - std::vector::push_back
    - Value::list_value
    - fields
    - kind_case
    - Value::kind_case
    - find
    linkageType: ''
    returnType: util::StatusOr<std::vector<std::string>>
    signature: util::StatusOr<std::vector<std::string>> RawJwt::GetAudiences() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:280,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: crypto::tink::RawJwt::HasJwtId
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasJwtId() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:284,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:285,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:285,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:286,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:287,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:290,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:291,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: crypto::tink::RawJwt::GetJwtId
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::internal::ExtractStatus
    - string_value
    - fields
    - kind_case
    - find
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> RawJwt::GetJwtId() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:298,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: crypto::tink::RawJwt::HasExpiration
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasExpiration() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:302,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:303,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:303,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:304,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:305,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:308,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:309,1
    - Dst: TimestampToTime
      Src: /src/tink/cc/jwt/raw_jwt.cc:312,1
    - Dst: number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 313
    functionName: crypto::tink::RawJwt::GetExpiration
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::internal::ExtractStatus
    - number_value
    - fields
    - kind_case
    - TimestampToTime
    - find
    linkageType: ''
    returnType: util::StatusOr<absl::Time>
    signature: util::StatusOr<absl::Time> RawJwt::GetExpiration() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:316,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc: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: crypto::tink::RawJwt::HasNotBefore
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasNotBefore() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:320,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:321,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:321,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:322,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:323,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:326,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:327,1
    - Dst: TimestampToTime
      Src: /src/tink/cc/jwt/raw_jwt.cc:330,1
    - Dst: number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: crypto::tink::RawJwt::GetNotBefore
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::internal::ExtractStatus
    - number_value
    - fields
    - kind_case
    - TimestampToTime
    - find
    linkageType: ''
    returnType: util::StatusOr<absl::Time>
    signature: util::StatusOr<absl::Time> RawJwt::GetNotBefore() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:334,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc: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: crypto::tink::RawJwt::HasIssuedAt
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - fields
    - std::string
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasIssuedAt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:338,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:339,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:339,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:340,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:341,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:344,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:345,1
    - Dst: TimestampToTime
      Src: /src/tink/cc/jwt/raw_jwt.cc:348,1
    - Dst: number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 349
    functionName: crypto::tink::RawJwt::GetIssuedAt
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string
    - crypto::tink::internal::ExtractStatus
    - number_value
    - fields
    - kind_case
    - TimestampToTime
    - find
    linkageType: ''
    returnType: util::StatusOr<absl::Time>
    signature: util::StatusOr<absl::Time> RawJwt::GetIssuedAt() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasClaimOfKind
      Src: /src/tink/cc/jwt/raw_jwt.cc:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: crypto::tink::RawJwt::IsNullClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - HasClaimOfKind
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::IsNullClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasClaimOfKind
      Src: /src/tink/cc/jwt/raw_jwt.cc:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: crypto::tink::RawJwt::HasBooleanClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - HasClaimOfKind
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasBooleanClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:361,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:362,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:365,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:366,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:366,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:367,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:368,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:369,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:372,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:373,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:374,1
    - Dst: bool_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: crypto::tink::RawJwt::GetBooleanClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - util::Status::ok
    - std::string
    - crypto::tink::internal::ExtractStatus
    - ValidatePayloadName
    - bool_value
    - fields
    - kind_case
    - absl::Substitute
    - find
    linkageType: ''
    returnType: util::StatusOr<bool>
    signature: "util::StatusOr<bool> RawJwt::GetBooleanClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasClaimOfKind
      Src: /src/tink/cc/jwt/raw_jwt.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: crypto::tink::RawJwt::HasStringClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - HasClaimOfKind
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasStringClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:385,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:386,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:389,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:390,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:390,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:391,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:392,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:393,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:396,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:397,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:398,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: crypto::tink::RawJwt::GetStringClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - util::Status::ok
    - std::string
    - crypto::tink::internal::ExtractStatus
    - string_value
    - ValidatePayloadName
    - fields
    - kind_case
    - absl::Substitute
    - find
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> RawJwt::GetStringClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasClaimOfKind
      Src: /src/tink/cc/jwt/raw_jwt.cc:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: crypto::tink::RawJwt::HasNumberClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - HasClaimOfKind
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasNumberClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:408,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:409,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:412,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:413,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:413,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:414,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:415,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:416,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:419,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:420,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:421,1
    - Dst: number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 424
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 424
    functionName: crypto::tink::RawJwt::GetNumberClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - util::Status::ok
    - std::string
    - crypto::tink::internal::ExtractStatus
    - ValidatePayloadName
    - number_value
    - fields
    - kind_case
    - absl::Substitute
    - find
    linkageType: ''
    returnType: util::StatusOr<double>
    signature: util::StatusOr<double> RawJwt::GetNumberClaim(absl::string_view name)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasClaimOfKind
      Src: /src/tink/cc/jwt/raw_jwt.cc:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: crypto::tink::RawJwt::HasJsonObjectClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - HasClaimOfKind
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasJsonObjectClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:432,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:433,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:436,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:437,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:437,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:438,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:439,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:440,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:443,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:444,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:446,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/raw_jwt.cc:448,1
    - Dst: struct_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 449
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 449
    functionName: crypto::tink::RawJwt::GetJsonObjectClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - util::Status::ok
    - std::string
    - crypto::tink::internal::ExtractStatus
    - ValidatePayloadName
    - struct_value
    - fields
    - kind_case
    - absl::Substitute
    - find
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> RawJwt::GetJsonObjectClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasClaimOfKind
      Src: /src/tink/cc/jwt/raw_jwt.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: crypto::tink::RawJwt::HasJsonArrayClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - HasClaimOfKind
    linkageType: ''
    returnType: bool
    signature: bool RawJwt::HasJsonArrayClaim(absl::string_view name) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:457,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:458,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:461,1
    - Dst: find
      Src: /src/tink/cc/jwt/raw_jwt.cc:462,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:462,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:463,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:464,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:465,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/raw_jwt.cc:468,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:469,1
    - Dst: absl::Substitute
      Src: /src/tink/cc/jwt/raw_jwt.cc:471,1
    - Dst: crypto::tink::jwt_internal::ProtoListToJsonString
      Src: /src/tink/cc/jwt/raw_jwt.cc:473,1
    - Dst: list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 474
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 474
    functionName: crypto::tink::RawJwt::GetJsonArrayClaim
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - util::Status::ok
    - std::string
    - list_value
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::jwt_internal::ProtoListToJsonString
    - ValidatePayloadName
    - fields
    - kind_case
    - absl::Substitute
    - find
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> RawJwt::GetJsonArrayClaim(\n    absl::string_view
      name) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:477,1
    - Dst: begin
      Src: /src/tink/cc/jwt/raw_jwt.cc:479,1
    - Dst: end
      Src: /src/tink/cc/jwt/raw_jwt.cc:479,1
    - Dst: IsRegisteredClaimName
      Src: /src/tink/cc/jwt/raw_jwt.cc:480,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/jwt/raw_jwt.cc:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: crypto::tink::RawJwt::CustomClaimNames
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - end
    - IsRegisteredClaimName
    - begin
    - std::vector::push_back
    - fields
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> RawJwt::CustomClaimNames() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: crypto::tink::RawJwtBuilder::RawJwtBuilder
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RawJwtBuilder::RawJwtBuilder()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - type_header
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: '& RawJwtBuilder::SetTypeHeader(absl::string_view type_header)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetTypeHeader(absl::string_view type_header)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:495,1
    - Dst: Value::set_string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:497,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:497,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - issuer
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 500
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 500
    functionName: '& RawJwtBuilder::SetIssuer(absl::string_view issuer)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - mutable_fields
    - std::string
    - Value::set_string_value
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetIssuer(absl::string_view issuer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:503,1
    - Dst: Value::set_string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:505,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:505,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - subject
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: '& RawJwtBuilder::SetSubject(absl::string_view subject)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - mutable_fields
    - std::string
    - Value::set_string_value
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetSubject(absl::string_view subject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClaimIsNotAString
      Src: /src/tink/cc/jwt/raw_jwt.cc:513,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:514,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:519,1
    - Dst: Value::set_string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:521,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:521,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: '& RawJwtBuilder::SetAudience(absl::string_view audience)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - Value::set_string_value
    - std::string
    - crypto::tink::internal::ExtractStatus
    - mutable_fields
    - ClaimIsNotAString
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetAudience(absl::string_view audience)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClaimIsNotAList
      Src: /src/tink/cc/jwt/raw_jwt.cc:528,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:529,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:534,1
    - Dst: Value::mutable_list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:537,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - audiences
    argTypes:
    - std::vector<std::string>
    constantsTouched: []
    func_position:
      end: 541
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 541
    functionName: '& RawJwtBuilder::SetAudiences(std::vector<std::string> audiences)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - ClaimIsNotAList
    - mutable_fields
    - Value::mutable_list_value
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetAudiences(std::vector<std::string>
      audiences)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ClaimIsNotAList
      Src: /src/tink/cc/jwt/raw_jwt.cc:545,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:546,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:551,1
    - Dst: auto::insert
      Src: /src/tink/cc/jwt/raw_jwt.cc:553,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:553,1
    - Dst: Value
      Src: /src/tink/cc/jwt/raw_jwt.cc:553,1
    - Dst: auto::first::second::mutable_list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:555,1
    - Dst: google::protobuf::ListValue*::add_values
      Src: /src/tink/cc/jwt/raw_jwt.cc:556,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 558
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 558
    functionName: '& RawJwtBuilder::AddAudience(absl::string_view audience)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - auto::first::second::mutable_list_value
    - std::string
    - crypto::tink::internal::ExtractStatus
    - google::protobuf::ListValue*::add_values
    - Value
    - ClaimIsNotAList
    - auto::insert
    - mutable_fields
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::AddAudience(absl::string_view audience)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:561,1
    - Dst: Value::set_string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:563,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:563,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - jwid
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: '& RawJwtBuilder::SetJwtId(absl::string_view jwid)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - mutable_fields
    - std::string
    - Value::set_string_value
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetJwtId(absl::string_view jwid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 571
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 571
    functionName: '& RawJwtBuilder::WithoutExpiration()'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::WithoutExpiration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:576,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:577,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:582,1
    - Dst: Value::set_number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:584,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - expiration
    argTypes:
    - absl::Time
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: '& RawJwtBuilder::SetExpiration(absl::Time expiration)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - std::string
    - has_value
    - crypto::tink::internal::ExtractStatus
    - Value::set_number_value
    - mutable_fields
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetExpiration(absl::Time expiration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:592,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:593,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:598,1
    - Dst: Value::set_number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:600,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - not_before
    argTypes:
    - absl::Time
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 603
    functionName: '& RawJwtBuilder::SetNotBefore(absl::Time not_before)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - std::string
    - has_value
    - crypto::tink::internal::ExtractStatus
    - Value::set_number_value
    - mutable_fields
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetNotBefore(absl::Time not_before)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:608,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:609,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:614,1
    - Dst: Value::set_number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:616,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - issued_at
    argTypes:
    - absl::Time
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: '& RawJwtBuilder::SetIssuedAt(absl::Time issued_at)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - std::string
    - has_value
    - crypto::tink::internal::ExtractStatus
    - Value::set_number_value
    - mutable_fields
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::SetIssuedAt(absl::Time issued_at)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:622,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:623,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:624,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:629,1
    - Dst: Value::set_null_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:631,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: '& RawJwtBuilder::AddNullClaim(absl::string_view name)'
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - std::string
    - has_value
    - Value::set_null_value
    - mutable_fields
    - ValidatePayloadName
    linkageType: ''
    returnType: RawJwtBuilder
    signature: RawJwtBuilder & RawJwtBuilder::AddNullClaim(absl::string_view name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:638,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:639,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:640,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:645,1
    - Dst: Value::set_bool_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:647,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - bool_value
    argTypes:
    - absl::string_view
    - bool
    constantsTouched: []
    func_position:
      end: 650
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 650
    functionName: "& RawJwtBuilder::AddBooleanClaim(absl::string_view name,\n                                              bool
      bool_value)"
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - std::string
    - has_value
    - Value::set_bool_value
    - mutable_fields
    - ValidatePayloadName
    linkageType: ''
    returnType: RawJwtBuilder
    signature: "RawJwtBuilder & RawJwtBuilder::AddBooleanClaim(absl::string_view name,\n
      \                                             bool bool_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:654,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:655,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:656,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:661,1
    - Dst: Value::set_string_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:663,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:663,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - string_value
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: "& RawJwtBuilder::AddStringClaim(absl::string_view name,\n                                             absl::string_view
      string_value)"
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - Value::set_string_value
    - util::Status::ok
    - std::string
    - has_value
    - mutable_fields
    - ValidatePayloadName
    linkageType: ''
    returnType: RawJwtBuilder
    signature: "RawJwtBuilder & RawJwtBuilder::AddStringClaim(absl::string_view name,\n
      \                                            absl::string_view string_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:670,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:671,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:672,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:677,1
    - Dst: Value::set_number_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:679,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - double_value
    argTypes:
    - absl::string_view
    - double
    constantsTouched: []
    func_position:
      end: 682
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 682
    functionName: "& RawJwtBuilder::AddNumberClaim(absl::string_view name,\n                                             double
      double_value)"
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - std::string
    - has_value
    - Value::set_number_value
    - mutable_fields
    - ValidatePayloadName
    linkageType: ''
    returnType: RawJwtBuilder
    signature: "RawJwtBuilder & RawJwtBuilder::AddNumberClaim(absl::string_view name,\n
      \                                            double double_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:686,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:687,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:688,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/raw_jwt.cc:694,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:695,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:696,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/raw_jwt.cc:697,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:701,1
    - Dst: Value::mutable_struct_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:703,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/raw_jwt.cc:703,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - name
    - object_value
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 706
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 706
    functionName: "& RawJwtBuilder::AddJsonObjectClaim(\n    absl::string_view name,
      absl::string_view object_value)"
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - Value::mutable_struct_value
    - util::Status::ok
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - util::StatusOr::status
    - has_value
    - std::string
    - std::move
    - util::StatusOr::ok
    - mutable_fields
    - ValidatePayloadName
    linkageType: ''
    returnType: RawJwtBuilder
    signature: "RawJwtBuilder & RawJwtBuilder::AddJsonObjectClaim(\n    absl::string_view
      name, absl::string_view object_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidatePayloadName
      Src: /src/tink/cc/jwt/raw_jwt.cc:710,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:711,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:712,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoList
      Src: /src/tink/cc/jwt/raw_jwt.cc:718,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/raw_jwt.cc:719,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:720,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/raw_jwt.cc:721,1
    - Dst: mutable_fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:725,1
    - Dst: Value::mutable_list_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:727,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - name
    - array_value
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 730
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 730
    functionName: "& RawJwtBuilder::AddJsonArrayClaim(absl::string_view name,\n                                                absl::string_view
      array_value)"
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - Value::mutable_list_value
    - has_value
    - std::string
    - ValidatePayloadName
    - util::StatusOr::ok
    - mutable_fields
    - crypto::tink::jwt_internal::JsonStringToProtoList
    linkageType: ''
    returnType: RawJwtBuilder
    signature: "RawJwtBuilder & RawJwtBuilder::AddJsonArrayClaim(absl::string_view
      name,\n                                                absl::string_view array_value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/raw_jwt.cc:733,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:736,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:736,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:738,1
    - Dst: fields
      Src: /src/tink/cc/jwt/raw_jwt.cc:742,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/raw_jwt.cc:742,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/raw_jwt.cc:744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 750
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 750
    functionName: crypto::tink::RawJwtBuilder::Build
    functionSourceFile: /src/tink/cc/jwt/raw_jwt.cc
    functionUses: 0
    functionsReached:
    - has_value
    - crypto::tink::internal::ExtractStatus
    - fields
    - std::string
    linkageType: ''
    returnType: util::StatusOr<RawJwt>
    signature: util::StatusOr<RawJwt> RawJwtBuilder::Build()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - JwtHmacParameters
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: "& JwtHmacKey::Builder::SetParameters(\n    const JwtHmacParameters&
      parameters)"
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacKey::Builder
    signature: "JwtHmacKey::Builder & JwtHmacKey::Builder::SetParameters(\n    const
      JwtHmacParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' key_bytes'
    argTypes:
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: "& JwtHmacKey::Builder::SetKeyBytes(\n    const RestrictedData&
      key_bytes)"
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacKey::Builder
    signature: "JwtHmacKey::Builder & JwtHmacKey::Builder::SetKeyBytes(\n    const
      RestrictedData& key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id_requirement
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: '& JwtHmacKey::Builder::SetIdRequirement(int id_requirement)'
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: JwtHmacKey::Builder
    signature: JwtHmacKey::Builder & JwtHmacKey::Builder::SetIdRequirement(int id_requirement)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::data
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - custom_kid
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: "& JwtHmacKey::Builder::SetCustomKid(\n    absl::string_view custom_kid)"
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::data
    linkageType: ''
    returnType: JwtHmacKey::Builder
    signature: "JwtHmacKey::Builder & JwtHmacKey::Builder::SetCustomKid(\n    absl::string_view
      custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:60,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:63,1
    - Dst: crypto::tink::subtle::BigEndianStore32
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:69,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:70,1
    - Dst: absl::string_view
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:70,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:75,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:81,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:82,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 93
    functionName: JwtHmacKey::Builder::ComputeKid()
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - has_value
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::BigEndianStore32
    - absl::WebSafeBase64Escape
    - GetKidStrategy
    linkageType: ''
    returnType: util::StatusOr<absl::optional<std::string>>
    signature: util::StatusOr<absl::optional<std::string>> JwtHmacKey::Builder::ComputeKid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:98,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:101,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:102,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:105,1
    - Dst: size
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:105,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:106,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:111,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:112,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:117,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:117,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:118,1
    - Dst: ComputeKid
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:123,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:124,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:125,1
    - Dst: JwtHmacKey
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: "JwtHmacKey::Builder::Build(\n    PartialKeyAccessToken token)"
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - size
    - has_value
    - crypto::tink::internal::ExtractStatus
    - JwtHmacKey
    - ComputeKid
    - util::StatusOr::ok
    - KeySizeInBytes
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<JwtHmacKey>
    signature: "util::StatusOr<JwtHmacKey> JwtHmacKey::Builder::Build(\n    PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const JwtHmacKey*>
      Src: /src/tink/cc/jwt/jwt_hmac_key.cc:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: JwtHmacKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const JwtHmacKey*>
    linkageType: ''
    returnType: bool
    signature: bool JwtHmacKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:34,1
    - Dst: absl::make_unique<jwt_internal::JwtMacWrapper>
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:35,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:36,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:40,1
    - Dst: absl::make_unique<jwt_internal::JwtHmacKeyManager>
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:41,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:42,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:44,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:45,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_mac_config.cc:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: crypto::tink::JwtMacRegister
    functionSourceFile: /src/tink/cc/jwt/jwt_mac_config.cc
    functionUses: 1
    functionsReached:
    - absl::make_unique<jwt_internal::JwtMacWrapper>
    - absl::make_unique<jwt_internal::JwtHmacKeyManager>
    - crypto::tink::Registry::RegisterKeyTypeManager
    - auto::ok
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtMacRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:40,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeySignWrapper>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:41,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:42,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:43,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeyVerifyWrapper>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:45,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:50,1
    - Dst: absl::make_unique<jwt_internal::JwtEcdsaSignKeyManager>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:51,1
    - Dst: absl::make_unique<jwt_internal::JwtEcdsaVerifyKeyManager>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:52,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:53,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:55,1
    - Dst: absl::make_unique<jwt_internal::JwtRsaSsaPkcs1SignKeyManager>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:56,1
    - Dst: absl::make_unique<jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:57,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:58,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:60,1
    - Dst: absl::make_unique<jwt_internal::JwtRsaSsaPssSignKeyManager>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:61,1
    - Dst: absl::make_unique<jwt_internal::JwtRsaSsaPssVerifyKeyManager>
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:62,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:63,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:65,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:66,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/jwt_signature_config.cc:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 72
    functionName: crypto::tink::JwtSignatureRegister
    functionSourceFile: /src/tink/cc/jwt/jwt_signature_config.cc
    functionUses: 3
    functionsReached:
    - absl::make_unique<jwt_internal::JwtPublicKeyVerifyWrapper>
    - absl::make_unique<jwt_internal::JwtRsaSsaPssSignKeyManager>
    - auto::ok
    - absl::make_unique<jwt_internal::JwtEcdsaVerifyKeyManager>
    - absl::make_unique<jwt_internal::JwtRsaSsaPkcs1SignKeyManager>
    - absl::make_unique<jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager>
    - absl::make_unique<jwt_internal::JwtRsaSsaPssVerifyKeyManager>
    - absl::make_unique<jwt_internal::JwtEcdsaSignKeyManager>
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::util::OkStatus
    - absl::make_unique<jwt_internal::JwtPublicKeySignWrapper>
    linkageType: ''
    returnType: util::Status
    signature: util::Status JwtSignatureRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - output_prefix_type
    - has_custom_kid
    argTypes:
    - OutputPrefixType
    - bool
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: crypto::tink::ToKidStrategy
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<JwtHmacParameters::KidStrategy>
    signature: "util::StatusOr<JwtHmacParameters::KidStrategy> ToKidStrategy(\n    OutputPrefixType
      output_prefix_type, bool has_custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - kid_strategy
    argTypes:
    - JwtHmacParameters::KidStrategy
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 36
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    JwtHmacParameters::KidStrategy
      kid_strategy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - JwtHmacAlgorithm
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: crypto::tink::FromProtoAlgorithm
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<JwtHmacParameters::Algorithm>
    signature: "util::StatusOr<JwtHmacParameters::Algorithm> FromProtoAlgorithm(\n
      \   JwtHmacAlgorithm algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - JwtHmacParameters::Algorithm
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: crypto::tink::ToProtoAlgorithm
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<JwtHmacAlgorithm>
    signature: "util::StatusOr<JwtHmacAlgorithm> ToProtoAlgorithm(\n    JwtHmacParameters::Algorithm
      algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:130,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:131,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:132,1
    - Dst: crypto::tink::FromProtoAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:135,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:136,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:137,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - key_size_in_bytes
    - output_prefix_type
    - proto_algorithm
    - has_custom_kid
    argTypes:
    - int
    - OutputPrefixType
    - JwtHmacAlgorithm
    - bool
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 15
    functionsReached:
    - crypto::tink::JwtHmacParameters::Create
    - util::StatusOr::status
    - util::StatusOr::ok
    - crypto::tink::FromProtoAlgorithm
    - crypto::tink::ToKidStrategy
    linkageType: ''
    returnType: util::StatusOr<JwtHmacParameters>
    signature: "util::StatusOr<JwtHmacParameters> ToParameters(\n    int key_size_in_bytes,
      OutputPrefixType output_prefix_type,\n    JwtHmacAlgorithm proto_algorithm,
      bool has_custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:145,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:146,1
    - Dst: JwtHmacKeyFormat::ParseFromString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:150,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:151,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:152,1
    - Dst: JwtHmacKeyFormat::version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:156,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:161,1
    - Dst: JwtHmacKeyFormat::key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:161,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:162,1
    - Dst: JwtHmacKeyFormat::algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKeyFormat::version
    - JwtHmacKeyFormat::ParseFromString
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::ToParameters
    - JwtHmacKeyFormat::algorithm
    - GetKeyTemplate
    - JwtHmacKeyFormat::key_size
    linkageType: ''
    returnType: util::StatusOr<JwtHmacParameters>
    signature: "util::StatusOr<JwtHmacParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:168,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:169,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:174,1
    - Dst: GetKidStrategy
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:174,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:175,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:176,1
    - Dst: crypto::tink::ToProtoAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:179,1
    - Dst: GetAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:179,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:180,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:181,1
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:185,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:186,1
    - Dst: KeySizeInBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:186,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:187,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:189,1
    - Dst: JwtHmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - JwtHmacParameters
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ToProtoAlgorithm
    - util::StatusOr::status
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ExtractStatus
    - JwtHmacKeyFormat::set_version
    - JwtHmacKeyFormat::set_algorithm
    - GetAlgorithm
    - util::StatusOr::ok
    - GetKidStrategy
    - JwtHmacKeyFormat::set_key_size
    - KeySizeInBytes
    - JwtHmacKeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const JwtHmacParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:196,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:197,1
    - Dst: TypeUrl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:200,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:201,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:206,1
    - Dst: google::crypto::tink::JwtHmacKey::ParseFromString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:207,1
    - Dst: GetSecret
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:207,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:208,1
    - Dst: google::crypto::tink::JwtHmacKey::version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:211,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:212,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:217,1
    - Dst: google::crypto::tink::JwtHmacKey::key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:218,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:218,1
    - Dst: google::crypto::tink::JwtHmacKey::algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:219,1
    - Dst: google::crypto::tink::JwtHmacKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:219,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:220,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:221,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:225,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:227,1
    - Dst: google::crypto::tink::JwtHmacKey::key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:227,1
    - Dst: IdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:228,1
    - Dst: JwtHmacKey::Builder::SetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:229,1
    - Dst: IdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:229,1
    - Dst: google::crypto::tink::JwtHmacKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:231,1
    - Dst: JwtHmacKey::Builder::SetCustomKid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:232,1
    - Dst: google::crypto::tink::JwtHmacKey::custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:232,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:234,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 235
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 235
    functionName: crypto::tink::ParseKey
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::ToParameters
    - IdRequirement
    - google::crypto::tink::JwtHmacKey::version
    - util::StatusOr::ok
    - GetOutputPrefixType
    - GetSecret
    - google::crypto::tink::JwtHmacKey::ParseFromString
    - RestrictedData
    - google::crypto::tink::JwtHmacKey::has_custom_kid
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::JwtHmacKey::custom_kid
    - JwtHmacKey::Builder::Build
    - absl::optional<SecretKeyAccessToken>::has_value
    - JwtHmacKey::Builder::SetCustomKid
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::JwtHmacKey::algorithm
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - SerializedKeyProto
    - google::crypto::tink::JwtHmacKey::key_value
    - TypeUrl
    - JwtHmacKey::Builder::SetIdRequirement
    linkageType: ''
    returnType: util::StatusOr<JwtHmacKey>
    signature: "util::StatusOr<JwtHmacKey> ParseKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:239,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:240,1
    - Dst: GetKeyBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:244,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:244,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:245,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:246,1
    - Dst: crypto::tink::ToProtoAlgorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:249,1
    - Dst: GetParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:249,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:250,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:251,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:255,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:256,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:256,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:257,1
    - Dst: GetParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:258,1
    - Dst: google::crypto::tink::JwtHmacKey::mutable_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:260,1
    - Dst: GetKid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:260,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:264,1
    - Dst: GetParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:264,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:265,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:266,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:270,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:270,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:271,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - JwtHmacKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: crypto::tink::SerializeKey
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::mutable_custom_kid
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - util::StatusOr::GetSecret
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - google::crypto::tink::JwtHmacKey::set_version
    - util::StatusOr::ok
    - GetIdRequirement
    - GetParameters
    - GetKeyBytes
    - RestrictedData
    - absl::optional<SecretKeyAccessToken>::has_value
    - crypto::tink::GetPartialKeyAccess
    - GetKid
    - crypto::tink::ToProtoAlgorithm
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializeKey(\n    const
      JwtHmacKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacProtoParametersParserImpl::JwtHmacProtoParametersParserImpl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: crypto::tink::JwtHmacProtoParametersParser
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - JwtHmacProtoParametersParserImpl::JwtHmacProtoParametersParserImpl
    linkageType: ''
    returnType: JwtHmacProtoParametersParserImpl
    signature: JwtHmacProtoParametersParserImpl * JwtHmacProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacProtoParametersSerializerImpl::JwtHmacProtoParametersSerializerImpl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: crypto::tink::JwtHmacProtoParametersSerializer
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - JwtHmacProtoParametersSerializerImpl::JwtHmacProtoParametersSerializerImpl
    linkageType: ''
    returnType: JwtHmacProtoParametersSerializerImpl
    signature: JwtHmacProtoParametersSerializerImpl * JwtHmacProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacProtoKeyParserImpl::JwtHmacProtoKeyParserImpl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: crypto::tink::JwtHmacProtoKeyParser
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - JwtHmacProtoKeyParserImpl::JwtHmacProtoKeyParserImpl
    linkageType: ''
    returnType: JwtHmacProtoKeyParserImpl
    signature: JwtHmacProtoKeyParserImpl * JwtHmacProtoKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacProtoKeySerializerImpl::JwtHmacProtoKeySerializerImpl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: crypto::tink::JwtHmacProtoKeySerializer
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - JwtHmacProtoKeySerializerImpl::JwtHmacProtoKeySerializerImpl
    linkageType: ''
    returnType: JwtHmacProtoKeySerializerImpl
    signature: JwtHmacProtoKeySerializerImpl * JwtHmacProtoKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:302,1
    - Dst: crypto::tink::JwtHmacProtoParametersParser
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:303,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:304,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:309,1
    - Dst: crypto::tink::JwtHmacProtoParametersSerializer
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:310,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:311,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:315,1
    - Dst: crypto::tink::JwtHmacProtoKeyParser
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:316,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:317,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:321,1
    - Dst: crypto::tink::JwtHmacProtoKeySerializer
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 323
    functionName: crypto::tink::RegisterJwtHmacProtoSerialization
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwtHmacProtoKeyParser
    - util::Status::ok
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::JwtHmacProtoParametersSerializer
    - crypto::tink::JwtHmacProtoKeySerializer
    - crypto::tink::JwtHmacProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterJwtHmacProtoSerialization()
  - 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: crypto::tink::VerifiedJwt::VerifiedJwt
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VerifiedJwt(const VerifiedJwt&)
  - 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: '& operator=(const VerifiedJwt&)'
    functionSourceFile: /src/tink/cc/jwt/verified_jwt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VerifiedJwt
    signature: VerifiedJwt & operator=(const VerifiedJwt&)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:66,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:70,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:71,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:72,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::ok
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:73,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:74,1
    - Dst: absl::make_unique<jwt_internal::JwtMacImpl>
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:77,1
    - Dst: std::unique_ptr::ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:81,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:82,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:83,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:85,1
    - Dst: GetIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:91,1
    - Dst: JwtValidatorBuilder::SetFixedNow
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:92,1
    - Dst: JwtValidatorBuilder::Build
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:94,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:96,1
    - Dst: std::unique_ptr::VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - ' raw_jwt'
    argTypes:
    - RawJwt
    constantsTouched: []
    func_position:
      end: 99
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 99
    functionName: crypto::tink::CreateVerifiedJwt
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
    - crypto::tink::subtle::HmacBoringSsl::New
    - util::StatusOr::status
    - std::unique_ptr::VerifyMacAndDecodeWithKid
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - std::unique_ptr::ComputeMacAndEncodeWithKid
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - JwtValidatorBuilder
    - GetIssuedAt
    - crypto::tink::util::Enums::ProtoToSubtle
    - absl::make_unique<jwt_internal::JwtMacImpl>
    - JwtValidatorBuilder::SetFixedNow
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::ok
    - JwtValidatorBuilder::Build
    linkageType: ''
    returnType: util::StatusOr<VerifiedJwt>
    signature: util::StatusOr<VerifiedJwt> CreateVerifiedJwt(const RawJwt& raw_jwt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:109,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:112,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:114,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:115,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:115,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:116,1
    - Dst: util::StatusOr::HasIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:117,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:117,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:117,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:118,1
    - Dst: util::StatusOr::HasSubject
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:119,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:119,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:120,1
    - Dst: util::StatusOr::HasJwtId
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:120,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:121,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:121,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::HasTypeHeader
    - util::StatusOr::GetJwtId
    - IsOk
    - util::StatusOr::GetIssuer
    - util::StatusOr::GetTypeHeader
    - util::StatusOr::HasSubject
    - ASSERT_THAT
    - util::StatusOr::GetSubject
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::HasIssuer
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    - util::StatusOr::HasJwtId
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, GetTypeIssuerSubjectJwtIdOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:125,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:127,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:129,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:133,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:137,1
    - Dst: util::StatusOr::HasNotBefore
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:137,1
    - Dst: util::StatusOr::GetNotBefore
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:139,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:140,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:140,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:141,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:141,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:143,1
    - Dst: util::StatusOr::HasIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:143,1
    - Dst: util::StatusOr::GetIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:145,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:146,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:146,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:147,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:147,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:149,1
    - Dst: util::StatusOr::HasExpiration
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:149,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:151,1
    - Dst: EXPECT_LT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:152,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:152,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:153,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::HasNotBefore
    - IsOk
    - util::StatusOr::GetNotBefore
    - ASSERT_THAT
    - util::StatusOr::HasExpiration
    - EXPECT_GT
    - absl::Now
    - util::StatusOr::HasIssuedAt
    - util::StatusOr::GetIssuedAt
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    - util::StatusOr::GetExpiration
    - EXPECT_LT
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, TimestampsOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:162,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:164,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:167,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:168,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:168,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 169
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetAudiences
    - IsOkAndHolds
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    - util::StatusOr::HasAudiences
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, GetAudiencesOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:182,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:184,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:186,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:187,1
    - Dst: util::StatusOr::HasBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:188,1
    - Dst: util::StatusOr::GetBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:188,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:188,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:189,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:190,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:190,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:191,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:192,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:192,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:192,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:193,1
    - Dst: util::StatusOr::HasJsonObjectClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:194,1
    - Dst: util::StatusOr::GetJsonObjectClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:194,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:196,1
    - Dst: util::StatusOr::HasJsonArrayClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:197,1
    - Dst: util::StatusOr::GetJsonArrayClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:197,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:203,1
    - Dst: util::StatusOr::CustomClaimNames
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:203,1
    - Dst: testing::UnorderedElementsAreArray
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 205
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - testing::UnorderedElementsAreArray
    - util::StatusOr::GetJsonArrayClaim
    - util::StatusOr::CustomClaimNames
    - ASSERT_THAT
    - util::StatusOr::HasJsonArrayClaim
    - util::StatusOr::HasBooleanClaim
    - util::StatusOr::GetNumberClaim
    - IsOk
    - EXPECT_THAT
    - RawJwtBuilder
    - crypto::tink::CreateVerifiedJwt
    - util::StatusOr::GetBooleanClaim
    - IsOkAndHolds
    - util::StatusOr::GetJsonObjectClaim
    - util::StatusOr::HasJsonObjectClaim
    - util::StatusOr::GetStringClaim
    - util::StatusOr::IsNullClaim
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, GetCustomClaimOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:216,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:218,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:220,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:220,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:221,1
    - Dst: util::StatusOr::HasBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:221,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:222,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:222,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:223,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 4
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - util::StatusOr::HasBooleanClaim
    - util::StatusOr::IsNullClaim
    - IsOk
    - ASSERT_THAT
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, HasCustomClaimIsFalseForWrongType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:227,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:229,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:233,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:237,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:239,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:241,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:241,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:242,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:243,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:244,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:244,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:245,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:245,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:246,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:248,1
    - Dst: util::StatusOr::CustomClaimNames
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:248,1
    - Dst: crypto::tink::internal::KeyTypeInfoStore::IsEmpty
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - crypto::tink::internal::KeyTypeInfoStore::IsEmpty
    - IsOk
    - util::StatusOr::CustomClaimNames
    - ASSERT_THAT
    - absl::Now
    - EXPECT_THAT
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, HasAlwaysReturnsFalseForRegisteredClaims)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:252,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:254,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:258,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:262,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:264,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:266,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:266,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:267,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:267,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:268,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:268,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:269,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:269,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:270,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:270,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:271,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 272
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetNumberClaim
    - IsOk
    - ASSERT_THAT
    - util::StatusOr::GetStringClaim
    - absl::Now
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, GetRegisteredCustomClaimNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:277,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:279,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:281,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:281,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:282,1
    - Dst: util::StatusOr::HasIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:282,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:283,1
    - Dst: util::StatusOr::HasSubject
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:283,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:284,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:284,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:285,1
    - Dst: util::StatusOr::HasJwtId
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:285,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:286,1
    - Dst: util::StatusOr::HasExpiration
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:286,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:287,1
    - Dst: util::StatusOr::HasNotBefore
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:287,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:288,1
    - Dst: util::StatusOr::HasIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:288,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:289,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:289,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:290,1
    - Dst: util::StatusOr::HasBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:290,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:291,1
    - Dst: util::StatusOr::HasNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:291,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:292,1
    - Dst: util::StatusOr::HasStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:292,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:293,1
    - Dst: util::StatusOr::HasJsonObjectClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:293,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:294,1
    - Dst: util::StatusOr::HasJsonArrayClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 295
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::HasStringClaim
    - util::StatusOr::HasNumberClaim
    - util::StatusOr::HasNotBefore
    - util::StatusOr::HasSubject
    - ASSERT_THAT
    - util::StatusOr::HasExpiration
    - util::StatusOr::HasJsonArrayClaim
    - util::StatusOr::HasIssuer
    - EXPECT_FALSE
    - util::StatusOr::HasTypeHeader
    - util::StatusOr::HasBooleanClaim
    - IsOk
    - util::StatusOr::HasIssuedAt
    - RawJwtBuilder
    - util::StatusOr::HasJwtId
    - util::StatusOr::HasAudiences
    - crypto::tink::CreateVerifiedJwt
    - util::StatusOr::HasJsonObjectClaim
    - util::StatusOr::IsNullClaim
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, EmptyTokenHasAndIsReturnsFalse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:300,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:302,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:304,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:304,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:305,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:305,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:306,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:306,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:307,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:307,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:308,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:308,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:309,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:309,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:310,1
    - Dst: util::StatusOr::GetNotBefore
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:310,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:311,1
    - Dst: util::StatusOr::GetIssuedAt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:312,1
    - Dst: util::StatusOr::IsNullClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:312,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:313,1
    - Dst: util::StatusOr::GetBooleanClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:313,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:314,1
    - Dst: util::StatusOr::GetNumberClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:314,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:315,1
    - Dst: util::StatusOr::GetStringClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:315,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:316,1
    - Dst: util::StatusOr::GetJsonObjectClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:316,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:317,1
    - Dst: util::StatusOr::GetJsonArrayClaim
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 318
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonArrayClaim
    - util::StatusOr::GetJwtId
    - ASSERT_THAT
    - EXPECT_FALSE
    - util::StatusOr::GetNumberClaim
    - IsOk
    - util::StatusOr::GetSubject
    - RawJwtBuilder
    - crypto::tink::CreateVerifiedJwt
    - util::StatusOr::GetNotBefore
    - util::StatusOr::GetBooleanClaim
    - util::StatusOr::GetTypeHeader
    - util::StatusOr::GetAudiences
    - util::StatusOr::GetJsonObjectClaim
    - util::StatusOr::GetStringClaim
    - util::StatusOr::GetExpiration
    - util::StatusOr::GetIssuedAt
    - util::StatusOr::IsNullClaim
    - util::StatusOr::GetIssuer
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, EmptyTokenGetReturnsNotOK)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:322,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:323,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:325,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:327,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:327,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetJsonPayload
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, GetJsonPayload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:333,1
    - Dst: crypto::tink::CreateVerifiedJwt
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:335,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:337,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:340,1
    - Dst: VerifiedJwt::HasIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:340,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:341,1
    - Dst: VerifiedJwt::GetIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:341,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:341,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:342,1
    - Dst: VerifiedJwt::HasIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:342,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:343,1
    - Dst: VerifiedJwt::GetIssuer
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:343,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/verified_jwt_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/verified_jwt_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - VerifiedJwt::GetIssuer
    - VerifiedJwt::HasIssuer
    - IsOk
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::CreateVerifiedJwt
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(VerifiedJwt, MoveMakesCopy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:49,1
    - Dst: JwtMacRegister
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc: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: crypto::tink::JwtMacKeyTemplatesTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - JwtMacRegister
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:53,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:56,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:57,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:59,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:61,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:65,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:69,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:71,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:75,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:79,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:79,1
    - Dst: crypto::tink::test::IsOkAndHolds
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:79,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:86,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - VerifyMacAndDecode
    - IsOk
    - util::StatusOr::GetIssuer
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::test::IsOkAndHolds
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - RawJwtBuilder
    - GetParam
    - EXPECT_FALSE
    - crypto::tink::ConfigGlobalRegistry
    - ComputeMacAndEncode
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtMacKeyTemplatesTest, CreateComputeVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:95,1
    - Dst: JwtSignatureRegister
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc: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: crypto::tink::JwtSignatureKeyTemplatesTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - JwtSignatureRegister
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:99,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:102,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:103,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:105,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:108,1
    - Dst: crypto::tink::GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:110,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:111,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:113,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:116,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:120,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:123,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:129,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:133,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:133,1
    - Dst: crypto::tink::test::IsOkAndHolds
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:133,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:140,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/jwt_key_templates_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - SignAndEncode
    - IsOk
    - util::StatusOr::GetIssuer
    - crypto::tink::GetPublicKeysetHandle
    - crypto::tink::KeyGenConfigGlobalRegistry
    - VerifyAndDecode
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - crypto::tink::GetPrimitive
    - RawJwtBuilder
    - GetParam
    - EXPECT_FALSE
    - crypto::tink::ConfigGlobalRegistry
    - crypto::tink::test::IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtSignatureKeyTemplatesTest, CreateComputeVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/jwt/jwt_signature_private_key.h: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: crypto::tink::JwtSignaturePrivateKey::GetKid
    functionSourceFile: /src/tink/cc/jwt/jwt_signature_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: absl::optional<std::string>
    signature: absl::optional<std::string> GetKid() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/jwt/jwt_signature_private_key.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: crypto::tink::JwtSignaturePrivateKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/jwt/jwt_signature_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetPublicKey
      Src: /src/tink/cc/jwt/jwt_signature_private_key.h: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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/jwt/jwt_signature_private_key.h
    functionUses: 0
    functionsReached:
    - GetPublicKey
    linkageType: ''
    returnType: JwtSignatureParameters
    signature: JwtSignatureParameters & GetParameters() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:33,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:35,1
    - Dst: std::set<KidStrategy>::set<KidStrategy>
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:39,1
    - Dst: std::set*::find
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:41,1
    - Dst: std::set*::end
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:42,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:43,1
    - Dst: std::set<Algorithm>::set<Algorithm>
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:48,1
    - Dst: std::set*::find
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:50,1
    - Dst: std::set*::end
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:50,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:51,1
    - Dst: crypto::tink::JwtHmacParameters::JwtHmacParameters
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - key_size_in_bytes
    - kid_strategy
    - algorithm
    argTypes:
    - int
    - KidStrategy
    - Algorithm
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: crypto::tink::JwtHmacParameters::Create
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.cc
    functionUses: 26
    functionsReached:
    - std::set*::find
    - crypto::tink::internal::ExtractStatus
    - std::set*::end
    - crypto::tink::JwtHmacParameters::JwtHmacParameters
    - std::set<KidStrategy>::set<KidStrategy>
    - absl::StrCat
    - std::set<Algorithm>::set<Algorithm>
    linkageType: ''
    returnType: util::StatusOr<JwtHmacParameters>
    signature: "util::StatusOr<JwtHmacParameters> JwtHmacParameters::Create(\n    int
      key_size_in_bytes, KidStrategy kid_strategy, Algorithm algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const JwtHmacParameters*>
      Src: /src/tink/cc/jwt/jwt_hmac_parameters.cc:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: JwtHmacParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const JwtHmacParameters*>
    linkageType: ''
    returnType: bool
    signature: bool JwtHmacParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc: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: crypto::tink::JwtSignatureConfigTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwt_signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:47,1
    - Dst: crypto::tink::JwtSignatureRegister
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:47,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:47,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:49,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:49,1
    - Dst: crypto::tink::JwtEs256Template
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:49,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:50,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:52,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:52,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:53,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:53,1
    - Dst: crypto::tink::JwtRs256_2048_F4_Template
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:53,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:54,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:57,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:57,1
    - Dst: crypto::tink::JwtPs256_2048_F4_Template
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:57,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:58,1
    - Dst: Not
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:62,1
    - Dst: crypto::tink::JwtSignatureRegister
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:64,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:64,1
    - Dst: crypto::tink::JwtEs256Template
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:64,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:68,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:68,1
    - Dst: crypto::tink::JwtRs256_2048_F4_Template
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:68,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:72,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:72,1
    - Dst: crypto::tink::JwtPs256_2048_F4_Template
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:72,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_signature_config_test.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::JwtEs256Template
    - crypto::tink::JwtRs256_2048_F4_Template
    - Not
    - IsOk
    - crypto::tink::JwtPs256_2048_F4_Template
    - crypto::tink::KeyGenConfigGlobalRegistry
    - crypto::tink::JwtSignatureRegister
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtSignatureConfigTest, FailIfAndOnlyIfInInvalidFipsState)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: crypto::tink::JwtHmacProtoSerializationTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:86,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:87,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:87,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::RegisterJwtHmacProtoSerialization
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:112,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:112,1
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:115,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:116,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:117,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:120,1
    - Dst: JwtHmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:122,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:128,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:128,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:128,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - JwtHmacKeyFormat::set_version
    - TestCase::id::has_value
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - Eq
    - EXPECT_THAT
    - HasIdRequirement
    - GetParam
    - JwtHmacKeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacProtoSerializationTest, ParseParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:137,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:137,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:142,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:147,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:147,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:148,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseParametersWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:153,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:153,1
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:156,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:157,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:158,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:161,1
    - Dst: JwtHmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:163,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:168,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:168,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:169,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - JwtHmacKeyFormat::set_version
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - JwtHmacKeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseParametersWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:174,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:174,1
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:177,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:178,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:182,1
    - Dst: JwtHmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:184,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:187,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:189,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:189,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:190,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - JwtHmacKeyFormat::set_version
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - JwtHmacKeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseParametersWithUnknownAlgorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:202,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:204,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:204,1
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:207,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:208,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:209,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:212,1
    - Dst: JwtHmacKeyFormat::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:214,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:219,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:220,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:221,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - JwtHmacKeyFormat::set_version
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - GetParam
    - JwtHmacKeyFormat::SerializeAsString
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacParsePrefixTest, ParseParametersWithInvalidPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:226,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:227,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:227,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:231,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:238,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:238,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:238,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:241,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:243,1
    - Dst: NotNull
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:244,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:244,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:245,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:245,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:249,1
    - Dst: JwtHmacKeyFormat::ParseFromString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:250,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:250,1
    - Dst: IsTrue
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:252,1
    - Dst: JwtHmacKeyFormat::version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:252,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:253,1
    - Dst: JwtHmacKeyFormat::key_size
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:253,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:253,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:254,1
    - Dst: JwtHmacKeyFormat::algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:254,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 255
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - JwtHmacKeyFormat::version
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - JwtHmacKeyFormat::ParseFromString
    - ASSERT_THAT
    - JwtHmacKeyFormat::algorithm
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    - JwtHmacKeyFormat::key_size
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacProtoSerializationTest, SerializeParameters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:258,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:258,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:263,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:266,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:269,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:270,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:271,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - util::StatusOr::status
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, SerializeParametersWithCustomKidFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:279,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:279,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:281,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:283,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:284,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:285,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:286,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:287,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:287,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:293,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:296,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:298,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:298,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:299,1
    - Dst: GetParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:299,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:301,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:301,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:301,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:304,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:306,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:309,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:312,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:312,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:313,1
    - Dst: JwtHmacKey::Builder::SetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:314,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:317,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:318,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:319,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 320
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - IsOk
    - google::crypto::tink::JwtHmacKey::set_version
    - EXPECT_THAT
    - GetIdRequirement
    - GetParam
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParameters
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - JwtHmacKey::Builder::SetIdRequirement
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacProtoSerializationTest, ParseKeyWithoutCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:323,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:323,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:325,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:327,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:328,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:329,1
    - Dst: google::crypto::tink::JwtHmacKey::mutable_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:330,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:331,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:332,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:332,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:335,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:338,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:341,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:342,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:343,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:343,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:344,1
    - Dst: GetParameters
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:344,1
    - Dst: IsFalse
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:344,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:345,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:345,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:345,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:348,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:351,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:351,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:354,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:357,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:357,1
    - Dst: google::crypto::tink::JwtHmacKey::custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:358,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:359,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:360,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:360,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:361,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 362
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::mutable_custom_kid
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - IsFalse
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - IsOk
    - google::crypto::tink::JwtHmacKey::set_version
    - EXPECT_THAT
    - GetIdRequirement
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParameters
    - internal::MutableSerializationRegistry::GlobalInstance
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - google::crypto::tink::JwtHmacKey::custom_kid
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseKeyWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:365,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:365,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:367,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:369,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:370,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:371,1
    - Dst: google::crypto::tink::JwtHmacKey::mutable_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:372,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:373,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:374,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:374,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:377,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:380,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:383,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:384,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:387,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:387,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - google::crypto::tink::JwtHmacKey::mutable_custom_kid
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::JwtHmacKey::set_version
    - ASSERT_THAT
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseTinkKeyWithCustomKidFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:391,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:391,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:391,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:393,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:395,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:396,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:397,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:399,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:402,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:405,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:405,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:408,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:409,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:410,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:410,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:411,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 413
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::JwtHmacKey::set_version
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:416,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:416,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:416,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:418,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:420,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:421,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:422,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:423,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:424,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:424,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:427,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:430,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:430,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:433,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:434,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:435,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:436,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:437,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 440
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::JwtHmacKey::set_version
    - ASSERT_THAT
    - HasSubstr
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:443,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:444,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:445,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:445,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:445,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:447,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:449,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:450,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:451,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:452,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:453,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:453,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:456,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:460,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:460,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:463,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:464,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:465,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:466,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:467,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 469
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::JwtHmacKey::set_version
    - HasSubstr
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - GetParam
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacParsePrefixTest, ParseKeyWithInvalidPrefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:472,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:472,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:472,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:474,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:476,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:477,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:478,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:479,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:480,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:480,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:483,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:486,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:486,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:489,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:490,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:491,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:491,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:492,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 494
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::JwtHmacKey::set_version
    - ASSERT_THAT
    - HasSubstr
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseKeyWithUnknownAlgorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:497,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:497,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:497,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:499,1
    - Dst: google::crypto::tink::JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:501,1
    - Dst: google::crypto::tink::JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:502,1
    - Dst: google::crypto::tink::JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:503,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:504,1
    - Dst: google::crypto::tink::JwtHmacKey::SerializeAsString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:505,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:505,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:508,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:511,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:511,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:514,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:516,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:516,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:516,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 518
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::JwtHmacKey::set_algorithm
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::JwtHmacKey::set_version
    - ASSERT_THAT
    - HasSubstr
    - google::crypto::tink::JwtHmacKey::SerializeAsString
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::JwtHmacKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, ParseKeyWithoutSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:521,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:522,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:522,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:522,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:524,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:526,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:526,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:528,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:530,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:533,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:533,1
    - Dst: TestCase::id::has_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:534,1
    - Dst: JwtHmacKey::Builder::SetIdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:535,1
    - Dst: JwtHmacKey::Builder::Build
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:537,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:538,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:538,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:541,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:543,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:544,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:544,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:545,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:545,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:545,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:548,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:549,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:550,1
    - Dst: NotNull
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:550,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:551,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:551,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:551,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:552,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:552,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:552,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:553,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:553,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:554,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:555,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:555,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:555,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:558,1
    - Dst: google::crypto::tink::JwtHmacKey::ParseFromString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:558,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:559,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:560,1
    - Dst: IsTrue
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:561,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:562,1
    - Dst: google::crypto::tink::JwtHmacKey::version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:562,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:562,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:563,1
    - Dst: google::crypto::tink::JwtHmacKey::key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:563,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:563,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:564,1
    - Dst: google::crypto::tink::JwtHmacKey::algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:564,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:564,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:565,1
    - Dst: google::crypto::tink::JwtHmacKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:565,1
    - Dst: IsFalse
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 566
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - IsFalse
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - google::crypto::tink::JwtHmacKey::version
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - TestCase::id::has_value
    - internal::MutableSerializationRegistry::GlobalInstance
    - google::crypto::tink::JwtHmacKey::ParseFromString
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - JwtHmacKey::Builder::Build
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::JwtHmacKey::has_custom_kid
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - google::crypto::tink::JwtHmacKey::algorithm
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - google::crypto::tink::JwtHmacKey::key_value
    - JwtHmacKey::Builder::SetIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(JwtHmacProtoSerializationTest, SerializeKeyWithoutCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:569,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:569,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:569,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:571,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:574,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:574,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:576,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:578,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:581,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:581,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:583,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:584,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:584,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:587,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:589,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:590,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:590,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:591,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:591,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:591,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:594,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:595,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:596,1
    - Dst: NotNull
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:596,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:597,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:597,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:597,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:598,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:598,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:598,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:599,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:599,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:600,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:601,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:601,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:601,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:604,1
    - Dst: google::crypto::tink::JwtHmacKey::ParseFromString
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:604,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:605,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:606,1
    - Dst: IsTrue
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:607,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:608,1
    - Dst: google::crypto::tink::JwtHmacKey::version
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:608,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:608,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:609,1
    - Dst: google::crypto::tink::JwtHmacKey::key_value
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:609,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:609,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:610,1
    - Dst: google::crypto::tink::JwtHmacKey::algorithm
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:610,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:610,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:611,1
    - Dst: google::crypto::tink::JwtHmacKey::has_custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:611,1
    - Dst: IsTrue
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:611,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:612,1
    - Dst: google::crypto::tink::JwtHmacKey::custom_kid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:612,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:612,1
    - Dst: util::StatusOr::GetKid
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 613
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - util::StatusOr::GetKid
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - google::crypto::tink::JwtHmacKey::version
    - IsOk
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - google::crypto::tink::JwtHmacKey::ParseFromString
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::JwtHmacKey::has_custom_kid
    - google::crypto::tink::JwtHmacKey::custom_kid
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - google::crypto::tink::JwtHmacKey::algorithm
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - google::crypto::tink::JwtHmacKey::key_value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, SerializeKeyWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:616,1
    - Dst: crypto::tink::RegisterJwtHmacProtoSerialization
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:616,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:616,1
    - Dst: crypto::tink::JwtHmacParameters::Create
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:618,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:621,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:621,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:623,1
    - Dst: crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:625,1
    - Dst: RestrictedData
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:628,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:628,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:629,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:630,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:630,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:633,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:636,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:636,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:637,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 639
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::JwtHmacParameters::Create
    - crypto::tink::RegisterJwtHmacProtoSerialization
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - util::StatusOr::status
    - RestrictedData
    - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - HasSubstr
    - StatusIs
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtHmacProtoSerializationTest, SerializeKeyWithoutSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:38,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:39,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:39,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:41,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:41,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - ASSERT_THAT
    - IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseThenSerializeStructWtihStringListOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:47,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:48,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:48,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:50,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:50,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - ASSERT_THAT
    - IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseThenSerializeStructWtihNumberOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:56,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:57,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:57,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:59,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:59,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - ASSERT_THAT
    - IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseThenSerializeStructWtihBoolOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoList
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:66,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:68,1
    - Dst: crypto::tink::jwt_internal::ProtoListToJsonString
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:68,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::jwt_internal::ProtoListToJsonString
    - ASSERT_THAT
    - IsOkAndHolds
    - crypto::tink::jwt_internal::JsonStringToProtoList
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseThenSerializeListOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:74,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - util::StatusOr::ok
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseInvalidStructTokenNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:79,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - util::StatusOr::ok
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseInvalidListTokenNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::append
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:86,1
    - Dst: std::string::append
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:88,1
    - Dst: std::string::append
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:90,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:92,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:93,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - std::string::append
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, parseRecursiveJsonStringFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:100,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:100,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - ASSERT_THAT
    - IsOkAndHolds
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseStructWithoutQuotesOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoList
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:105,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:106,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::JsonStringToProtoList
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseListWithoutQuotesNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseStructWithCommentNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoList
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:117,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:118,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/json_util_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/json_util_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::JsonStringToProtoList
    linkageType: ''
    returnType: void
    signature: void TEST(JsonUtil, ParseListWithCommentNotOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::RawJwtEcdsaVerifyKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtEcdsaVerifyKeyManager()
  - 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: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: crypto::tink::jwt_internal::isValidUrlsafeBase64Char
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isValidUrlsafeBase64Char(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::isValidUrlsafeBase64Char
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:50,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - absl::string_view
    - std::string*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 11
    functionsReached:
    - crypto::tink::jwt_internal::isValidUrlsafeBase64Char
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    linkageType: ''
    returnType: bool
    signature: bool StrictWebSafeBase64Unescape(absl::string_view src, std::string*
      dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:60,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:63,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:64,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' kid_in_header'
    - kid
    argTypes:
    - google::protobuf::Value
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: crypto::tink::jwt_internal::ValidateKidInHeader
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - kind_case
    - string_value
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateKidInHeader(const google::protobuf::Value& kid_in_header,\n
      \                                absl::string_view kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json_header
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: crypto::tink::jwt_internal::EncodeHeader
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - absl::WebSafeBase64Escape
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeHeader(absl::string_view json_header)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - header
    - json_header
    argTypes:
    - absl::string_view
    - std::string*
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: crypto::tink::jwt_internal::DecodeHeader
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    linkageType: ''
    returnType: bool
    signature: bool DecodeHeader(absl::string_view header, std::string* json_header)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::BigEndianStore32
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:86,1
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:87,1
    - Dst: absl::string_view
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key_id
    - output_prefix_type
    argTypes:
    - uint32_t
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: crypto::tink::jwt_internal::GetKid
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 3
    functionsReached:
    - absl::string_view
    - crypto::tink::subtle::BigEndianStore32
    - absl::WebSafeBase64Escape
    linkageType: ''
    returnType: absl::optional<std::string>
    signature: "absl::optional<std::string> GetKid(uint32_t key_id,\n                                   OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:92,1
    - Dst: std::string::size
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:95,1
    - Dst: absl::big_endian::Load32
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:99,1
    - Dst: std::string::data
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - kid
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: crypto::tink::jwt_internal::GetKeyId
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - absl::big_endian::Load32
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - std::string::size
    linkageType: ''
    returnType: absl::optional<uint32_t>
    signature: absl::optional<uint32_t> GetKeyId(absl::string_view kid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::Struct::mutable_fields
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:106,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:107,1
    - Dst: set_string_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:108,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:108,1
    - Dst: absl::optional<absl::string_view>::value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:108,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:110,1
    - Dst: set_string_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:111,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:111,1
    - Dst: absl::optional<absl::string_view>::value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:111,1
    - Dst: set_string_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:113,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:113,1
    - Dst: crypto::tink::jwt_internal::ProtoStructToJsonString
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:115,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:116,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:117,1
    - Dst: crypto::tink::jwt_internal::EncodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - algorithm
    - type_header
    - kid
    argTypes:
    - absl::string_view
    - absl::optional<absl::string_view>
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: crypto::tink::jwt_internal::CreateHeader
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::ProtoStructToJsonString
    - std::string
    - util::StatusOr::status
    - absl::optional<absl::string_view>::has_value
    - crypto::tink::jwt_internal::EncodeHeader
    - set_string_value
    - absl::optional<absl::string_view>::value
    - google::protobuf::Struct::mutable_fields
    - util::StatusOr::ok
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> CreateHeader(\n    absl::string_view algorithm,
      absl::optional<absl::string_view> type_header,\n    absl::optional<absl::string_view>
      kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:126,1
    - Dst: auto::find
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:127,1
    - Dst: auto::end
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:128,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:129,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:133,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:134,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:137,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:138,1
    - Dst: auto::find
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:140,1
    - Dst: auto::end
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:140,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:141,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:145,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:145,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:146,1
    - Dst: auto::find
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:149,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:151,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:154,1
    - Dst: crypto::tink::jwt_internal::ValidateKidInHeader
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:157,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:158,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:162,1
    - Dst: crypto::tink::jwt_internal::ValidateKidInHeader
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:163,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:164,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:168,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - ' header'
    - algorithm
    - tink_kid
    - custom_kid
    argTypes:
    - google::protobuf::Struct
    - absl::string_view
    - absl::optional<absl::string_view>
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 169
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 169
    functionName: crypto::tink::jwt_internal::ValidateHeader
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - absl::optional<absl::string_view>::has_value
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::jwt_internal::ValidateKidInHeader
    - auto::find
    - crypto::tink::util::OkStatus
    - string_value
    - auto::end
    - fields
    - kind_case
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ValidateHeader(const google::protobuf::Struct& header,\n
      \                           absl::string_view algorithm,\n                            absl::optional<absl::string_view>
      tink_kid,\n                            absl::optional<absl::string_view> custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:173,1
    - Dst: fields
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:174,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:178,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' header'
    argTypes:
    - google::protobuf::Struct
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: crypto::tink::jwt_internal::GetTypeHeader
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - fields
    - kind_case
    - string_value
    linkageType: ''
    returnType: absl::optional<std::string>
    signature: "absl::optional<std::string> GetTypeHeader(\n    const google::protobuf::Struct&
      header)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - json_payload
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: crypto::tink::jwt_internal::EncodePayload
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - absl::WebSafeBase64Escape
    linkageType: ''
    returnType: std::string
    signature: std::string EncodePayload(absl::string_view json_payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - payload
    - json_payload
    argTypes:
    - absl::string_view
    - std::string*
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: crypto::tink::jwt_internal::DecodePayload
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    linkageType: ''
    returnType: bool
    signature: bool DecodePayload(absl::string_view payload, std::string* json_payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WebSafeBase64Escape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - signature
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: crypto::tink::jwt_internal::EncodeSignature
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - absl::WebSafeBase64Escape
    linkageType: ''
    returnType: std::string
    signature: std::string EncodeSignature(absl::string_view signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - encoded_signature
    - signature
    argTypes:
    - absl::string_view
    - std::string*
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: crypto::tink::jwt_internal::DecodeSignature
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    linkageType: ''
    returnType: bool
    signature: "bool DecodeSignature(absl::string_view encoded_signature,\n                     std::string*
      signature)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::RawJwt::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type_header
    - json_payload
    argTypes:
    - absl::optional<std::string>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: crypto::tink::jwt_internal::RawJwtParser::FromJson
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::RawJwt::FromJson
    linkageType: ''
    returnType: util::StatusOr<RawJwt>
    signature: "util::StatusOr<RawJwt> RawJwtParser::FromJson(\n    absl::optional<std::string>
      type_header, absl::string_view json_payload)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::RawJwtRsaSsaPssVerifyKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtRsaSsaPssVerifyKeyManager()
  - 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: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - jwt_sign_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<JwtPublicKeySignInternal>>
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: crypto::tink::jwt_internal::JwtPublicKeySignSetWrapper::JwtPublicKeySignSetWrapper
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void JwtPublicKeySignSetWrapper(\n      std::unique_ptr<PrimitiveSet<JwtPublicKeySignInternal>>
      jwt_sign_set)"
  - 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: ~JwtPublicKeySignSetWrapper() override
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtPublicKeySignSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:59,1
    - Dst: PrimitiveSet<JwtPublicKeySignInternal>*::get_primary
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:63,1
    - Dst: PrimitiveSet<JwtPublicKeySignInternal>*::get_all
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:66,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:67,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:69,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - jwt_sign_set
    argTypes:
    - PrimitiveSet<JwtPublicKeySignInternal>*
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: crypto::tink::jwt_internal::Validate
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_output_prefix_type
    - crypto::tink::internal::ExtractStatus
    - PrimitiveSet<JwtPublicKeySignInternal>*::get_all
    - PrimitiveSet<JwtPublicKeySignInternal>*::get_primary
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<JwtPublicKeySignInternal>* jwt_sign_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:78,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:79,1
    - Dst: GetKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:80,1
    - Dst: auto::get_key_id
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:80,1
    - Dst: auto::get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - crypto::tink::RawJwt
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::JwtPublicKeySignSetWrapper::SignAndEncode
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - GetKid
    - get_primary
    - auto::get_key_id
    - auto::get_primitive
    - auto::get_output_prefix_type
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> JwtPublicKeySignSetWrapper::SignAndEncode(\n
      \   const crypto::tink::RawJwt& token) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:88,1
    - Dst: std::unique_ptr<PrimitiveSet<JwtPublicKeySignInternal>>::get
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:88,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:89,1
    - Dst: absl::make_unique<JwtPublicKeySignSetWrapper>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - jwt_sign_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<JwtPublicKeySignInternal>>
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: crypto::tink::jwt_internal::JwtPublicKeySignWrapper::Wrap
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<JwtPublicKeySignSetWrapper>
    - util::Status::ok
    - std::move
    - std::unique_ptr<PrimitiveSet<JwtPublicKeySignInternal>>::get
    - Validate
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<JwtPublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<JwtPublicKeySign>> JwtPublicKeySignWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<JwtPublicKeySignInternal>> jwt_sign_set)\n
      \   const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.h:44,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.h:45,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.h:46,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mac
    - algorithm
    - custom_kid
    argTypes:
    - std::unique_ptr<crypto::tink::Mac>
    - absl::string_view
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: crypto::tink::jwt_internal::JwtMacImpl::JwtMacImpl
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::string
    - absl::optional<absl::string_view>::has_value
    linkageType: ''
    returnType: void
    signature: "void JwtMacImpl(std::unique_ptr<crypto::tink::Mac> mac,\n                      absl::string_view
      algorithm,\n                      absl::optional<absl::string_view> custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JsonStringToMessage
      Src: /src/tink/cc/jwt/internal/json_util.cc:42,1
    - Dst: absl::Status::ok
      Src: /src/tink/cc/jwt/internal/json_util.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/json_util.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json_string
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: crypto::tink::jwt_internal::JsonStringToProtoStruct
    functionSourceFile: /src/tink/cc/jwt/internal/json_util.cc
    functionUses: 15
    functionsReached:
    - absl::Status::ok
    - crypto::tink::internal::ExtractStatus
    - JsonStringToMessage
    linkageType: ''
    returnType: util::StatusOr<Struct>
    signature: util::StatusOr<Struct> JsonStringToProtoStruct(absl::string_view json_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JsonStringToMessage
      Src: /src/tink/cc/jwt/internal/json_util.cc:53,1
    - Dst: absl::Status::ok
      Src: /src/tink/cc/jwt/internal/json_util.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/json_util.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - json_string
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: crypto::tink::jwt_internal::JsonStringToProtoList
    functionSourceFile: /src/tink/cc/jwt/internal/json_util.cc
    functionUses: 4
    functionsReached:
    - absl::Status::ok
    - crypto::tink::internal::ExtractStatus
    - JsonStringToMessage
    linkageType: ''
    returnType: util::StatusOr<ListValue>
    signature: util::StatusOr<ListValue> JsonStringToProtoList(absl::string_view json_string)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MessageToJsonString
      Src: /src/tink/cc/jwt/internal/json_util.cc:62,1
    - Dst: absl::Status::ok
      Src: /src/tink/cc/jwt/internal/json_util.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' proto'
    argTypes:
    - Struct
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: crypto::tink::jwt_internal::ProtoStructToJsonString
    functionSourceFile: /src/tink/cc/jwt/internal/json_util.cc
    functionUses: 8
    functionsReached:
    - absl::Status::ok
    - MessageToJsonString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ProtoStructToJsonString(const Struct& proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MessageToJsonString
      Src: /src/tink/cc/jwt/internal/json_util.cc:71,1
    - Dst: absl::Status::ok
      Src: /src/tink/cc/jwt/internal/json_util.cc:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' proto'
    argTypes:
    - ListValue
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: crypto::tink::jwt_internal::ProtoListToJsonString
    functionSourceFile: /src/tink/cc/jwt/internal/json_util.cc
    functionUses: 2
    functionsReached:
    - absl::Status::ok
    - MessageToJsonString
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> ProtoListToJsonString(const ListValue&
      proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:71,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:73,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:75,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:76,1
    - Dst: JwtHmacKeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:77,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - output_prefix
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: crypto::tink::jwt_internal::createTemplate
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKeyFormat::SerializeToString
    - KeyTemplate::set_output_prefix_type
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate createTemplate(OutputPrefixType output_prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::mutable_key
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:85,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:86,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - Keyset::set_primary_key_id
    - Keyset::mutable_key
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: "std::unique_ptr<KeysetHandle> KeysetHandleWithNewKeyId(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::mutable_key
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:93,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - Keyset::mutable_key
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: "std::unique_ptr<KeysetHandle> KeysetHandleWithTinkPrefix(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:100,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:101,1
    - Dst: absl::make_unique<JwtMacWrapper>
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:103,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:103,1
    - Dst: absl::make_unique<JwtHmacKeyManager>
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: crypto::tink::jwt_internal::JwtMacWrapperTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - absl::make_unique<JwtHmacKeyManager>
    - IsOk
    - ASSERT_THAT
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<JwtMacWrapper>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtMacWrapper
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:111,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:112,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - JwtMacWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<JwtMacInternal>>
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:116,1
    - Dst: JwtMacWrapper
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:118,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:119,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - util::StatusOr::ok
    - absl::make_unique<PrimitiveSet<JwtMacInternal>>
    - JwtMacWrapper
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::createTemplate
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:123,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:126,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:128,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:130,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:130,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - IsOk
    - crypto::tink::jwt_internal::createTemplate
    - ConfigGlobalRegistry
    - EXPECT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacWrapperTest, CannotWrapPrimitivesFromNonRawOrTinkKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::createTemplate
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:137,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:139,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:140,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:142,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:144,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:148,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:151,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:152,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:158,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:162,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:162,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:162,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:168,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:171,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:173,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:173,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:173,1
    - Dst: crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:179,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:181,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:185,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:186,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 188
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - JwtValidatorBuilder
    - EXPECT_FALSE
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
    - util::StatusOr::ok
    - EXPECT_THAT
    - RawJwtBuilder
    - std::unique_ptr::GetPrimitive
    - crypto::tink::jwt_internal::createTemplate
    - IsOkAndHolds
    - Eq
    - ComputeMacAndEncode
    - GetPrimitive
    - util::StatusOr::status
    - VerifyMacAndDecode
    - util::StatusOr::GetIssuer
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacWrapperTest, GenerateRawComputeVerifySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::createTemplate
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:191,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:193,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:194,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:196,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:198,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:202,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:205,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:206,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:212,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:215,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:216,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:216,1
    - Dst: crypto::tink::test::IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:216,1
    - Dst: GetKeysetInfo
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:220,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:222,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:223,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:223,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:223,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:225,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:225,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:229,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:229,1
    - Dst: fields
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:229,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:229,1
    - Dst: crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:235,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:237,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:239,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:243,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 244
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::jwt_internal::DecodeHeader
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - JwtValidatorBuilder
    - crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
    - ASSERT_TRUE
    - EXPECT_FALSE
    - crypto::tink::test::IsOkAndHolds
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - std::vector::size
    - GetKeysetInfo
    - util::StatusOr::ok
    - EXPECT_THAT
    - RawJwtBuilder
    - std::unique_ptr::GetPrimitive
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - crypto::tink::jwt_internal::createTemplate
    - absl::StrSplit
    - string_value
    - crypto::tink::jwt_internal::GetKeyId
    - Eq
    - ComputeMacAndEncode
    - GetPrimitive
    - VerifyMacAndDecode
    - util::StatusOr::GetIssuer
    - fields
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacWrapperTest, GenerateTinkComputeVerifySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:250,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:250,1
    - Dst: crypto::tink::jwt_internal::createTemplate
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:251,1
    - Dst: KeysetManager::Add
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:256,1
    - Dst: KeysetManager::SetPrimary
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:256,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:257,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:259,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:260,1
    - Dst: KeysetManager::Add
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:263,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:264,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:266,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:269,1
    - Dst: KeysetManager::SetPrimary
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:269,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:270,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:272,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:275,1
    - Dst: KeysetManager::Disable
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:275,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:276,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:278,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:278,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:279,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:283,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:288,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:292,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:296,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:300,1
    - Dst: ComputeMacAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:303,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:304,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:306,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:307,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:308,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:310,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:311,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:312,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:312,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:314,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:316,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:317,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:318,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:319,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:320,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:320,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:322,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:322,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:323,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:324,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:325,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:327,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:328,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:330,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:331,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:332,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:333,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:335,1
    - Dst: VerifyMacAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 338
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr::GetPrimitive
    - VerifyMacAndDecode
    - IsOk
    - crypto::tink::jwt_internal::createTemplate
    - KeysetManager::SetPrimary
    - KeysetManager::GetKeysetHandle
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - JwtValidatorBuilder
    - KeysetManager::Disable
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - KeysetManager::Add
    - RawJwtBuilder
    - EXPECT_FALSE
    - ComputeMacAndEncode
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtMacWrapperTest, KeyRotation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:74,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:76,1
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:78,1
    - Dst: JwtEcdsaKeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:79,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - output_prefix
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::CreateTemplate
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaKeyFormat::set_algorithm
    - KeyTemplate::set_output_prefix_type
    - KeyTemplate::mutable_value
    - KeyTemplate::set_type_url
    - JwtEcdsaKeyFormat::SerializeToString
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate CreateTemplate(OutputPrefixType output_prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::mutable_key
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:90,1
    - Dst: Keyset::set_primary_key_id
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:91,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - Keyset::set_primary_key_id
    - Keyset::mutable_key
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: "std::unique_ptr<KeysetHandle> KeysetHandleWithNewKeyId(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Keyset::mutable_key
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:100,1
    - Dst: crypto::tink::CleartextKeysetHandle::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' keyset_handle'
    argTypes:
    - KeysetHandle
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
    - Keyset::mutable_key
    linkageType: ''
    returnType: std::unique_ptr<KeysetHandle>
    signature: "std::unique_ptr<KeysetHandle> KeysetHandleWithTinkPrefix(\n    const
      KeysetHandle& keyset_handle)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:107,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:107,1
    - Dst: absl::make_unique<JwtPublicKeySignWrapper>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:109,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:109,1
    - Dst: absl::make_unique<JwtPublicKeyVerifyWrapper>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:111,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:111,1
    - Dst: absl::make_unique<JwtEcdsaSignKeyManager>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:112,1
    - Dst: absl::make_unique<JwtEcdsaVerifyKeyManager>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: crypto::tink::jwt_internal::JwtPublicKeyWrappersTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<JwtEcdsaVerifyKeyManager>
    - IsOk
    - absl::make_unique<JwtPublicKeyVerifyWrapper>
    - ASSERT_THAT
    - absl::make_unique<JwtEcdsaSignKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - absl::make_unique<JwtPublicKeySignWrapper>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:119,1
    - Dst: JwtPublicKeySignWrapper
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - JwtPublicKeySignWrapper
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, WrapNullptrSign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:123,1
    - Dst: JwtPublicKeyVerifyWrapper
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc: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: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - JwtPublicKeyVerifyWrapper
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, WrapNullptrVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<JwtPublicKeySignInternal>>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:128,1
    - Dst: JwtPublicKeySignWrapper
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:129,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:129,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:130,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<PrimitiveSet<JwtPublicKeySignInternal>>
    - auto::ok
    - std::move
    - JwtPublicKeySignWrapper
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, WrapEmptySign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateTemplate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:134,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:137,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:139,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:140,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:141,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:142,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:147,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:148,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:149,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:149,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::KeysetHandle::GenerateNew
    - GetPrimitive
    - GetPublicKeysetHandle
    - IsOk
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - crypto::tink::jwt_internal::CreateTemplate
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, CannotWrapPrimitivesFromNonRawOrTinkKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateTemplate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:157,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:159,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:160,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:162,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:164,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:167,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:168,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:170,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:173,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:177,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:180,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:186,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:190,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:190,1
    - Dst: crypto::tink::test::IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:190,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:196,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:198,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:199,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:201,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:201,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:201,1
    - Dst: crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:207,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:209,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:213,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:213,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 215
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - GetPublicKeysetHandle
    - SignAndEncode
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - crypto::tink::jwt_internal::CreateTemplate
    - JwtValidatorBuilder
    - EXPECT_FALSE
    - crypto::tink::test::IsOkAndHolds
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - Not
    - crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
    - util::StatusOr::ok
    - EXPECT_THAT
    - RawJwtBuilder
    - std::unique_ptr::GetPrimitive
    - VerifyAndDecode
    - Eq
    - GetPrimitive
    - util::StatusOr::status
    - util::StatusOr::GetIssuer
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, GenerateRawSignVerifySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateTemplate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:218,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:220,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:221,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:223,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:225,1
    - Dst: GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:228,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:228,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:229,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:231,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:234,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:237,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:238,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:240,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:241,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:247,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:251,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:251,1
    - Dst: crypto::tink::test::IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:251,1
    - Dst: GetKeysetInfo
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:255,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:258,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:258,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:260,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:260,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:263,1
    - Dst: fields
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:265,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:265,1
    - Dst: google::protobuf::Value::string_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:265,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:265,1
    - Dst: crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:270,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:272,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:275,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:278,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:279,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 280
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::jwt_internal::DecodeHeader
    - GetPublicKeysetHandle
    - SignAndEncode
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - crypto::tink::jwt_internal::CreateTemplate
    - JwtValidatorBuilder
    - crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
    - ASSERT_TRUE
    - EXPECT_FALSE
    - crypto::tink::test::IsOkAndHolds
    - crypto::tink::KeysetHandle::GenerateNew
    - SizeIs
    - google::protobuf::Value::string_value
    - IsOk
    - GetKeysetInfo
    - util::StatusOr::ok
    - EXPECT_THAT
    - RawJwtBuilder
    - std::unique_ptr::GetPrimitive
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - VerifyAndDecode
    - absl::StrSplit
    - crypto::tink::jwt_internal::GetKeyId
    - Eq
    - GetPrimitive
    - util::StatusOr::GetIssuer
    - fields
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, GenerateTinkSignVerifySuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:286,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:286,1
    - Dst: crypto::tink::jwt_internal::CreateTemplate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:287,1
    - Dst: KeysetManager::Add
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:291,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:292,1
    - Dst: KeysetManager::SetPrimary
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:292,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:293,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:295,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:297,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:299,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:299,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:300,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:302,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:305,1
    - Dst: KeysetManager::Add
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:308,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:309,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:311,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:313,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:315,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:315,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:316,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:316,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:318,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:320,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:323,1
    - Dst: KeysetManager::SetPrimary
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:323,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:324,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:326,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:327,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:328,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:328,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:330,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:331,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:333,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:335,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:336,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:338,1
    - Dst: KeysetManager::Disable
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:338,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:338,1
    - Dst: KeysetManager::GetKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:339,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:341,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:342,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:343,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:343,1
    - Dst: std::unique_ptr::GetPublicKeysetHandle
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:345,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:345,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:346,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:346,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:348,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:350,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:351,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:351,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:355,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:358,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:358,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:362,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:362,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:365,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:366,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:366,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:369,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:370,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:370,1
    - Dst: SignAndEncode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:373,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:374,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:374,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:376,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:377,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:378,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:378,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:379,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:380,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:381,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:382,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:382,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:384,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:384,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:385,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:386,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:386,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:387,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:388,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:388,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:389,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:390,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:390,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:392,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:392,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:393,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:393,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:394,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:395,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:395,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:396,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:397,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:397,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:398,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:400,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:400,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:401,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:401,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:402,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:403,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:403,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:404,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:405,1
    - Dst: VerifyAndDecode
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:405,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 408
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - SignAndEncode
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - crypto::tink::jwt_internal::CreateTemplate
    - KeysetManager::Disable
    - JwtValidatorBuilder
    - absl::StrCat
    - EXPECT_FALSE
    - IsOk
    - std::unique_ptr::GetPublicKeysetHandle
    - EXPECT_THAT
    - SCOPED_TRACE
    - RawJwtBuilder
    - std::unique_ptr::GetPrimitive
    - KeysetManager::SetPrimary
    - KeysetManager::GetKeysetHandle
    - VerifyAndDecode
    - KeysetManager::Add
    - GetPrimitive
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtPublicKeyWrappersTest, KeyRotation)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::RawJwtRsaSsaPssSignKeyManager::RawJwtRsaSsaPssSignKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtRsaSsaPssSignKeyManager()
  - 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: crypto::tink::RawJwtRsaSsaPssSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RawJwtRsaSsaPssSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: crypto::tink::RawJwtRsaSsaPssSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::JwtRsaSsaPssPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::JwtRsaSsaPssPublicKey>
      GetPublicKey(const google::crypto::tink::JwtRsaSsaPssPrivateKey& private_key)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: crypto::tink::RawJwtRsaSsaPssSignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find_last_of
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:48,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:50,1
    - Dst: DecodeSignature
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:52,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:52,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:53,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:56,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:57,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:59,1
    - Dst: util::Status::message
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:60,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:62,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:63,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:64,1
    - Dst: DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:70,1
    - Dst: JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:73,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:74,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:75,1
    - Dst: ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:78,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:79,1
    - Dst: DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:83,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:84,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:87,1
    - Dst: GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:88,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:89,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:90,1
    - Dst: Validate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:92,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:93,1
    - Dst: VerifiedJwt
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - compact
    - ' validator'
    - kid
    argTypes:
    - absl::string_view
    - JwtValidator
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 97
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::JwtPublicKeyVerifyImpl::VerifyAndDecodeWithKid
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc
    functionUses: 0
    functionsReached:
    - std::move
    - util::Status::message
    - GetTypeHeader
    - VerifiedJwt
    - util::Status::ok
    - std::vector::size
    - DecodeHeader
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - absl::string_view::substr
    - util::StatusOr::ok
    - Verify
    - absl::string_view::find_last_of
    - absl::StrSplit
    - Validate
    - ValidateHeader
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - DecodePayload
    - JsonStringToProtoStruct
    - DecodeSignature
    linkageType: ''
    returnType: util::StatusOr<VerifiedJwt>
    signature: "util::StatusOr<VerifiedJwt> JwtPublicKeyVerifyImpl::VerifyAndDecodeWithKid(\n
      \   absl::string_view compact, const JwtValidator& validator,\n    absl::optional<absl::string_view>
      kid) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:55,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:56,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:57,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:58,1
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:62,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:62,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:63,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:63,1
    - Dst: JwtEcdsaPrivateKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:67,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:67,1
    - Dst: JwtEcdsaPrivateKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:68,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:69,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:69,1
    - Dst: JwtEcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:70,1
    - Dst: auto::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:71,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:71,1
    - Dst: auto::set_x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:72,1
    - Dst: auto::set_y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:73,1
    - Dst: auto::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:74,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' jwt_ecdsa_key_format'
    argTypes:
    - JwtEcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::set_x
    - auto::set_algorithm
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::internal::NewEcKey
    - algorithm
    - std::string
    - util::StatusOr::status
    - auto::set_y
    - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
    - JwtEcdsaPrivateKey::mutable_public_key
    - util::StatusOr::ok
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm
    - JwtEcdsaPrivateKey::set_key_value
    - JwtEcdsaPrivateKey::set_version
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<JwtEcdsaPrivateKey>
    signature: "StatusOr<JwtEcdsaPrivateKey> RawJwtEcdsaSignKeyManager::CreateKey(\n
      \   const JwtEcdsaKeyFormat& jwt_ecdsa_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:81,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:84,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:87,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:89,1
    - Dst: x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:90,1
    - Dst: y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:91,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:93,1
    - Dst: key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:93,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::HashForEcdsaAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:95,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:96,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:97,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:98,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:100,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:101,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:103,1
    - Dst: auto::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:103,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ' jwt_ecdsa_private_key'
    argTypes:
    - JwtEcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 105
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 105
    functionName: "RawJwtEcdsaSignKeyManager::PublicKeySignFactory::Create(\n    const
      JwtEcdsaPrivateKey& jwt_ecdsa_private_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - algorithm
    - public_key
    - x
    - util::StatusOr::status
    - auto::ok
    - y
    - key_value
    - std::move
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::HashForEcdsaAlgorithm
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> RawJwtEcdsaSignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtEcdsaPrivateKey& jwt_ecdsa_private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:109,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:109,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:109,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:110,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:111,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtEcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - ValidateVersion
    - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
    - RawJwtEcdsaVerifyKeyManager
    - version
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtEcdsaSignKeyManager::ValidateKey(\n    const JwtEcdsaPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:116,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtEcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - algorithm
    - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtEcdsaSignKeyManager::ValidateKeyFormat(\n    const JwtEcdsaKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:62,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:63,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:65,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:71,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:71,1
    - Dst: JwtRsaSsaPkcs1PublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:72,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1PublicKey
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:80,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:81,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:83,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:83,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:84,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:85,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:85,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:85,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    - int
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 14
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - JwtRsaSsaPkcs1KeyFormat::set_algorithm
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    - JwtRsaSsaPkcs1KeyFormat::set_public_exponent
    linkageType: ''
    returnType: JwtRsaSsaPkcs1KeyFormat
    signature: "JwtRsaSsaPkcs1KeyFormat CreateKeyFormat(JwtRsaSsaPkcs1Algorithm algorithm,\n
      \                                       int modulus_size_in_bits,\n                                        int
      public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc: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: crypto::tink::ValidKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 45
    functionsReached:
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: JwtRsaSsaPkcs1KeyFormat
    signature: JwtRsaSsaPkcs1KeyFormat ValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:94,1
    - Dst: crypto::tink::ValidKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc: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: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::ValidKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: JwtRsaSsaPkcs1PrivateKey
    signature: JwtRsaSsaPkcs1PrivateKey CreateValidPrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:98,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 19
    functionsReached:
    - crypto::tink::CreateValidPrivateKey
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: JwtRsaSsaPkcs1PublicKey
    signature: JwtRsaSsaPkcs1PublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:106,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:110,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:112,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:112,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - JwtRsaSsaPkcs1PublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:117,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:119,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:119,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - Not
    - IsOk
    - JwtRsaSsaPkcs1PublicKey::set_algorithm
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, KeyWithUnkownAlgorithmInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:124,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:125,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:127,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:127,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:128,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1PublicKey::set_e
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - StatusIs
    - HasSubstr
    - EXPECT_THAT
    - JwtRsaSsaPkcs1PublicKey::set_n
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, KeyFormatWithSmallModulusInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:134,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:137,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:140,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:143,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:144,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:145,1
    - Dst: StatusOr::d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:145,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:146,1
    - Dst: StatusOr::p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:146,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:147,1
    - Dst: StatusOr::q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:147,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:148,1
    - Dst: StatusOr::dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:148,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:149,1
    - Dst: StatusOr::dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:149,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:150,1
    - Dst: StatusOr::crt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:150,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:153,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:159,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:164,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - StatusOr::p
    - IsOk
    - StatusOr::d
    - StatusOr::dq
    - ASSERT_THAT
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - StatusOr::public_key
    - crypto::tink::util::SecretDataFromStringView
    - StatusOr::dp
    - EXPECT_THAT
    - Verify
    - StatusOr::crt
    - Sign
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    - StatusOr::q
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:179,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:188,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:189,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:194,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:206,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:207,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:208,1
    - Dst: JwtRsaSsaPkcs1PublicKey::set_e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:209,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:211,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:213,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 216
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1PublicKey::set_e
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - IsOk
    - JwtRsaSsaPkcs1PublicKey::set_algorithm
    - EXPECT_THAT
    - Verify
    - JwtRsaSsaPkcs1PublicKey::set_n
    - absl::HexStringToBytes
    - JwtRsaSsaPkcs1PublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPkcs1VerifyKeyManagerTest, NistTestVector)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::AlgorithmName
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:46,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:47,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:48,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:49,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:52,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:53,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:54,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:57,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:58,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeySignImpl>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' jwt_rsa_ssa_pss_private_key'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: "JwtRsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n    const
      JwtRsaSsaPssPrivateKey& jwt_rsa_ssa_pss_private_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - public_key
    - GetPrimitive
    - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::AlgorithmName
    - StatusOr::status
    - std::move
    - absl::make_unique<jwt_internal::JwtPublicKeySignImpl>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JwtPublicKeySignInternal>>
    signature: "StatusOr<std::unique_ptr<JwtPublicKeySignInternal>> JwtRsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtRsaSsaPssPrivateKey& jwt_rsa_ssa_pss_private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc: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: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtRsaSsaPssSignKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtRsaSsaPssSignKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc: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: '& JwtRsaSsaPssSignKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtRsaSsaPssSignKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::CreateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::CreateKey
    linkageType: ''
    returnType: StatusOr<JwtRsaSsaPssPrivateKey>
    signature: "StatusOr<JwtRsaSsaPssPrivateKey> JwtRsaSsaPssSignKeyManager::CreateKey(\n
      \   const JwtRsaSsaPssKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: "Status JwtRsaSsaPssSignKeyManager::ValidateKey(\n    const JwtRsaSsaPssPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKeyFormat
    linkageType: ''
    returnType: Status
    signature: "Status JwtRsaSsaPssSignKeyManager::ValidateKeyFormat(\n    const JwtRsaSsaPssKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::GetPublicKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::GetPublicKey
    linkageType: ''
    returnType: StatusOr<JwtRsaSsaPssPublicKey>
    signature: "StatusOr<JwtRsaSsaPssPublicKey> JwtRsaSsaPssSignKeyManager::GetPublicKey(\n
      \   const JwtRsaSsaPssPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::JwtEcdsaVerifyKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void JwtEcdsaVerifyKeyManager()
  - 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: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - jwt_verify_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<JwtPublicKeyVerifyInternal>>
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: crypto::tink::jwt_internal::JwtPublicKeyVerifySetWrapper::JwtPublicKeyVerifySetWrapper
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void JwtPublicKeyVerifySetWrapper(\n      std::unique_ptr<PrimitiveSet<JwtPublicKeyVerifyInternal>>
      jwt_verify_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: ~JwtPublicKeyVerifySetWrapper() override
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtPublicKeyVerifySetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:64,1
    - Dst: PrimitiveSet<JwtPublicKeyVerifyInternal>*::get_all
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:67,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:68,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:69,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:70,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - jwt_verify_set
    argTypes:
    - PrimitiveSet<JwtPublicKeyVerifyInternal>*
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: crypto::tink::jwt_internal::Validate
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - get_output_prefix_type
    - crypto::tink::util::OkStatus
    - PrimitiveSet<JwtPublicKeyVerifyInternal>*::get_all
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Validate(\n    PrimitiveSet<JwtPublicKeyVerifyInternal>*
      jwt_verify_set)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_all
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:82,1
    - Dst: get_primitive
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:83,1
    - Dst: GetKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:85,1
    - Dst: get_key_id
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:85,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:85,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:87,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:88,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:90,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:93,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - compact
    - ' validator'
    argTypes:
    - absl::string_view
    - crypto::tink::JwtValidator
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: crypto::tink::jwt_internal::JwtPublicKeyVerifySetWrapper::VerifyAndDecode
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached:
    - absl::optional::has_value
    - get_output_prefix_type
    - get_primitive
    - GetKid
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - VerifyAndDecodeWithKid
    - std::move
    - util::StatusOr::ok
    - get_key_id
    - get_all
    linkageType: ''
    returnType: util::StatusOr<crypto::tink::VerifiedJwt>
    signature: "util::StatusOr<crypto::tink::VerifiedJwt> JwtPublicKeyVerifySetWrapper::VerifyAndDecode(\n
      \   absl::string_view compact,\n    const crypto::tink::JwtValidator& validator)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:109,1
    - Dst: std::unique_ptr<PrimitiveSet<JwtPublicKeyVerifyInternal>>::get
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:109,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:110,1
    - Dst: absl::make_unique<JwtPublicKeyVerifySetWrapper>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:112,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:113,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - jwt_verify_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<JwtPublicKeyVerifyInternal>>
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: crypto::tink::jwt_internal::JwtPublicKeyVerifyWrapper::Wrap
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::unique_ptr<PrimitiveSet<JwtPublicKeyVerifyInternal>>::get
    - util::Status::ok
    - std::move
    - Validate
    - absl::make_unique<JwtPublicKeyVerifySetWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<JwtPublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<JwtPublicKeyVerify>> JwtPublicKeyVerifyWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<JwtPublicKeyVerifyInternal>> jwt_verify_set)\n
      \   const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::JwtEcdsaSignKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void JwtEcdsaSignKeyManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:47,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:47,1
    - Dst: crypto::tink::jwt_internal::EncodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:48,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::DecodeHeader
    - crypto::tink::jwt_internal::EncodeHeader
    - EXPECT_THAT
    - ASSERT_TRUE
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, EncodeDecodeHeader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:56,1
    - Dst: crypto::tink::jwt_internal::EncodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:56,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::EncodeHeader
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, EncodeFixedHeader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:62,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - crypto::tink::jwt_internal::DecodeHeader
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodedHeaderWithLineFeedFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:69,1
    - Dst: crypto::tink::jwt_internal::DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:69,1
    - Dst: crypto::tink::jwt_internal::EncodePayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::EncodePayload
    - crypto::tink::jwt_internal::DecodePayload
    - EXPECT_THAT
    - ASSERT_TRUE
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, EncodeDecodePayload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:81,1
    - Dst: crypto::tink::jwt_internal::EncodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::EncodeHeader
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, EncodeFixedPayload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:88,1
    - Dst: crypto::tink::jwt_internal::DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - crypto::tink::jwt_internal::DecodePayload
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodeInvalidPayload_fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:96,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:97,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:97,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:103,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:104,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:105,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - crypto::tink::jwt_internal::DecodeHeader
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - ASSERT_TRUE
    - EXPECT_FALSE
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodeAndValidateFixedHeaderHS256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:114,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:115,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:121,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:123,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - crypto::tink::jwt_internal::DecodeHeader
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - ASSERT_TRUE
    - EXPECT_FALSE
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodeAndValidateFixedHeaderRS256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:130,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:133,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:133,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:139,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:140,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:141,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::DecodeHeader
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - ASSERT_TRUE
    - crypto::tink::jwt_internal::CreateHeader
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, CreateValidateHeader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:148,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:151,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:151,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:157,1
    - Dst: crypto::tink::jwt_internal::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:158,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:160,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:161,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:164,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:166,1
    - Dst: kind_case
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:166,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:167,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:167,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - util::StatusOr::fields
    - crypto::tink::jwt_internal::DecodeHeader
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - crypto::tink::jwt_internal::GetTypeHeader
    - IsOk
    - string_value
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - ASSERT_TRUE
    - kind_case
    - crypto::tink::jwt_internal::CreateHeader
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, CreateValidateHeaderWithTypeAndKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:172,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::ValidateHeader
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateEmptyHeaderFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:180,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:182,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithUnknownTypeOk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:193,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderRejectsCrit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:202,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithUnknownEntry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:210,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:211,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithInvalidAlgTypFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:220,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:221,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:222,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithTinkKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:230,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:232,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithTinkKidMissingFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:241,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:241,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:243,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:251,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:253,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithCustomKidMissingFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:261,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:262,1
    - Dst: crypto::tink::jwt_internal::ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::ValidateHeader
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, ValidateHeaderWithTinkAndCustomKidFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:268,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:268,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:269,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:269,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::GetKeyId
    - EXPECT_THAT
    - crypto::tink::jwt_internal::GetKid
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, GetKidWithTinkOutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:275,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:275,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - crypto::tink::jwt_internal::GetKeyId
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, GetKeyId)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:280,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:280,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::jwt_internal::GetKid
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, GetKidWithRawOutputPrefixTypeIsNotPresent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:284,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:284,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:284,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:286,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:286,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:286,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:287,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:287,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:287,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:288,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:288,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:288,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:290,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:290,1
    - Dst: crypto::tink::jwt_internal::GetKid
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:290,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - crypto::tink::jwt_internal::GetKid
    - Eq
    - crypto::tink::jwt_internal::GetKeyId
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, KeyIdKidConversion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:295,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:295,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:296,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:296,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:296,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:297,1
    - Dst: crypto::tink::jwt_internal::GetKeyId
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:297,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - crypto::tink::jwt_internal::GetKeyId
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, GetKeyIdFromInvalidKidIsNotPresent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:310,1
    - Dst: crypto::tink::jwt_internal::DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:311,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 312
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::DecodePayload
    - EXPECT_THAT
    - ASSERT_TRUE
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodeFixedPayload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:321,1
    - Dst: crypto::tink::jwt_internal::DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 323
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - crypto::tink::jwt_internal::DecodePayload
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodePayloadWithLineFeedFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:328,1
    - Dst: crypto::tink::jwt_internal::DecodeSignature
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:328,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:329,1
    - Dst: crypto::tink::jwt_internal::EncodeSignature
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:329,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::EncodeSignature
    - crypto::tink::jwt_internal::DecodeSignature
    - EXPECT_THAT
    - ASSERT_TRUE
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, EncodeFixedSignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:334,1
    - Dst: crypto::tink::jwt_internal::DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_FALSE
    - crypto::tink::jwt_internal::DecodePayload
    linkageType: ''
    returnType: void
    signature: void TEST(JwtFormat, DecodeSignatureWithLineFeedFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:342,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:344,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:344,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:345,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:345,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:345,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:346,1
    - Dst: util::StatusOr::GetSubject
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:346,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:346,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:347,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:347,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:347,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:349,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:349,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - util::StatusOr::HasTypeHeader
    - IsOk
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::GetExpiration
    - util::StatusOr::GetSubject
    - util::StatusOr::GetAudiences
    - util::StatusOr::GetIssuer
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJson)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:355,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:357,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:357,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:357,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:358,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:358,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - util::StatusOr::GetTypeHeader
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::GetIssuer
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonWithTypeHeader)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:363,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:364,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:364,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:366,1
    - Dst: util::StatusOr::GetExpiration
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:366,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:367,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - IsOk
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - ASSERT_THAT
    - EXPECT_THAT
    - IsOkAndHolds
    - util::StatusOr::GetExpiration
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonExpExpiration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:372,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:373,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonExpirationTooLarge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:378,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:379,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::ok
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonNegativeExpirationAreInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:384,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:385,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:385,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:388,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:388,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:389,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:389,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:389,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:391,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:391,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::GetJsonPayload
    - IsOk
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetAudiences
    - IsOkAndHolds
    - util::StatusOr::HasAudiences
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonPreservesStringAud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:396,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:397,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:397,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:400,1
    - Dst: util::StatusOr::HasAudiences
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:400,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:401,1
    - Dst: util::StatusOr::GetAudiences
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:401,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:401,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:403,1
    - Dst: util::StatusOr::GetJsonPayload
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:403,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - util::StatusOr::GetJsonPayload
    - IsOk
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::GetAudiences
    - IsOkAndHolds
    - util::StatusOr::HasAudiences
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonPreservesListAud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:407,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:407,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:408,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:408,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:409,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:409,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:410,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:410,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:411,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:412,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:413,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:413,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:414,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:414,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:415,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_format_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_format_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwt, FromJsonWithBadRegisteredTypes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmName
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:46,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:46,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:47,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:48,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:51,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:53,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:54,1
    - Dst: has_custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:57,1
    - Dst: custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:58,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeyVerifyImpl>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' jwt_rsa_ssa_pkcs1_public_key'
    argTypes:
    - JwtRsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: "JwtRsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPkcs1PublicKey& jwt_rsa_ssa_pkcs1_public_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - algorithm
    - AlgorithmName
    - GetPrimitive
    - absl::make_unique<jwt_internal::JwtPublicKeyVerifyImpl>
    - std::move
    - StatusOr::status
    - custom_kid
    - has_custom_kid
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JwtPublicKeyVerifyInternal>>
    signature: "StatusOr<std::unique_ptr<JwtPublicKeyVerifyInternal>> JwtRsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPkcs1PublicKey& jwt_rsa_ssa_pkcs1_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc: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: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtRsaSsaPkcs1VerifyKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtRsaSsaPkcs1VerifyKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc: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: '& JwtRsaSsaPkcs1VerifyKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtRsaSsaPkcs1VerifyKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: "Status JwtRsaSsaPkcs1VerifyKeyManager::ValidateKey(\n    const JwtRsaSsaPkcs1PublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:88,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:92,1
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::AlgorithmName
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    - std::string
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: "StatusOr<std::string> JwtRsaSsaPkcs1VerifyKeyManager::AlgorithmName(\n
      \   const JwtRsaSsaPkcs1Algorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:57,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:57,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:59,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:59,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:59,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:61,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:61,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:61,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:62,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:62,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::set_crt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:63,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:63,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:63,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:64,1
    - Dst: JwtRsaSsaPkcs1PublicKey*::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:65,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:66,1
    - Dst: JwtRsaSsaPkcs1PublicKey*::set_n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:67,1
    - Dst: JwtRsaSsaPkcs1PublicKey*::set_e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - internal::RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: crypto::tink::RsaPrivateKeySubtleToProto
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1PrivateKey::set_version
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - JwtRsaSsaPkcs1PrivateKey::mutable_public_key
    - JwtRsaSsaPkcs1PublicKey*::set_n
    - JwtRsaSsaPkcs1PrivateKey::set_d
    - JwtRsaSsaPkcs1PublicKey*::set_e
    - JwtRsaSsaPkcs1PrivateKey::set_dp
    - JwtRsaSsaPkcs1PrivateKey::set_p
    - JwtRsaSsaPkcs1PrivateKey::set_crt
    - JwtRsaSsaPkcs1PrivateKey::set_q
    - JwtRsaSsaPkcs1PublicKey*::set_version
    - RawJwtRsaSsaPkcs1SignKeyManager
    - JwtRsaSsaPkcs1PrivateKey::set_dq
    linkageType: ''
    returnType: JwtRsaSsaPkcs1PrivateKey
    signature: "JwtRsaSsaPkcs1PrivateKey RsaPrivateKeySubtleToProto(\n    const internal::RsaPrivateKey&
      private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:75,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:76,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:77,1
    - Dst: d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:77,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:78,1
    - Dst: p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:78,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:79,1
    - Dst: q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:79,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:80,1
    - Dst: dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:80,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:81,1
    - Dst: dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:81,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:82,1
    - Dst: crt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' key_proto'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: crypto::tink::RsaPrivateKeyProtoToSubtle
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - dq
    - p
    - q
    - d
    - crypto::tink::util::SecretDataFromStringView
    - dp
    - crt
    linkageType: ''
    returnType: internal::RsaPrivateKey
    signature: "internal::RsaPrivateKey RsaPrivateKeyProtoToSubtle(\n    const JwtRsaSsaPkcs1PrivateKey&
      key_proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:91,1
    - Dst: public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:91,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:92,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:93,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:98,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:99,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:99,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:101,1
    - Dst: RsaPrivateKeySubtleToProto
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:105,1
    - Dst: JwtRsaSsaPkcs1PrivateKey::mutable_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:106,1
    - Dst: JwtRsaSsaPkcs1PublicKey*::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:107,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' jwt_rsa_ssa_pkcs1_key_format'
    argTypes:
    - JwtRsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - algorithm
    - JwtRsaSsaPkcs1PrivateKey::mutable_public_key
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::NewRsaKeyPair
    - StatusOr::get
    - StatusOr::status
    - public_exponent
    - modulus_size_in_bits
    - JwtRsaSsaPkcs1PublicKey*::set_algorithm
    - RsaPrivateKeySubtleToProto
    linkageType: ''
    returnType: StatusOr<JwtRsaSsaPkcs1PrivateKey>
    signature: "StatusOr<JwtRsaSsaPkcs1PrivateKey> RawJwtRsaSsaPkcs1SignKeyManager::CreateKey(\n
      \   const JwtRsaSsaPkcs1KeyFormat& jwt_rsa_ssa_pkcs1_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaPrivateKeyProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:115,1
    - Dst: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:117,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:118,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:119,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:120,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:123,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:125,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:126,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:126,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:130,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:131,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:132,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:132,1
    - Dst: SignAndVerify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:134,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:134,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:134,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:135,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 141
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 141
    functionName: "RawJwtRsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtRsaSsaPkcs1PrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::get
    - public_key
    - RsaPrivateKeyProtoToSubtle
    - util::StatusOr::status
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
    - util::StatusOr::ok
    - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm
    - crypto::tink::util::Enums::ProtoToSubtle
    - SignAndVerify
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> RawJwtRsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtRsaSsaPkcs1PrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:145,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:145,1
    - Dst: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:145,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:146,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:147,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - ValidateVersion
    - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::get_version
    - version
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPkcs1SignKeyManager::ValidateKey(\n    const JwtRsaSsaPkcs1PrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:153,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:153,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:154,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:158,1
    - Dst: public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:158,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:159,1
    - Dst: RawJwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:162,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - algorithm
    - crypto::tink::internal::ValidateRsaPublicExponent
    - RawJwtRsaSsaPkcs1VerifyKeyManager
    - public_exponent
    - modulus_size_in_bits
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat(\n    const
      JwtRsaSsaPkcs1KeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:46,1
    - Dst: GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:47,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:48,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:49,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:53,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:55,1
    - Dst: CreateHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:61,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:62,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:63,1
    - Dst: GetJsonPayload
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:65,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:66,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:67,1
    - Dst: EncodePayload
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:69,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:71,1
    - Dst: ComputeMac
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:72,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:73,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:74,1
    - Dst: EncodeSignature
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:76,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' token'
    - kid
    argTypes:
    - RawJwt
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: crypto::tink::jwt_internal::JwtMacImpl::ComputeMacAndEncodeWithKid
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - absl::optional<absl::string_view>::has_value
    - has_value
    - crypto::tink::internal::ExtractStatus
    - ComputeMac
    - CreateHeader
    - EncodeSignature
    - util::StatusOr::ok
    - EncodePayload
    - absl::StrCat
    - GetTypeHeader
    - HasTypeHeader
    - GetJsonPayload
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> JwtMacImpl::ComputeMacAndEncodeWithKid(\n
      \   const RawJwt& token, absl::optional<absl::string_view> kid) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::string_view::find_last_of
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:83,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:85,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:87,1
    - Dst: DecodeSignature
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:89,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:90,1
    - Dst: VerifyMac
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:92,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:93,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:95,1
    - Dst: util::Status::message
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:96,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:98,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:100,1
    - Dst: DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:105,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:106,1
    - Dst: JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:109,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:110,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:111,1
    - Dst: ValidateHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:114,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:115,1
    - Dst: DecodePayload
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:120,1
    - Dst: crypto::tink::jwt_internal::RawJwtParser::FromJson
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:124,1
    - Dst: GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:124,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:125,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:126,1
    - Dst: Validate
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:128,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:129,1
    - Dst: VerifiedJwt
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl.cc:132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - compact
    - ' validator'
    - kid
    argTypes:
    - absl::string_view
    - JwtValidator
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 133
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 133
    functionName: crypto::tink::jwt_internal::JwtMacImpl::VerifyMacAndDecodeWithKid
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl.cc
    functionUses: 0
    functionsReached:
    - std::move
    - util::Status::message
    - GetTypeHeader
    - VerifiedJwt
    - util::Status::ok
    - std::vector::size
    - DecodeHeader
    - crypto::tink::jwt_internal::RawJwtParser::FromJson
    - absl::string_view::substr
    - util::StatusOr::ok
    - VerifyMac
    - absl::string_view::find_last_of
    - absl::StrSplit
    - Validate
    - ValidateHeader
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - DecodePayload
    - JsonStringToProtoStruct
    - DecodeSignature
    linkageType: ''
    returnType: util::StatusOr<VerifiedJwt>
    signature: "util::StatusOr<VerifiedJwt> JwtMacImpl::VerifyMacAndDecodeWithKid(\n
      \   absl::string_view compact, const JwtValidator& validator,\n    absl::optional<absl::string_view>
      kid) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::AlgorithmName
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:47,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:48,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:49,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:50,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:53,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:54,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:55,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:58,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:59,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeySignImpl>
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' jwt_ecdsa_private_key'
    argTypes:
    - JwtEcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: "JwtEcdsaSignKeyManager::PublicKeySignFactory::Create(\n    const
      JwtEcdsaPrivateKey& jwt_ecdsa_private_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - public_key
    - GetPrimitive
    - util::StatusOr::status
    - std::move
    - StatusOr::status
    - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::AlgorithmName
    - util::StatusOr::ok
    - absl::make_unique<jwt_internal::JwtPublicKeySignImpl>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JwtPublicKeySignInternal>>
    signature: "StatusOr<std::unique_ptr<JwtPublicKeySignInternal>> JwtEcdsaSignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtEcdsaPrivateKey& jwt_ecdsa_private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc: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: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtEcdsaSignKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtEcdsaSignKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc: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: '& JwtEcdsaSignKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtEcdsaSignKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::CreateKey
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtEcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::CreateKey
    linkageType: ''
    returnType: StatusOr<JwtEcdsaPrivateKey>
    signature: "StatusOr<JwtEcdsaPrivateKey> JwtEcdsaSignKeyManager::CreateKey(\n
      \   const JwtEcdsaKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtEcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: "Status JwtEcdsaSignKeyManager::ValidateKey(\n    const JwtEcdsaPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtEcdsaKeyFormat
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKeyFormat
    linkageType: ''
    returnType: Status
    signature: "Status JwtEcdsaSignKeyManager::ValidateKeyFormat(\n    const JwtEcdsaKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::GetPublicKey
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - JwtEcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::GetPublicKey
    linkageType: ''
    returnType: StatusOr<JwtEcdsaPublicKey>
    signature: "StatusOr<JwtEcdsaPublicKey> JwtEcdsaSignKeyManager::GetPublicKey(\n
      \   const JwtEcdsaPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::AlgorithmName
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:46,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:47,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:48,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:49,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:52,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:54,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:55,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:58,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:60,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeySignImpl>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' jwt_rsa_ssa_pkcs1_private_key'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: "JwtRsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n    const
      JwtRsaSsaPkcs1PrivateKey& jwt_rsa_ssa_pkcs1_private_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - public_key
    - GetPrimitive
    - std::move
    - StatusOr::status
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::AlgorithmName
    - absl::make_unique<jwt_internal::JwtPublicKeySignImpl>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JwtPublicKeySignInternal>>
    signature: "StatusOr<std::unique_ptr<JwtPublicKeySignInternal>> JwtRsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtRsaSsaPkcs1PrivateKey& jwt_rsa_ssa_pkcs1_private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc: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: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtRsaSsaPkcs1SignKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtRsaSsaPkcs1SignKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: '& JwtRsaSsaPkcs1SignKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtRsaSsaPkcs1SignKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::CreateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::CreateKey
    linkageType: ''
    returnType: StatusOr<JwtRsaSsaPkcs1PrivateKey>
    signature: "StatusOr<JwtRsaSsaPkcs1PrivateKey> JwtRsaSsaPkcs1SignKeyManager::CreateKey(\n
      \   const JwtRsaSsaPkcs1KeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: "Status JwtRsaSsaPkcs1SignKeyManager::ValidateKey(\n    const JwtRsaSsaPkcs1PrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat
    linkageType: ''
    returnType: Status
    signature: "Status JwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat(\n    const
      JwtRsaSsaPkcs1KeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::GetPublicKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::GetPublicKey
    linkageType: ''
    returnType: StatusOr<JwtRsaSsaPkcs1PublicKey>
    signature: "StatusOr<JwtRsaSsaPkcs1PublicKey> JwtRsaSsaPkcs1SignKeyManager::GetPublicKey(\n
      \   const JwtRsaSsaPkcs1PrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:54,1
    - Dst: e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:55,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:56,1
    - Dst: HashForPssAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:57,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:58,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:59,1
    - Dst: SaltLengthForPssAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:61,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:62,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:63,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:66,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:66,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:67,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:67,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:71,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:72,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ' rsa_ssa_pss_public_key'
    argTypes:
    - JwtRsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: "RawJwtRsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPssPublicKey& rsa_ssa_pss_public_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - algorithm
    - util::StatusOr::status
    - StatusOr::value
    - std::move
    - StatusOr::status
    - util::StatusOr::ok
    - SaltLengthForPssAlgorithm
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - HashForPssAlgorithm
    - n
    - e
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> RawJwtRsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPssPublicKey& rsa_ssa_pss_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:80,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:80,1
    - Dst: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:80,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:81,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:85,1
    - Dst: n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:85,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:86,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:87,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:90,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:90,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:90,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:91,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:94,1
    - Dst: e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:94,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:95,1
    - Dst: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:98,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 99
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 99
    functionName: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - algorithm
    - crypto::tink::internal::ValidateRsaPublicExponent
    - crypto::tink::internal::StringToBignum
    - ValidateVersion
    - StatusOr::get
    - StatusOr::status
    - crypto::tink::internal::ValidateRsaModulusSize
    - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm
    - version
    - BN_num_bits
    - n
    - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::get_version
    - e
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPssVerifyKeyManager::ValidateKey(\n    const JwtRsaSsaPssPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:107,1
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:109,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPssAlgorithm
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - Status
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm(\n    const
      JwtRsaSsaPssAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPssAlgorithm
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::HashForPssAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<HashType>
    signature: "StatusOr<HashType> RawJwtRsaSsaPssVerifyKeyManager::HashForPssAlgorithm(\n
      \   const JwtRsaSsaPssAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPssAlgorithm
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::SaltLengthForPssAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<int>
    signature: "StatusOr<int> RawJwtRsaSsaPssVerifyKeyManager::SaltLengthForPssAlgorithm(\n
      \   const JwtRsaSsaPssAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmName
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:46,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:46,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:47,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:48,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:51,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:53,1
    - Dst: has_custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:56,1
    - Dst: custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:57,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeyVerifyImpl>
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:60,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' jwt_ecdsa_public_key'
    argTypes:
    - JwtEcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: "JwtEcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      JwtEcdsaPublicKey& jwt_ecdsa_public_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - algorithm
    - AlgorithmName
    - GetPrimitive
    - util::StatusOr::status
    - absl::make_unique<jwt_internal::JwtPublicKeyVerifyImpl>
    - std::move
    - StatusOr::status
    - custom_kid
    - util::StatusOr::ok
    - has_custom_kid
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JwtPublicKeyVerifyInternal>>
    signature: "StatusOr<std::unique_ptr<JwtPublicKeyVerifyInternal>> JwtEcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtEcdsaPublicKey& jwt_ecdsa_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc: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: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtEcdsaVerifyKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtEcdsaVerifyKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc: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: '& JwtEcdsaVerifyKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtEcdsaVerifyKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtEcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: "Status JwtEcdsaVerifyKeyManager::ValidateKey(\n    const JwtEcdsaPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:87,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:89,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:91,1
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtEcdsaAlgorithm
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::AlgorithmName
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - Status
    - std::string
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: "StatusOr<std::string> JwtEcdsaVerifyKeyManager::AlgorithmName(\n    const
      JwtEcdsaAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:52,1
    - Dst: e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:53,1
    - Dst: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:56,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:57,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:58,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:59,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:62,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:65,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:66,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:66,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' jwt_rsa_ssa_pkcs1_public_key'
    argTypes:
    - JwtRsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: "RawJwtRsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPkcs1PublicKey& jwt_rsa_ssa_pkcs1_public_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - algorithm
    - util::StatusOr::status
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - std::move
    - util::StatusOr::ok
    - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm
    - crypto::tink::util::Enums::ProtoToSubtle
    - n
    - e
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> RawJwtRsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPkcs1PublicKey& jwt_rsa_ssa_pkcs1_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:72,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:72,1
    - Dst: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:72,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:73,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:75,1
    - Dst: n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:75,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:76,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:77,1
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:80,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:80,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:80,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:81,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:84,1
    - Dst: e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:84,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:85,1
    - Dst: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:88,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPkcs1PublicKey
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - algorithm
    - crypto::tink::internal::ValidateRsaPublicExponent
    - crypto::tink::internal::StringToBignum
    - ValidateVersion
    - StatusOr::get
    - StatusOr::status
    - crypto::tink::internal::ValidateRsaModulusSize
    - version
    - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateAlgorithm
    - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::get_version
    - BN_num_bits
    - n
    - e
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateKey(\n    const
      JwtRsaSsaPkcs1PublicKey& key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:97,1
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:99,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - Status
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateAlgorithm(\n    const
      JwtRsaSsaPkcs1Algorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc
    functionUses: 2
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<HashType>
    signature: "StatusOr<HashType> RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm(\n
      \   const JwtRsaSsaPkcs1Algorithm& algorithm)"
  - 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: ~JwtMacInternal()
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtMacInternal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:63,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:64,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:66,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaSignKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, BasicsSign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:71,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:72,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:74,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaVerifyKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, BasicsVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:79,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:79,1
    - Dst: JwtEcdsaPrivateKey
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:79,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:80,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaPrivateKey
    - Not
    - IsOk
    - JwtEcdsaSignKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, ValidateEmptyPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:84,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:84,1
    - Dst: JwtEcdsaPublicKey
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:84,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - JwtEcdsaPublicKey
    - EXPECT_THAT
    - JwtEcdsaVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, ValidateEmptyPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:89,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:89,1
    - Dst: JwtEcdsaKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:89,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaKeyFormat
    - Not
    - IsOk
    - JwtEcdsaSignKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:96,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaSignKeyManager
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, ValidKeyFormatES256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:102,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaSignKeyManager
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, ValidateKeyFormatES384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:108,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaSignKeyManager
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, ValidateKeyFormatES512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:113,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:117,1
    - Dst: util::StatusOr::version
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:118,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:118,1
    - Dst: JwtEcdsaKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:119,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:119,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:123,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - util::StatusOr::public_key
    - util::StatusOr::version
    - ASSERT_THAT
    - JwtEcdsaSignKeyManager
    - EXPECT_THAT
    - util::StatusOr::mutable_public_key
    - JwtEcdsaKeyFormat::algorithm
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, CreatePrivateKeyAndValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:128,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:131,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:134,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:134,1
    - Dst: util::StatusOr::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:137,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:138,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::set_algorithm
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtEcdsaSignKeyManager
    - EXPECT_THAT
    - JwtEcdsaVerifyKeyManager
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, CreatePublicKeyAndValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:143,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:146,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:150,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:154,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:158,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:164,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:166,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:168,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:172,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:173,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:174,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:176,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:176,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:179,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:183,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:184,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:185,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:188,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:194,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:199,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:204,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:205,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 209
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - util::StatusOr::public_key
    - VerifyAndDecodeWithKid
    - util::StatusOr::GetIssuer
    - Not
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - JwtEcdsaSignKeyManager
    - EXPECT_THAT
    - IsOkAndHolds
    - JwtEcdsaVerifyKeyManager
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, GetAndUsePrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:213,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:216,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:217,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:222,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:226,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:230,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:234,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:234,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:236,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:236,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:239,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:240,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:241,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:242,1
    - Dst: auto::second::string_value
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:242,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:243,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:250,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:252,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:254,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:258,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:260,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:261,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:264,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:264,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:266,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:266,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:269,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:273,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:275,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:277,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:278,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:279,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 283
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::DecodeHeader
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - ASSERT_FALSE
    - JwtValidatorBuilder
    - ASSERT_TRUE
    - util::StatusOr::fields
    - IsOk
    - Not
    - std::vector::size
    - util::StatusOr::public_key
    - EXPECT_THAT
    - JwtEcdsaVerifyKeyManager
    - RawJwtBuilder
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - absl::StrSplit
    - Eq
    - auto::second::string_value
    - JwtEcdsaKeyFormat::set_algorithm
    - SignAndEncodeWithKid
    - JwtEcdsaSignKeyManager
    - util::StatusOr::GetIssuer
    - util::StatusOr::mutable_public_key
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, GetAndUsePrimitivesWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:287,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:290,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:294,1
    - Dst: JwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:297,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:298,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:298,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:302,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:302,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:305,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:306,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:309,1
    - Dst: JwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:311,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:312,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:313,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:315,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:316,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 320
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - JwtEcdsaKeyFormat::set_algorithm
    - util::StatusOr::public_key
    - VerifyAndDecodeWithKid
    - Not
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - JwtEcdsaSignKeyManager
    - EXPECT_THAT
    - JwtEcdsaVerifyKeyManager
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtEcdsaSignVerifyKeyManagerTest, VerifyFailsWithDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:79,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:83,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:84,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:85,1
    - Dst: key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:85,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::ok
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:86,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:87,1
    - Dst: has_custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:90,1
    - Dst: custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:91,1
    - Dst: absl::make_unique<jwt_internal::JwtMacImpl>
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:94,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:94,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' jwt_hmac_key'
    argTypes:
    - google::crypto::tink::JwtHmacKey
    constantsTouched: []
    func_position:
      end: 97
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::JwtMacFactory::Create
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
    - algorithm
    - crypto::tink::subtle::HmacBoringSsl::New
    - has_custom_kid
    - crypto::tink::internal::ExtractStatus
    - key_value
    - std::move
    - custom_kid
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::util::Enums::ProtoToSubtle
    - absl::make_unique<jwt_internal::JwtMacImpl>
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<JwtMacInternal>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<JwtMacInternal>> Create(\n
      \       const google::crypto::tink::JwtHmacKey& jwt_hmac_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<JwtMacFactory>
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::JwtHmacKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<JwtMacFactory>
    linkageType: ''
    returnType: void
    signature: void JwtHmacKeyManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtHmacAlgorithm
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: crypto::tink::jwt_internal::MinimumKeySize
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<int>
    signature: StatusOr<int> MinimumKeySize(const JwtHmacAlgorithm& algorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:69,1
    - Dst: crypto::tink::jwt_internal::RawJwtHmacKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:69,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:70,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:70,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:71,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:72,1
    - Dst: key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' jwt_hmac_key_format'
    argTypes:
    - JwtHmacKeyFormat
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - algorithm
    - JwtHmacKey::set_key_value
    - crypto::tink::jwt_internal::RawJwtHmacKeyManager::get_version
    - JwtHmacKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: StatusOr<JwtHmacKey>
    signature: "StatusOr<JwtHmacKey> RawJwtHmacKeyManager::CreateKey(\n    const JwtHmacKeyFormat&
      jwt_hmac_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' jwt_hmac_key_format'
    - input_stream
    argTypes:
    - JwtHmacKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: StatusOr<JwtHmacKey>
    signature: "StatusOr<JwtHmacKey> RawJwtHmacKeyManager::DeriveKey(\n    const JwtHmacKeyFormat&
      jwt_hmac_key_format,\n    InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:84,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:84,1
    - Dst: crypto::tink::jwt_internal::RawJwtHmacKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:84,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:85,1
    - Dst: MinimumKeySize
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:86,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:86,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:87,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:88,1
    - Dst: key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:90,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:91,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtHmacKey
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - Status::ok
    - algorithm
    - crypto::tink::internal::ExtractStatus
    - ValidateVersion
    - key_value
    - StatusOr::status
    - MinimumKeySize
    - version
    - crypto::tink::jwt_internal::RawJwtHmacKeyManager::get_version
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status RawJwtHmacKeyManager::ValidateKey(const JwtHmacKey& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MinimumKeySize
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:100,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:100,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:101,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:102,1
    - Dst: key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:104,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:105,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtHmacKeyFormat
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - algorithm
    - crypto::tink::internal::ExtractStatus
    - StatusOr::status
    - MinimumKeySize
    - crypto::tink::util::OkStatus
    - key_size
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtHmacKeyManager::ValidateKeyFormat(\n    const JwtHmacKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::NewEcKey
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:63,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:64,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:67,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:70,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:76,1
    - Dst: absl::make_unique<JwtPublicKeySignImpl>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:78,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:79,1
    - Dst: absl::make_unique<JwtPublicKeyVerifyImpl>
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:80,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: crypto::tink::jwt_internal::JwtSignatureImplTest::SetUp
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - crypto::tink::internal::NewEcKey
    - absl::make_unique<JwtPublicKeyVerifyImpl>
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - absl::make_unique<JwtPublicKeySignImpl>
    - std::move
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:88,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:90,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:93,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:97,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:98,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:102,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:106,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:113,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:113,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:114,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:114,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:117,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:118,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:120,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:125,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:126,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:127,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:133,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:133,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:134,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:135,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 139
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - util::StatusOr::GetJwtId
    - IsOk
    - Not
    - VerifyAndDecodeWithKid
    - util::StatusOr::GetTypeHeader
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - absl::Now
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtSignatureImplTest, CreateAndValidateToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:142,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:143,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:146,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:150,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:154,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:157,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:162,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:162,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:162,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:163,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:163,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:166,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:170,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:174,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:174,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:176,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:176,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:180,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:180,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:180,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 182
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::DecodeHeader
    - util::StatusOr::GetJwtId
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - ASSERT_TRUE
    - absl::Seconds
    - util::StatusOr::fields
    - IsOk
    - std::vector::size
    - EXPECT_THAT
    - RawJwtBuilder
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - util::StatusOr::GetTypeHeader
    - absl::StrSplit
    - string_value
    - IsOkAndHolds
    - Eq
    - SignAndEncodeWithKid
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtSignatureImplTest, CreateAndValidateTokenWithKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:187,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:191,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:196,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:200,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:201,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:201,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:202,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:206,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:206,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:211,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:211,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:216,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:216,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 221
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - EXPECT_THAT
    - absl::StrCat
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtSignatureImplTest, FailsWithModifiedCompact)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:226,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:227,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:227,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:231,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:231,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:235,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:235,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:239,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:239,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:243,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:243,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:248,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:249,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:251,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 256
    functionName: crypto::tink::jwt_internal::TEST_F
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_F(JwtSignatureImplTest, FailsWithInvalidTokens)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:72,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:76,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:77,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:78,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:79,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:80,1
    - Dst: absl::make_unique<JwtMacImpl>
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:82,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:83,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: crypto::tink::jwt_internal::CreateJwtMac
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::status
    - crypto::tink::subtle::HmacBoringSsl::New
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - crypto::tink::util::SecretDataFromStringView
    - absl::make_unique<JwtMacImpl>
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::util::StatusOr<std::unique_ptr<Mac>>::ok
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<JwtMacInternal>>
    signature: util::StatusOr<std::unique_ptr<JwtMacInternal>> CreateJwtMac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateJwtMac
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:89,1
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:91,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:92,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:95,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:99,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:100,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:101,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:101,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:101,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:105,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:109,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:115,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:115,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:116,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:116,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:116,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:120,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:121,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 125
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - VerifyMacAndDecodeWithKid
    - util::StatusOr::HasTypeHeader
    - ComputeMacAndEncodeWithKid
    - util::StatusOr::GetJwtId
    - IsOk
    - util::StatusOr::GetTypeHeader
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::jwt_internal::CreateJwtMac
    - RawJwtBuilder
    - EXPECT_FALSE
    - absl::Seconds
    linkageType: ''
    returnType: void
    signature: void TEST(JwtMacImplTest, CreateAndValidateToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateJwtMac
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:129,1
    - Dst: absl::Now
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:131,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:132,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:135,1
    - Dst: absl::Seconds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:140,1
    - Dst: util::StatusOr::HasTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:141,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:141,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:141,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:144,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:145,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:148,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:149,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:149,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:155,1
    - Dst: util::StatusOr::GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:155,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:156,1
    - Dst: util::StatusOr::GetJwtId
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:156,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:159,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:166,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:166,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:170,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:174,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:174,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:174,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:176,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:176,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:180,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:180,1
    - Dst: string_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:180,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 182
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - VerifyMacAndDecodeWithKid
    - crypto::tink::jwt_internal::DecodeHeader
    - util::StatusOr::GetJwtId
    - ASSERT_THAT
    - JwtValidatorBuilder
    - absl::Now
    - ASSERT_TRUE
    - absl::Seconds
    - util::StatusOr::fields
    - util::StatusOr::HasTypeHeader
    - IsOk
    - Not
    - std::vector::size
    - EXPECT_THAT
    - RawJwtBuilder
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - ComputeMacAndEncodeWithKid
    - util::StatusOr::GetTypeHeader
    - absl::StrSplit
    - string_value
    - IsOkAndHolds
    - crypto::tink::jwt_internal::CreateJwtMac
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtMacImplTest, CreateAndValidateTokenWithKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateJwtMac
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:186,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:194,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:199,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:205,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:205,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:206,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:206,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:206,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:207,1
    - Dst: util::StatusOr::GetBooleanClaim
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:207,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:208,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:212,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:213,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:213,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:223,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 227
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - VerifyMacAndDecodeWithKid
    - IsOk
    - util::StatusOr::GetBooleanClaim
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - IsOkAndHolds
    - crypto::tink::jwt_internal::CreateJwtMac
    - util::StatusOr::GetIssuer
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtMacImplTest, ValidateFixedToken)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateJwtMac
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:231,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:234,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:236,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:236,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:241,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:241,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:246,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:246,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:251,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:251,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:256,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 261
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc
    functionUses: 0
    functionsReached:
    - VerifyMacAndDecodeWithKid
    - IsOk
    - ASSERT_THAT
    - JwtValidatorBuilder
    - crypto::tink::jwt_internal::CreateJwtMac
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtMacImplTest, ValidateInvalidTokens)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::RawJwtRsaSsaPkcs1SignKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtRsaSsaPkcs1SignKeyManager()
  - 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: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n                   private_key"
    argTypes:
    - google::crypto::tink::JwtRsaSsaPkcs1PrivateKey
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::JwtRsaSsaPkcs1PublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::JwtRsaSsaPkcs1PublicKey>
      GetPublicKey(const google::crypto::tink::JwtRsaSsaPkcs1PrivateKey&\n                   private_key)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:59,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:60,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:62,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - RawJwtRsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:68,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:69,1
    - Dst: JwtRsaSsaPssPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:69,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - JwtRsaSsaPssPublicKey
    - EXPECT_THAT
    - RawJwtRsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPssKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:77,1
    - Dst: JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:78,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:81,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:81,1
    - Dst: JwtRsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:82,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:83,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:83,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:83,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - JwtRsaSsaPssAlgorithm
    - int
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 16
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPssKeyFormat::set_public_exponent
    - internal::SslUniquePtr::get
    - BN_set_word
    - JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
    - BN_num_bytes
    - JwtRsaSsaPssKeyFormat::set_algorithm
    linkageType: ''
    returnType: JwtRsaSsaPssKeyFormat
    signature: "JwtRsaSsaPssKeyFormat CreateKeyFormat(JwtRsaSsaPssAlgorithm algorithm,\n
      \                                     int modulus_size_in_bits,\n                                      int
      public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:90,1
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:92,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 23
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: JwtRsaSsaPssPublicKey
    signature: JwtRsaSsaPssPublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:100,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RawJwtRsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:104,1
    - Dst: JwtRsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:105,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:106,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:106,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RawJwtRsaSsaPssVerifyKeyManager
    - JwtRsaSsaPssPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:110,1
    - Dst: JwtRsaSsaPssPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:111,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:112,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:112,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RawJwtRsaSsaPssVerifyKeyManager
    - JwtRsaSsaPssPublicKey::set_algorithm
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, PublicKeyUnknownAlgorithmIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:116,1
    - Dst: JwtRsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:117,1
    - Dst: JwtRsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:119,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:119,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssPublicKey::set_e
    - JwtRsaSsaPssPublicKey::set_n
    - StatusIs
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - RawJwtRsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, PublicKeyWithSmallModulusIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:126,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:129,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:132,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:135,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:136,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:137,1
    - Dst: StatusOr::d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:137,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:138,1
    - Dst: StatusOr::p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:138,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:139,1
    - Dst: StatusOr::q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:139,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:140,1
    - Dst: StatusOr::dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:140,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:141,1
    - Dst: StatusOr::dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:141,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:142,1
    - Dst: StatusOr::crt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:142,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:145,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:152,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:157,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - StatusOr::p
    - IsOk
    - StatusOr::d
    - StatusOr::dq
    - ASSERT_THAT
    - StatusOr::public_key
    - crypto::tink::util::SecretDataFromStringView
    - StatusOr::dp
    - EXPECT_THAT
    - Verify
    - RawJwtRsaSsaPssVerifyKeyManager
    - StatusOr::crt
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    - crypto::tink::CreateKeyFormat
    - Sign
    - StatusOr::q
    linkageType: ''
    returnType: void
    signature: void TEST(RsaSsaPssSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPssPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:201,1
    - Dst: JwtRsaSsaPssPublicKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:202,1
    - Dst: JwtRsaSsaPssPublicKey::set_n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:203,1
    - Dst: JwtRsaSsaPssPublicKey::set_e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:204,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:208,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssPublicKey::set_e
    - JwtRsaSsaPssPublicKey::set_n
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - RawJwtRsaSsaPssVerifyKeyManager
    - JwtRsaSsaPssPublicKey::set_algorithm
    - JwtRsaSsaPssPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssVerifyKeyManagerTest, TestVector)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:58,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:59,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:61,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - RawJwtRsaSsaPkcs1SignKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcsSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:70,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:71,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:73,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:73,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:74,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:75,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:75,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:75,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    - int
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 18
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - JwtRsaSsaPkcs1KeyFormat::set_algorithm
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    - JwtRsaSsaPkcs1KeyFormat::set_public_exponent
    linkageType: ''
    returnType: JwtRsaSsaPkcs1KeyFormat
    signature: "JwtRsaSsaPkcs1KeyFormat CreateKeyFormat(JwtRsaSsaPkcs1Algorithm algorithm,\n
      \                                       int modulus_size_in_bits,\n                                        int
      public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:82,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CreateKeyFormat
    - EXPECT_THAT
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatRs256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:89,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CreateKeyFormat
    - EXPECT_THAT
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatRs384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:96,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CreateKeyFormat
    - EXPECT_THAT
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, ValidateKeyFormatRs512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:103,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:103,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, KeyFormatWithUnknownAlgorithmIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:110,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:110,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, KeyFormatWithSmallModulusIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:119,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:119,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:120,1
    - Dst: has_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:121,1
    - Dst: JwtRsaSsaPkcs1PublicKey::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:121,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:122,1
    - Dst: JwtRsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:122,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:123,1
    - Dst: JwtRsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:124,1
    - Dst: JwtRsaSsaPkcs1PublicKey::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:124,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:125,1
    - Dst: public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:125,1
    - Dst: JwtRsaSsaPkcs1PublicKey::e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:125,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:128,1
    - Dst: JwtRsaSsaPkcs1PublicKey::n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:129,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:131,1
    - Dst: d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:132,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:134,1
    - Dst: p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:135,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:137,1
    - Dst: q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:138,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:140,1
    - Dst: dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:141,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:143,1
    - Dst: dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:144,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:148,1
    - Dst: BN_new
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:148,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: BN_mul
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:149,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:150,1
    - Dst: BN_cmp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:150,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:150,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:150,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:153,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:153,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:153,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:153,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: BN_dup
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:156,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:157,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:157,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:157,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:158,1
    - Dst: BN_new
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:158,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: BN_mod
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:160,1
    - Dst: BN_cmp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:160,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:160,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:160,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:163,1
    - Dst: BN_dup
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:163,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:163,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:164,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:164,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:164,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: BN_new
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:165,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: BN_mod
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:168,1
    - Dst: BN_cmp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:168,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:168,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ' private_key'
    - ' key_format'
    argTypes:
    - JwtRsaSsaPkcs1PrivateKey
    - JwtRsaSsaPkcs1KeyFormat
    constantsTouched: []
    func_position:
      end: 169
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 169
    functionName: crypto::tink::CheckNewKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 6
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_THAT
    - JwtRsaSsaPkcs1PublicKey::version
    - internal::SslUniquePtr<BIGNUM>
    - BN_mod
    - JwtRsaSsaPkcs1PublicKey::e
    - algorithm
    - dq
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_new
    - BN_dup
    - JwtRsaSsaPkcs1PublicKey::n
    - dp
    - EXPECT_GE
    - EXPECT_EQ
    - internal::SslUniquePtr::get
    - BN_sub_word
    - version
    - public_exponent
    - has_public_key
    - BN_num_bits
    - JwtRsaSsaPkcs1PublicKey::algorithm
    - util::StatusOr::get
    - public_key
    - p
    - q
    - BN_cmp
    - d
    - modulus_size_in_bits
    - EXPECT_GT
    - auto::get
    - BN_mul
    linkageType: ''
    returnType: void
    signature: "void CheckNewKey(const JwtRsaSsaPkcs1PrivateKey& private_key,\n                 const
      JwtRsaSsaPkcs1KeyFormat& key_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:173,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:177,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:178,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, CreateRs256Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:184,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:189,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:190,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, CreateSmallRs256Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:196,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:201,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:202,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CheckNewKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, CreateKeyLargeRs512Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:211,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:216,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:217,1
    - Dst: StatusOr::p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:217,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:218,1
    - Dst: StatusOr::q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:218,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:220,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::p
    - absl::flat_hash_set::insert
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    - StatusOr::q
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, CreateKeyAlwaysNewRsaPair)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:225,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:227,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:228,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:228,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:232,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:232,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:232,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:232,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:233,1
    - Dst: StatusOr::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:233,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:233,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:234,1
    - Dst: StatusOr::n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:234,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:234,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:235,1
    - Dst: StatusOr::e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:235,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:235,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::n
    - StatusOr::e
    - IsOk
    - StatusOr::algorithm
    - ASSERT_THAT
    - Eq
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:240,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:242,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:243,1
    - Dst: RawJwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:247,1
    - Dst: crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:250,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:251,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:253,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:257,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:258,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 259
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - Verify
    - Sign
    - crypto::tink::CreateKeyFormat
    - RawJwtRsaSsaPkcs1SignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<JwtRsaSsaPssPrivateKey>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:60,1
    - Dst: auto::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:61,1
    - Dst: auto::set_d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:62,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:62,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:62,1
    - Dst: auto::set_p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:63,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:63,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:63,1
    - Dst: auto::set_q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:64,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:64,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:64,1
    - Dst: auto::set_dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:65,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:65,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:65,1
    - Dst: auto::set_dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:66,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:66,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:66,1
    - Dst: auto::set_crt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:67,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:68,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:68,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:69,1
    - Dst: JwtRsaSsaPssPublicKey*::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:70,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:70,1
    - Dst: JwtRsaSsaPssPublicKey*::set_n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:71,1
    - Dst: JwtRsaSsaPssPublicKey*::set_e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - internal::RsaPrivateKey
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: crypto::tink::RsaPrivateKeySubtleToProto
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - JwtRsaSsaPssPublicKey*::set_e
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - auto::set_d
    - absl::make_unique<JwtRsaSsaPssPrivateKey>
    - auto::set_crt
    - JwtRsaSsaPssPublicKey*::set_n
    - auto::set_dp
    - auto::set_p
    - auto::mutable_public_key
    - auto::set_dq
    - auto::set_q
    - JwtRsaSsaPssPublicKey*::set_version
    - auto::set_version
    linkageType: ''
    returnType: std::unique_ptr<JwtRsaSsaPssPrivateKey>
    signature: "std::unique_ptr<JwtRsaSsaPssPrivateKey> RsaPrivateKeySubtleToProto(\n
      \   const internal::RsaPrivateKey& private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:79,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:80,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:81,1
    - Dst: d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:81,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:82,1
    - Dst: p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:82,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:83,1
    - Dst: q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:83,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:84,1
    - Dst: dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:84,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:85,1
    - Dst: dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:85,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:86,1
    - Dst: crt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ' key_proto'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: crypto::tink::RsaPrivateKeyProtoToSubtle
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - dq
    - p
    - q
    - d
    - crypto::tink::util::SecretDataFromStringView
    - dp
    - crt
    linkageType: ''
    returnType: internal::RsaPrivateKey
    signature: "internal::RsaPrivateKey RsaPrivateKeyProtoToSubtle(\n    const JwtRsaSsaPssPrivateKey&
      key_proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:95,1
    - Dst: public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:95,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:96,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:97,1
    - Dst: crypto::tink::internal::NewRsaKeyPair
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:102,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:103,1
    - Dst: StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:103,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:104,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:109,1
    - Dst: RsaPrivateKeySubtleToProto
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:109,1
    - Dst: JwtRsaSsaPssPrivateKey::mutable_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:110,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: crypto::tink::RawJwtRsaSsaPssSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - algorithm
    - util::Status::ok
    - crypto::tink::internal::StringToBignum
    - crypto::tink::internal::NewRsaKeyPair
    - StatusOr::get
    - std::move
    - StatusOr::status
    - public_exponent
    - modulus_size_in_bits
    - JwtRsaSsaPssPrivateKey::mutable_public_key
    - RsaPrivateKeySubtleToProto
    linkageType: ''
    returnType: StatusOr<JwtRsaSsaPssPrivateKey>
    signature: "StatusOr<JwtRsaSsaPssPrivateKey> RawJwtRsaSsaPssSignKeyManager::CreateKey(\n
      \   const JwtRsaSsaPssKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaPrivateKeyProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:117,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:118,1
    - Dst: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::HashForPssAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:120,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:121,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:122,1
    - Dst: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::SaltLengthForPssAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:125,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:126,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:127,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:130,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:131,1
    - Dst: crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:134,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:135,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:135,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:139,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:140,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:141,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:141,1
    - Dst: SignAndVerify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:143,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:143,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:143,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:144,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 150
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 150
    functionName: "RawJwtRsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtRsaSsaPssPrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - util::StatusOr::get
    - public_key
    - RsaPrivateKeyProtoToSubtle
    - util::StatusOr::status
    - util::Status::ok
    - crypto::tink::internal::ExtractStatus
    - RawJwtRsaSsaPssVerifyKeyManager
    - StatusOr::status
    - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::HashForPssAlgorithm
    - util::StatusOr::ok
    - SignAndVerify
    - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::SaltLengthForPssAlgorithm
    - crypto::tink::util::Enums::ProtoToSubtle
    - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> RawJwtRsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n
      \   const JwtRsaSsaPssPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:154,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:154,1
    - Dst: crypto::tink::RawJwtRsaSsaPssSignKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:154,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:155,1
    - Dst: RawJwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:156,1
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: crypto::tink::RawJwtRsaSsaPssSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - ValidateVersion
    - crypto::tink::RawJwtRsaSsaPssSignKeyManager::get_version
    - version
    - RawJwtRsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPssSignKeyManager::ValidateKey(\n    const JwtRsaSsaPssPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ValidateRsaModulusSize
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:162,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:162,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:163,1
    - Dst: crypto::tink::internal::ValidateRsaPublicExponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:167,1
    - Dst: public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:167,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:168,1
    - Dst: crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:171,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtRsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: crypto::tink::RawJwtRsaSsaPssSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - algorithm
    - crypto::tink::internal::ValidateRsaPublicExponent
    - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm
    - public_exponent
    - modulus_size_in_bits
    - crypto::tink::internal::ValidateRsaModulusSize
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtRsaSsaPssSignKeyManager::ValidateKeyFormat(\n    const
      JwtRsaSsaPssKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.h:42,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.h:43,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.h:44,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sign
    - algorithm
    - custom_kid
    argTypes:
    - std::unique_ptr<crypto::tink::PublicKeySign>
    - absl::string_view
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: crypto::tink::jwt_internal::JwtPublicKeySignImpl::JwtPublicKeySignImpl
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::string
    - absl::optional<absl::string_view>::has_value
    linkageType: ''
    returnType: void
    signature: "void JwtPublicKeySignImpl(\n      std::unique_ptr<crypto::tink::PublicKeySign>
      sign,\n      absl::string_view algorithm,\n      absl::optional<absl::string_view>
      custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:70,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:71,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:73,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:78,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:78,1
    - Dst: JwtHmacKey
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:78,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey
    - Not
    - IsOk
    - EXPECT_THAT
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:82,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:82,1
    - Dst: JwtHmacKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:82,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - JwtHmacKeyFormat
    - EXPECT_THAT
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:88,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:90,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:90,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:92,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:92,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - EXPECT_THAT
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS256KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:97,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:99,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:99,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:101,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:101,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - EXPECT_THAT
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS384KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:106,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:108,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:108,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:110,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:110,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - EXPECT_THAT
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS512KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:115,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:116,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:120,1
    - Dst: util::StatusOr::version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:121,1
    - Dst: util::StatusOr::algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:121,1
    - Dst: JwtHmacKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:122,1
    - Dst: util::StatusOr::key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:122,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:122,1
    - Dst: JwtHmacKeyFormat::key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:124,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - EXPECT_EQ
    - IsOk
    - JwtHmacKeyFormat::set_algorithm
    - util::StatusOr::version
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - util::StatusOr::algorithm
    - JwtHmacKeyFormat::algorithm
    - EXPECT_THAT
    - util::StatusOr::key_value
    - JwtHmacKeyFormat::key_size
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:129,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:130,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:131,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:133,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - JwtHmacKey::set_key_value
    - JwtHmacKey::set_version
    - EXPECT_FALSE
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateKeyWithUnknownAlgorithm_fails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:138,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:139,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:141,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:141,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:143,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:143,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - IsOk
    - Not
    - JwtHmacKey::set_key_value
    - EXPECT_THAT
    - JwtHmacKey::set_version
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateHS256Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:148,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:149,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:152,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:152,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:155,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:155,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - IsOk
    - Not
    - JwtHmacKey::set_key_value
    - EXPECT_THAT
    - JwtHmacKey::set_version
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateHS384Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:160,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:161,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:162,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:166,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:166,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - Not
    - IsOk
    - JwtHmacKey::set_key_value
    - EXPECT_THAT
    - JwtHmacKey::set_version
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateHS512Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:172,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:173,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:174,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:179,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:179,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - JwtHmacKeyFormat::set_version
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - StatusIs
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, DeriveKeyIsNotImplemented)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:185,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:186,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:189,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:193,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:197,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:200,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:201,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:206,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:206,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:209,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:211,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:213,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 214
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - VerifyMacAndDecodeWithKid
    - ComputeMacAndEncodeWithKid
    - IsOk
    - util::StatusOr::GetIssuer
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - JwtValidatorBuilder
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, GetAndUsePrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:218,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:219,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:222,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:226,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:230,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:234,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:234,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:237,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:243,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:246,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:250,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:251,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:255,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:256,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:256,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:263,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:267,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:268,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:269,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:272,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 273
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - VerifyMacAndDecodeWithKid
    - ComputeMacAndEncodeWithKid
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - JwtValidatorBuilder
    - RawJwtBuilder
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, GetAndUsePrimitiveWithKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:277,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:278,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:280,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:280,1
    - Dst: util::StatusOr::mutable_custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:281,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:285,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:286,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:286,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:289,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:290,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:290,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:293,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:294,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:294,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:299,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:299,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:301,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:302,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:302,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:302,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:304,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:304,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:306,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:307,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:308,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:309,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:310,1
    - Dst: auto::second::string_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:310,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:311,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:315,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:317,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:318,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:319,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:319,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:320,1
    - Dst: testing::Eq
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:320,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:323,1
    - Dst: ComputeMacAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:323,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:326,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 327
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - VerifyMacAndDecodeWithKid
    - crypto::tink::jwt_internal::DecodeHeader
    - ASSERT_THAT
    - ASSERT_FALSE
    - JwtValidatorBuilder
    - ASSERT_TRUE
    - util::StatusOr::fields
    - IsOk
    - Not
    - std::vector::size
    - JwtHmacKeyFormat::set_key_size
    - EXPECT_THAT
    - testing::Eq
    - RawJwtBuilder
    - JwtHmacKeyManager
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - ComputeMacAndEncodeWithKid
    - absl::StrSplit
    - Eq
    - auto::second::string_value
    - JwtHmacKeyFormat::set_algorithm
    - util::StatusOr::mutable_custom_kid
    - util::StatusOr::GetIssuer
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, GetAndUsePrimitiveWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:331,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:332,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:335,1
    - Dst: crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:335,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:339,1
    - Dst: JwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:341,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:342,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:342,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:349,1
    - Dst: absl::FromUnixSeconds
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:352,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:354,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:354,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:359,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:359,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:360,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:360,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:360,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:361,1
    - Dst: util::StatusOr::GetBooleanClaim
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:361,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:362,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:364,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:365,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:366,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:366,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:370,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:370,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:376,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:376,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:380,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 381
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::FromUnixSeconds
    - JwtHmacKey::set_algorithm
    - VerifyMacAndDecodeWithKid
    - IsOk
    - util::StatusOr::GetBooleanClaim
    - Not
    - JwtHmacKey::set_key_value
    - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
    - ASSERT_THAT
    - JwtValidatorBuilder
    - EXPECT_THAT
    - IsOkAndHolds
    - ASSERT_TRUE
    - JwtHmacKey::set_version
    - util::StatusOr::GetIssuer
    - JwtHmacKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtHmacKeyManagerTest, ValidateTokenWithFixedKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPssKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:69,1
    - Dst: JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:70,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:72,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:72,1
    - Dst: JwtRsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:73,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:74,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:74,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:74,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - JwtRsaSsaPssAlgorithm
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: crypto::tink::jwt_internal::CreateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPssKeyFormat::set_public_exponent
    - internal::SslUniquePtr::get
    - BN_set_word
    - JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
    - BN_num_bytes
    - JwtRsaSsaPssKeyFormat::set_algorithm
    linkageType: ''
    returnType: JwtRsaSsaPssKeyFormat
    signature: "JwtRsaSsaPssKeyFormat CreateKeyFormat(JwtRsaSsaPssAlgorithm algorithm,\n
      \                                     int modulus_size_in_bits,\n                                      int
      public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:79,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:80,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:82,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssSignKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, BasicsSign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:87,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:88,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:90,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssVerifyKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, BasicsVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:95,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:96,1
    - Dst: JwtRsaSsaPssPrivateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:96,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssPrivateKey
    - Not
    - IsOk
    - EXPECT_THAT
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, ValidateEmptyPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:101,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:102,1
    - Dst: JwtRsaSsaPssPublicKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - JwtRsaSsaPssPublicKey
    - EXPECT_THAT
    - JwtRsaSsaPssVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, ValidateEmptyPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:107,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:108,1
    - Dst: JwtRsaSsaPssKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:108,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPssKeyFormat
    - Not
    - IsOk
    - EXPECT_THAT
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:115,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - EXPECT_THAT
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, ValidKeyFormatPS256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:122,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - EXPECT_THAT
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, ValidateKeyFormatRS384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:129,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - EXPECT_THAT
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, ValidateKeyFormatRS512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:135,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:139,1
    - Dst: util::StatusOr::version
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:140,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:140,1
    - Dst: JwtRsaSsaPssKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:141,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:141,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:145,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - EXPECT_EQ
    - IsOk
    - util::StatusOr::public_key
    - util::StatusOr::version
    - ASSERT_THAT
    - JwtRsaSsaPssKeyFormat::algorithm
    - EXPECT_THAT
    - util::StatusOr::mutable_public_key
    - EXPECT_FALSE
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, CreatePrivateKeyAndValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:150,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:153,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:156,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:156,1
    - Dst: util::StatusOr::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:159,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:160,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - util::StatusOr::set_algorithm
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - JwtRsaSsaPssVerifyKeyManager
    - EXPECT_FALSE
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, CreatePublicKeyAndValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:165,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:168,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:172,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:176,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:180,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:186,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:188,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:190,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:194,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:195,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:196,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:198,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:198,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:201,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:208,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:209,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:217,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:222,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:227,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:228,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 232
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - util::StatusOr::GetIssuer
    - util::StatusOr::public_key
    - VerifyAndDecodeWithKid
    - Not
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - IsOkAndHolds
    - EXPECT_THAT
    - JwtRsaSsaPssVerifyKeyManager
    - RawJwtBuilder
    - EXPECT_FALSE
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, GetAndUsePrimitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:236,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:239,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:240,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:245,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:248,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:249,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:252,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:253,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:257,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:257,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:257,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:259,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:259,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:261,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:262,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:262,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:263,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:264,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:265,1
    - Dst: auto::second::string_value
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:265,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:266,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:273,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:275,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:277,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:279,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:281,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:283,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:284,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:287,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:287,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:288,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:289,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:289,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:292,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:292,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:296,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:298,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:299,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:300,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:301,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:302,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:305,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 306
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::DecodeHeader
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - ASSERT_FALSE
    - JwtValidatorBuilder
    - ASSERT_TRUE
    - crypto::tink::jwt_internal::CreateKeyFormat
    - util::StatusOr::fields
    - IsOk
    - Not
    - std::vector::size
    - util::StatusOr::public_key
    - EXPECT_THAT
    - RawJwtBuilder
    - JwtRsaSsaPssSignKeyManager
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - absl::StrSplit
    - JwtRsaSsaPssVerifyKeyManager
    - Eq
    - auto::second::string_value
    - SignAndEncodeWithKid
    - util::StatusOr::GetIssuer
    - util::StatusOr::mutable_public_key
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, GetAndUsePrimitivesWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:310,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:312,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:313,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:316,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:317,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:317,1
    - Dst: JwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:321,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:321,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:324,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:325,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:325,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:329,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:329,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:333,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:333,1
    - Dst: JwtRsaSsaPssVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:335,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:336,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:337,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:337,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:339,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:340,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:343,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 344
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - Not
    - util::StatusOr::public_key
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - EXPECT_THAT
    - JwtRsaSsaPssVerifyKeyManager
    - RawJwtBuilder
    - JwtRsaSsaPssSignKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPssSignVerifyKeyManagerTest, VerifyFailsWithDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:63,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:64,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:66,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:66,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:71,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:72,1
    - Dst: JwtEcdsaKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:72,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - JwtEcdsaKeyFormat
    - IsOk
    - Not
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: crypto::tink::jwt_internal::CreateValidEs256KeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaKeyFormat::set_algorithm
    linkageType: ''
    returnType: JwtEcdsaKeyFormat
    signature: JwtEcdsaKeyFormat CreateValidEs256KeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256KeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:84,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc: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: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256KeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256KeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:88,1
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:90,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:90,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - Not
    - JwtEcdsaKeyFormat::set_algorithm
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256KeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, ValidateKeyFormatUnknownAlgorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256KeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:95,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:100,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:100,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:102,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:102,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:102,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:103,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:103,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:104,1
    - Dst: JwtEcdsaKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:106,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:106,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:106,1
    - Dst: Gt
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:107,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:107,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:107,1
    - Dst: Gt
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:109,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:109,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:109,1
    - Dst: Gt
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Gt
    - RawJwtEcdsaSignKeyManager
    - SizeIs
    - StatusOr::key_value
    - IsOk
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - JwtEcdsaKeyFormat::algorithm
    - Eq
    - crypto::tink::jwt_internal::CreateValidEs256KeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256KeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:113,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:115,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:116,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:117,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256KeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256KeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:122,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc: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: crypto::tink::jwt_internal::CreateValidEs256Key
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - crypto::tink::jwt_internal::CreateValidEs256KeyFormat
    linkageType: ''
    returnType: JwtEcdsaPrivateKey
    signature: JwtEcdsaPrivateKey CreateValidEs256Key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256Key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:128,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - IsOk
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256Key
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256Key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:132,1
    - Dst: JwtEcdsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:134,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:134,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:135,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:135,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - Not
    - IsOk
    - JwtEcdsaPrivateKey::mutable_public_key
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256Key
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, ValidateKeyUnknownAlgorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256Key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:140,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:146,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:146,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:146,1
    - Dst: JwtEcdsaPrivateKey::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:146,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:147,1
    - Dst: StatusOr::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:147,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:148,1
    - Dst: JwtEcdsaPrivateKey::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:148,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:150,1
    - Dst: StatusOr::x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:150,1
    - Dst: JwtEcdsaPrivateKey::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:151,1
    - Dst: StatusOr::y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:151,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:151,1
    - Dst: JwtEcdsaPrivateKey::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::y
    - RawJwtEcdsaSignKeyManager
    - IsOk
    - JwtEcdsaPrivateKey::public_key
    - StatusOr::algorithm
    - StatusOr::x
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256Key
    - StatusOr::version
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256Key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:155,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:158,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:162,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:165,1
    - Dst: util::StatusOr::x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:166,1
    - Dst: util::StatusOr::y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:167,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:169,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:172,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:175,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:177,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - util::StatusOr::x
    - util::StatusOr::y
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256Key
    - crypto::tink::util::Enums::ProtoToSubtle
    - Verify
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256Key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:181,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:183,1
    - Dst: crypto::tink::jwt_internal::CreateValidEs256Key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:184,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:187,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:188,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:191,1
    - Dst: util::StatusOr::x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:192,1
    - Dst: util::StatusOr::y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:193,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:195,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:198,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:202,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:203,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:203,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 204
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - util::StatusOr::x
    - util::StatusOr::y
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::jwt_internal::CreateValidEs256Key
    - crypto::tink::util::Enums::ProtoToSubtle
    - Verify
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaSignKeyManagerTest, CreateDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.h:44,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.h:45,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.h:46,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.h:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - verify
    - algorithm
    - custom_kid
    argTypes:
    - std::unique_ptr<crypto::tink::PublicKeyVerify>
    - absl::string_view
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: crypto::tink::jwt_internal::JwtPublicKeyVerifyImpl::JwtPublicKeyVerifyImpl
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::string
    - absl::optional<absl::string_view>::has_value
    linkageType: ''
    returnType: void
    signature: "void JwtPublicKeyVerifyImpl(\n      std::unique_ptr<crypto::tink::PublicKeyVerify>
      verify,\n      absl::string_view algorithm,\n      absl::optional<absl::string_view>
      custom_kid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - jwt_mac_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<JwtMacInternal>>
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: crypto::tink::jwt_internal::JwtMacSetWrapper::JwtMacSetWrapper
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void JwtMacSetWrapper(\n      std::unique_ptr<PrimitiveSet<JwtMacInternal>>
      jwt_mac_set)"
  - 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: ~JwtMacSetWrapper() override
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtMacSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:67,1
    - Dst: PrimitiveSet<JwtMacInternal>*::get_primary
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:71,1
    - Dst: PrimitiveSet<JwtMacInternal>*::get_all
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:74,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:75,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:77,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - jwt_mac_set
    argTypes:
    - PrimitiveSet<JwtMacInternal>*
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: crypto::tink::jwt_internal::Validate
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - get_output_prefix_type
    - PrimitiveSet<JwtMacInternal>*::get_primary
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - PrimitiveSet<JwtMacInternal>*::get_all
    linkageType: ''
    returnType: util::Status
    signature: util::Status Validate(PrimitiveSet<JwtMacInternal>* jwt_mac_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:86,1
    - Dst: GetKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:88,1
    - Dst: auto::get_key_id
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:88,1
    - Dst: auto::get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:88,1
    - Dst: auto::get_primitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - crypto::tink::RawJwt
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: crypto::tink::jwt_internal::JwtMacSetWrapper::ComputeMacAndEncode
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - GetKid
    - get_primary
    - auto::get_key_id
    - auto::get_primitive
    - auto::get_output_prefix_type
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> JwtMacSetWrapper::ComputeMacAndEncode(\n
      \   const crypto::tink::RawJwt& token) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_all
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:96,1
    - Dst: get_primitive
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:97,1
    - Dst: GetKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:99,1
    - Dst: get_key_id
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:99,1
    - Dst: get_output_prefix_type
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:99,1
    - Dst: VerifyMacAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:101,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:102,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:104,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:107,1
    - Dst: absl::optional::has_value
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:110,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - compact
    - ' validator'
    argTypes:
    - absl::string_view
    - crypto::tink::JwtValidator
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: crypto::tink::jwt_internal::JwtMacSetWrapper::VerifyMacAndDecode
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - absl::optional::has_value
    - get_output_prefix_type
    - get_primitive
    - GetKid
    - VerifyMacAndDecodeWithKid
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - get_key_id
    - get_all
    linkageType: ''
    returnType: util::StatusOr<crypto::tink::VerifiedJwt>
    signature: "util::StatusOr<crypto::tink::VerifiedJwt> JwtMacSetWrapper::VerifyMacAndDecode(\n
      \   absl::string_view compact,\n    const crypto::tink::JwtValidator& validator)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:121,1
    - Dst: std::unique_ptr<PrimitiveSet<JwtMacInternal>>::get
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:121,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:122,1
    - Dst: absl::make_unique<JwtMacSetWrapper>
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:124,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:124,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - jwt_mac_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<JwtMacInternal>>
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: crypto::tink::jwt_internal::JwtMacWrapper::Wrap
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
    functionUses: 0
    functionsReached:
    - util::Status::ok
    - std::move
    - Validate
    - std::unique_ptr<PrimitiveSet<JwtMacInternal>>::get
    - absl::make_unique<JwtMacSetWrapper>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<JwtMac>>
    signature: "util::StatusOr<std::unique_ptr<JwtMac>> JwtMacWrapper::Wrap(\n    std::unique_ptr<PrimitiveSet<JwtMacInternal>>
      jwt_mac_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:39,1
    - Dst: GetTypeHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:40,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:41,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:42,1
    - Dst: has_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:46,1
    - Dst: absl::optional<absl::string_view>::has_value
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:47,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:48,1
    - Dst: CreateHeader
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:54,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:55,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:56,1
    - Dst: GetJsonPayload
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:58,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:59,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:60,1
    - Dst: EncodePayload
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:62,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:64,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:65,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:66,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:67,1
    - Dst: EncodeSignature
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:69,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ' token'
    - kid
    argTypes:
    - RawJwt
    - absl::optional<absl::string_view>
    constantsTouched: []
    func_position:
      end: 71
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 71
    functionName: crypto::tink::jwt_internal::JwtPublicKeySignImpl::SignAndEncodeWithKid
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - absl::optional<absl::string_view>::has_value
    - has_value
    - crypto::tink::internal::ExtractStatus
    - EncodeSignature
    - CreateHeader
    - util::StatusOr::ok
    - EncodePayload
    - absl::StrCat
    - GetTypeHeader
    - HasTypeHeader
    - GetJsonPayload
    - Sign
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> JwtPublicKeySignImpl::SignAndEncodeWithKid(\n
      \   const RawJwt& token, absl::optional<absl::string_view> kid) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::RawJwtRsaSsaPkcs1VerifyKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtRsaSsaPkcs1VerifyKeyManager()
  - 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: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - 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: ~JwtPublicKeyVerifyInternal()
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_verify_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtPublicKeyVerifyInternal()
  - 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: ~JwtPublicKeySignInternal()
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_public_key_sign_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~JwtPublicKeySignInternal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:59,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:73,1
    - Dst: crypto::tink::subtle::HmacBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:76,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:77,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:78,1
    - Dst: key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ' jwt_hmac_key'
    argTypes:
    - google::crypto::tink::JwtHmacKey
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::MacFactory::Create
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - algorithm
    - crypto::tink::subtle::HmacBoringSsl::New
    - crypto::tink::internal::ExtractStatus
    - key_value
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<Mac>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<Mac>> Create(\n        const
      google::crypto::tink::JwtHmacKey& jwt_hmac_key) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<MacFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::RawJwtHmacKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<MacFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtHmacKeyManager()
  - 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: crypto::tink::jwt_internal::RawJwtHmacKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: crypto::tink::jwt_internal::RawJwtHmacKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CurveForEcdsaAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:53,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:53,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:54,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:55,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:57,1
    - Dst: x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:58,1
    - Dst: y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:59,1
    - Dst: HashForEcdsaAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:61,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:61,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:62,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:63,1
    - Dst: crypto::tink::subtle::EcdsaVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:65,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:66,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:68,1
    - Dst: auto::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:68,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ' jwt_ecdsa_public_key'
    argTypes:
    - JwtEcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 70
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 70
    functionName: "RawJwtEcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \     const JwtEcdsaPublicKey& jwt_ecdsa_public_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - algorithm
    - x
    - util::StatusOr::status
    - auto::ok
    - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
    - y
    - std::move
    - util::StatusOr::ok
    - CurveForEcdsaAlgorithm
    - crypto::tink::util::Enums::ProtoToSubtle
    - HashForEcdsaAlgorithm
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> RawJwtEcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \     const JwtEcdsaPublicKey& jwt_ecdsa_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtEcdsaAlgorithm
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc
    functionUses: 2
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<EllipticCurveType>
    signature: "StatusOr<EllipticCurveType> RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm(\n
      \   const JwtEcdsaAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtEcdsaAlgorithm
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::HashForEcdsaAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - Status
    linkageType: ''
    returnType: StatusOr<HashType>
    signature: "StatusOr<HashType> RawJwtEcdsaVerifyKeyManager::HashForEcdsaAlgorithm(\n
      \   const JwtEcdsaAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:109,1
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:111,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtEcdsaAlgorithm
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - Status
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm(\n    const
      JwtEcdsaAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:119,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:119,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:119,1
    - Dst: Status::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:120,1
    - Dst: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:121,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtEcdsaPublicKey
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::get_version
    - Status::ok
    - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm
    - algorithm
    - ValidateVersion
    - version
    linkageType: ''
    returnType: Status
    signature: "Status RawJwtEcdsaVerifyKeyManager::ValidateKey(\n    const JwtEcdsaPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AlgorithmName
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:46,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:46,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:47,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:48,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:51,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:53,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:54,1
    - Dst: has_custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:57,1
    - Dst: custom_kid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:58,1
    - Dst: absl::make_unique<jwt_internal::JwtPublicKeyVerifyImpl>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:62,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ' jwt_rsa_ssa_pss_public_key'
    argTypes:
    - JwtRsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: "JwtRsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPssPublicKey& jwt_rsa_ssa_pss_public_key) const"
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - StatusOr::ok
    - algorithm
    - AlgorithmName
    - GetPrimitive
    - absl::make_unique<jwt_internal::JwtPublicKeyVerifyImpl>
    - std::move
    - StatusOr::status
    - custom_kid
    - has_custom_kid
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<JwtPublicKeyVerifyInternal>>
    signature: "StatusOr<std::unique_ptr<JwtPublicKeyVerifyInternal>> JwtRsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const JwtRsaSsaPssPublicKey& jwt_rsa_ssa_pss_public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc: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: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtRsaSsaPssVerifyKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtRsaSsaPssVerifyKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc: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: '& JwtRsaSsaPssVerifyKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtRsaSsaPssVerifyKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtRsaSsaPssPublicKey
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: "Status JwtRsaSsaPssVerifyKeyManager::ValidateKey(\n    const JwtRsaSsaPssPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:88,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:90,1
    - Dst: std::string
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:92,1
    - Dst: Status
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' algorithm'
    argTypes:
    - JwtRsaSsaPssAlgorithm
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::AlgorithmName
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
    functionUses: 1
    functionsReached:
    - Status
    - std::string
    linkageType: ''
    returnType: StatusOr<std::string>
    signature: "StatusOr<std::string> JwtRsaSsaPssVerifyKeyManager::AlgorithmName(\n
      \   const JwtRsaSsaPssAlgorithm& algorithm)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::RawJwtEcdsaSignKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void RawJwtEcdsaSignKeyManager()
  - 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: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::JwtEcdsaPrivateKey
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::JwtEcdsaPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::JwtEcdsaPublicKey>
      GetPublicKey(const google::crypto::tink::JwtEcdsaPrivateKey& private_key)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::JwtRsaSsaPssVerifyKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void JwtRsaSsaPssVerifyKeyManager()
  - 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: crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:57,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:58,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:60,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPssKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:69,1
    - Dst: JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:70,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:73,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:73,1
    - Dst: JwtRsaSsaPssKeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:74,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:75,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:75,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:75,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - JwtRsaSsaPssAlgorithm
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: crypto::tink::CreateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 29
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPssKeyFormat::set_public_exponent
    - internal::SslUniquePtr::get
    - BN_set_word
    - JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
    - BN_num_bytes
    - JwtRsaSsaPssKeyFormat::set_algorithm
    linkageType: ''
    returnType: JwtRsaSsaPssKeyFormat
    signature: "JwtRsaSsaPssKeyFormat CreateKeyFormat(JwtRsaSsaPssAlgorithm algorithm,\n
      \                                     int modulus_size_in_bits,\n                                      int
      public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:83,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - IsOk
    - crypto::tink::CreateKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, ValidatePs256KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:90,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - IsOk
    - crypto::tink::CreateKeyFormat
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, ValidatePs512KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:96,1
    - Dst: JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:98,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:98,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - Not
    - IsOk
    - JwtRsaSsaPssKeyFormat::set_modulus_size_in_bits
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, KeyWithSmallModulusIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:105,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:105,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, ValidateKeyFormatUnkownHashDisallowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:114,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:114,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:115,1
    - Dst: version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:115,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:115,1
    - Dst: JwtRsaSsaPssPublicKey::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:116,1
    - Dst: JwtRsaSsaPssPublicKey::n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:116,1
    - Dst: Gt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:117,1
    - Dst: JwtRsaSsaPssPublicKey::e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:117,1
    - Dst: Gt
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:118,1
    - Dst: JwtRsaSsaPssPublicKey::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:118,1
    - Dst: algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:120,1
    - Dst: public_exponent
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:120,1
    - Dst: JwtRsaSsaPssPublicKey::e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:120,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:122,1
    - Dst: JwtRsaSsaPssPublicKey::n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:123,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:125,1
    - Dst: d
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:126,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:128,1
    - Dst: p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:129,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:131,1
    - Dst: q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:132,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:134,1
    - Dst: dp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:135,1
    - Dst: crypto::tink::internal::StringToBignum
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:137,1
    - Dst: dq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:138,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:142,1
    - Dst: BN_new
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:142,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: BN_mul
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: BN_cmp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:144,1
    - Dst: EXPECT_GE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:147,1
    - Dst: BN_num_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:147,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:147,1
    - Dst: modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:147,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:150,1
    - Dst: BN_dup
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:150,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:150,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:151,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:151,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:151,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:152,1
    - Dst: BN_new
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:152,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: BN_mod
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:154,1
    - Dst: BN_cmp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:154,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:154,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:154,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:157,1
    - Dst: BN_dup
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:157,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:158,1
    - Dst: BN_sub_word
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:158,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:158,1
    - Dst: internal::SslUniquePtr<BIGNUM>
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:159,1
    - Dst: BN_new
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:159,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: BN_mod
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:161,1
    - Dst: BN_cmp
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:161,1
    - Dst: auto::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:161,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - ' private_key'
    - ' key_format'
    argTypes:
    - JwtRsaSsaPssPrivateKey
    - JwtRsaSsaPssKeyFormat
    constantsTouched: []
    func_position:
      end: 162
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 162
    functionName: crypto::tink::CheckNewKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 9
    functionsReached:
    - EXPECT_TRUE
    - ASSERT_THAT
    - JwtRsaSsaPssPublicKey::e
    - internal::SslUniquePtr<BIGNUM>
    - BN_mod
    - Gt
    - algorithm
    - dq
    - crypto::tink::internal::StringToBignum
    - IsOk
    - BN_new
    - BN_dup
    - EXPECT_THAT
    - dp
    - EXPECT_GE
    - EXPECT_EQ
    - JwtRsaSsaPssPublicKey::version
    - internal::SslUniquePtr::get
    - BN_sub_word
    - version
    - public_exponent
    - BN_num_bits
    - Eq
    - util::StatusOr::get
    - public_key
    - p
    - q
    - BN_cmp
    - d
    - JwtRsaSsaPssPublicKey::algorithm
    - modulus_size_in_bits
    - JwtRsaSsaPssPublicKey::n
    - auto::get
    - BN_mul
    linkageType: ''
    returnType: void
    signature: "void CheckNewKey(const JwtRsaSsaPssPrivateKey& private_key,\n                 const
      JwtRsaSsaPssKeyFormat& key_format)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:166,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:169,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:171,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:171,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - crypto::tink::CheckNewKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, CreatePs256KeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:177,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:180,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:181,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:182,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - crypto::tink::CheckNewKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, CreatePs384KeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:188,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:191,1
    - Dst: crypto::tink::CheckNewKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:192,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:193,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - crypto::tink::CheckNewKey
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, CreatePs512KeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:200,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:207,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:208,1
    - Dst: StatusOr::p
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:208,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:209,1
    - Dst: StatusOr::q
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:211,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - SizeIs
    - StatusOr::p
    - absl::flat_hash_set::insert
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateKeyFormat
    - StatusOr::q
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, CreateKeyAlwaysNewRsaPair)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:216,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:219,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:222,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:223,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:223,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:223,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:224,1
    - Dst: StatusOr::n
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:224,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:224,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:225,1
    - Dst: StatusOr::e
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:225,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:225,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - StatusOr::n
    - StatusOr::e
    - IsOk
    - ASSERT_THAT
    - Eq
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:230,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:233,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:236,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:237,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:237,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:244,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:245,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:247,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:250,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:251,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:251,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 252
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - IsOk
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - Verify
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - Sign
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:256,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:258,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:259,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:259,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:263,1
    - Dst: RawJwtRsaSsaPssSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:267,1
    - Dst: crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:274,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:275,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:275,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:277,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:281,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:281,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 4
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtRsaSsaPssSignKeyManager
    - IsOk
    - Not
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - Verify
    - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
    - Sign
    - crypto::tink::CreateKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtRsaSsaPssSignKeyManagerTest, CreateWrongKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:69,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:70,1
    - Dst: BN_set_word
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:72,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:72,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::set_public_exponent
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:73,1
    - Dst: crypto::tink::internal::BignumToString
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:74,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:74,1
    - Dst: BN_num_bytes
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:74,1
    - Dst: internal::SslUniquePtr::get
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - modulus_size_in_bits
    - public_exponent
    argTypes:
    - JwtRsaSsaPkcs1Algorithm
    - int
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: crypto::tink::jwt_internal::CreateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 8
    functionsReached:
    - crypto::tink::internal::BignumToString
    - JwtRsaSsaPkcs1KeyFormat::set_modulus_size_in_bits
    - JwtRsaSsaPkcs1KeyFormat::set_algorithm
    - internal::SslUniquePtr::get
    - BN_set_word
    - BN_num_bytes
    - JwtRsaSsaPkcs1KeyFormat::set_public_exponent
    linkageType: ''
    returnType: JwtRsaSsaPkcs1KeyFormat
    signature: "JwtRsaSsaPkcs1KeyFormat CreateKeyFormat(JwtRsaSsaPkcs1Algorithm algorithm,\n
      \                                       int modulus_size_in_bits,\n                                        int
      public_exponent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:79,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:80,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:82,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1SignKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, BasicsSign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:87,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:88,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:90,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1VerifyKeyManager
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, BasicsVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:95,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:96,1
    - Dst: JwtRsaSsaPkcs1PrivateKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:96,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtRsaSsaPkcs1SignKeyManager
    - JwtRsaSsaPkcs1PrivateKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, ValidateEmptyPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:101,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:102,1
    - Dst: JwtRsaSsaPkcs1PublicKey
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:102,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1PublicKey
    - Not
    - IsOk
    - JwtRsaSsaPkcs1VerifyKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, ValidateEmptyPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:107,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:107,1
    - Dst: JwtRsaSsaPkcs1KeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:108,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtRsaSsaPkcs1KeyFormat
    - Not
    - JwtRsaSsaPkcs1SignKeyManager
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:115,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - JwtRsaSsaPkcs1SignKeyManager
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, ValidKeyFormatRS256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:122,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - JwtRsaSsaPkcs1SignKeyManager
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, ValidateKeyFormatRS384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:129,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - JwtRsaSsaPkcs1SignKeyManager
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, ValidateKeyFormatRS512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:135,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:137,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:139,1
    - Dst: util::StatusOr::version
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:140,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:140,1
    - Dst: JwtRsaSsaPkcs1KeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:141,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:141,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:144,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:145,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - EXPECT_EQ
    - IsOk
    - JwtRsaSsaPkcs1SignKeyManager
    - util::StatusOr::public_key
    - util::StatusOr::version
    - ASSERT_THAT
    - EXPECT_THAT
    - util::StatusOr::mutable_public_key
    - EXPECT_FALSE
    - JwtRsaSsaPkcs1KeyFormat::algorithm
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, CreatePrivateKeyAndValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:150,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:153,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:156,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:157,1
    - Dst: util::StatusOr::set_algorithm
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:160,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:161,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - util::StatusOr::set_algorithm
    - IsOk
    - JwtRsaSsaPkcs1SignKeyManager
    - JwtRsaSsaPkcs1VerifyKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, CreatePublicKeyAndValidate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:166,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:168,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:169,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:174,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:178,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:182,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:188,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:188,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:190,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:192,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:196,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:196,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:198,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:200,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:200,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:203,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:208,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:209,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:217,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:222,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:227,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:228,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 232
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - JwtRsaSsaPkcs1SignKeyManager
    - util::StatusOr::public_key
    - VerifyAndDecodeWithKid
    - JwtRsaSsaPkcs1VerifyKeyManager
    - util::StatusOr::GetIssuer
    - ASSERT_THAT
    - Not
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - EXPECT_THAT
    - IsOkAndHolds
    - RawJwtBuilder
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, GetAndUsePrimitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:236,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:239,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:240,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:246,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:250,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:254,1
    - Dst: absl::StrSplit
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:258,1
    - Dst: std::vector::size
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:258,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:258,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:260,1
    - Dst: crypto::tink::jwt_internal::DecodeHeader
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:260,1
    - Dst: crypto::tink::jwt_internal::JsonStringToProtoStruct
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:262,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:263,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:263,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:264,1
    - Dst: ASSERT_FALSE
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:265,1
    - Dst: util::StatusOr::fields
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:265,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:266,1
    - Dst: auto::second::string_value
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:266,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:267,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:274,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:276,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:278,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:282,1
    - Dst: util::StatusOr::GetIssuer
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:285,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:288,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:288,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:289,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:290,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:290,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:293,1
    - Dst: util::StatusOr::mutable_public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:296,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:297,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:297,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:299,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:300,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:301,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:302,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:303,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:306,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 307
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::DecodeHeader
    - VerifyAndDecodeWithKid
    - ASSERT_THAT
    - ASSERT_FALSE
    - JwtValidatorBuilder
    - ASSERT_TRUE
    - crypto::tink::jwt_internal::CreateKeyFormat
    - util::StatusOr::fields
    - IsOk
    - Not
    - std::vector::size
    - util::StatusOr::public_key
    - EXPECT_THAT
    - RawJwtBuilder
    - crypto::tink::jwt_internal::JsonStringToProtoStruct
    - JwtRsaSsaPkcs1SignKeyManager
    - JwtRsaSsaPkcs1VerifyKeyManager
    - absl::StrSplit
    - Eq
    - auto::second::string_value
    - SignAndEncodeWithKid
    - util::StatusOr::GetIssuer
    - util::StatusOr::mutable_public_key
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, GetAndUsePrimitivesWithCustomKid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:311,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:313,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:314,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:314,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:317,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:318,1
    - Dst: JwtRsaSsaPkcs1SignKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:323,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:323,1
    - Dst: RawJwtBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:327,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:327,1
    - Dst: SignAndEncodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:330,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:331,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:331,1
    - Dst: JwtValidatorBuilder
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:334,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:335,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:335,1
    - Dst: JwtRsaSsaPkcs1VerifyKeyManager
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:337,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:338,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:339,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:339,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:341,1
    - Dst: VerifyAndDecodeWithKid
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:342,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:345,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 346
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::jwt_internal::CreateKeyFormat
    - IsOk
    - JwtRsaSsaPkcs1SignKeyManager
    - util::StatusOr::public_key
    - VerifyAndDecodeWithKid
    - JwtRsaSsaPkcs1VerifyKeyManager
    - Not
    - ASSERT_THAT
    - JwtValidatorBuilder
    - SignAndEncodeWithKid
    - EXPECT_THAT
    - RawJwtBuilder
    linkageType: ''
    returnType: void
    signature: void TEST(JwtRsaSsaPkcs1SignVerifyKeyManagerTest, VerifyFailsWithDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtHmacKeyManager::get_version
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc: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: crypto::tink::jwt_internal::JwtHmacKeyManager::get_version
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtHmacKeyManager::get_version
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t JwtHmacKeyManager::get_version() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtHmacKeyManager::key_material_type
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc: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: crypto::tink::jwt_internal::JwtHmacKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtHmacKeyManager::key_material_type
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: google::crypto::tink::KeyData::KeyMaterialType JwtHmacKeyManager::key_material_type()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_type
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc: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: '& JwtHmacKeyManager::get_key_type() const'
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 0
    functionsReached:
    - get_key_type
    linkageType: ''
    returnType: std::string
    signature: std::string & JwtHmacKeyManager::get_key_type() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtHmacKeyManager::CreateKey
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' jwt_hmac_key_format'
    argTypes:
    - JwtHmacKeyFormat
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtHmacKeyManager::CreateKey
    linkageType: ''
    returnType: StatusOr<JwtHmacKey>
    signature: "StatusOr<JwtHmacKey> JwtHmacKeyManager::CreateKey(\n    const JwtHmacKeyFormat&
      jwt_hmac_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtHmacKeyManager::DeriveKey
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' jwt_hmac_key_format'
    - input_stream
    argTypes:
    - JwtHmacKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtHmacKeyManager::DeriveKey
    linkageType: ''
    returnType: StatusOr<JwtHmacKey>
    signature: "StatusOr<JwtHmacKey> JwtHmacKeyManager::DeriveKey(\n    const JwtHmacKeyFormat&
      jwt_hmac_key_format,\n    InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKey
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - JwtHmacKey
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKey
    linkageType: ''
    returnType: Status
    signature: Status JwtHmacKeyManager::ValidateKey(const JwtHmacKey& key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKeyFormat
      Src: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - JwtHmacKeyFormat
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKeyFormat
    linkageType: ''
    returnType: Status
    signature: "Status JwtHmacKeyManager::ValidateKeyFormat(\n    const JwtHmacKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::JwtRsaSsaPkcs1SignKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void JwtRsaSsaPkcs1SignKeyManager()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::JwtRsaSsaPkcs1VerifyKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void JwtRsaSsaPkcs1VerifyKeyManager()
  - 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: crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:61,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:62,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:64,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - RawJwtEcdsaVerifyKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:69,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:69,1
    - Dst: JwtEcdsaPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:69,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - RawJwtEcdsaVerifyKeyManager
    - JwtEcdsaPublicKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtEcdsaKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:75,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: crypto::tink::jwt_internal::CreateValidEs256PrivateKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - JwtEcdsaKeyFormat::set_algorithm
    linkageType: ''
    returnType: JwtEcdsaPrivateKey
    signature: JwtEcdsaPrivateKey CreateValidEs256PrivateKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:80,1
    - Dst: crypto::tink::jwt_internal::CreateValidEs256PrivateKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: crypto::tink::jwt_internal::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - crypto::tink::jwt_internal::CreateValidEs256PrivateKey
    linkageType: ''
    returnType: JwtEcdsaPublicKey
    signature: JwtEcdsaPublicKey CreateValidPublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:88,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - EXPECT_THAT
    - RawJwtEcdsaVerifyKeyManager
    - crypto::tink::jwt_internal::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtEcdsaVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidPublicKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:92,1
    - Dst: JwtEcdsaPublicKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:94,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:94,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:94,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:95,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:95,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtEcdsaPublicKey::set_algorithm
    - Not
    - IsOk
    - RawJwtEcdsaVerifyKeyManager
    - crypto::tink::jwt_internal::CreateValidPublicKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, ValidateKeyUnknownAlgorithm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256PrivateKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:101,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:103,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:106,1
    - Dst: JwtEcdsaPublicKey::x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:107,1
    - Dst: JwtEcdsaPublicKey::y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:108,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:109,1
    - Dst: JwtEcdsaPrivateKey::key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:109,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:112,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:115,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:119,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:124,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - JwtEcdsaPrivateKey::key_value
    - JwtEcdsaPublicKey::x
    - IsOk
    - crypto::tink::jwt_internal::CreateValidEs256PrivateKey
    - RawJwtEcdsaVerifyKeyManager
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - JwtEcdsaPublicKey::y
    - EXPECT_THAT
    - crypto::tink::util::Enums::ProtoToSubtle
    - Verify
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::jwt_internal::CreateValidEs256PrivateKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:128,1
    - Dst: RawJwtEcdsaSignKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:131,1
    - Dst: crypto::tink::jwt_internal::CreateValidEs256PrivateKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:131,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:134,1
    - Dst: util::StatusOr::x
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:135,1
    - Dst: util::StatusOr::y
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:136,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:137,1
    - Dst: JwtEcdsaPrivateKey::key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:137,1
    - Dst: crypto::tink::subtle::EcdsaSignBoringSsl::New
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:140,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:143,1
    - Dst: RawJwtEcdsaVerifyKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:147,1
    - Dst: Sign
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:151,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:152,1
    - Dst: Verify
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:152,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:152,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 153
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtEcdsaSignKeyManager
    - crypto::tink::subtle::EcdsaSignBoringSsl::New
    - util::StatusOr::x
    - util::StatusOr::y
    - JwtEcdsaPrivateKey::key_value
    - IsOk
    - crypto::tink::jwt_internal::CreateValidEs256PrivateKey
    - Not
    - RawJwtEcdsaVerifyKeyManager
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - Verify
    - crypto::tink::util::Enums::ProtoToSubtle
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST(EcdsaSignKeyManagerTest, CreateDifferentPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::JwtRsaSsaPssSignKeyManager
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void JwtRsaSsaPssSignKeyManager()
  - 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: crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::FipsStatus
    functionSourceFile: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: internal::FipsCompatibility
    signature: internal::FipsCompatibility FipsStatus() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:61,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:62,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:64,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:69,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:69,1
    - Dst: JwtHmacKey
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:69,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc: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: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey
    - Not
    - IsOk
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:73,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:73,1
    - Dst: JwtHmacKeyFormat
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:73,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:74,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateEmptyKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:81,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:83,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:83,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:85,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:85,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:87,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:87,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS256KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:93,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:95,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:95,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:97,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:97,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:99,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:99,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS384KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:105,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:107,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:107,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:109,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:109,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:111,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:111,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS512KeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:117,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:119,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:119,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - JwtHmacKeyFormat::set_algorithm
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, Sha1IsInvalidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:125,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:126,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:129,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:130,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:130,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:130,1
    - Dst: JwtHmacKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:131,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:131,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:131,1
    - Dst: JwtHmacKeyFormat::key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:133,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:133,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - auto::value
    - JwtHmacKeyFormat::algorithm
    - EXPECT_THAT
    - Eq
    - JwtHmacKeyFormat::key_size
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, CreateKeyWithSha256)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:138,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:139,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:141,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:142,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:142,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:142,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:143,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:143,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:143,1
    - Dst: JwtHmacKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:144,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:144,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:144,1
    - Dst: JwtHmacKeyFormat::key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:146,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 147
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - auto::value
    - JwtHmacKeyFormat::algorithm
    - EXPECT_THAT
    - Eq
    - JwtHmacKeyFormat::key_size
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, CreateKeyWithSha384)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:151,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:152,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:154,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:155,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:155,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:155,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:156,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:156,1
    - Dst: Eq
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:156,1
    - Dst: JwtHmacKeyFormat::algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:157,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:157,1
    - Dst: SizeIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:157,1
    - Dst: JwtHmacKeyFormat::key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:159,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - IsOk
    - JwtHmacKeyFormat::set_algorithm
    - ASSERT_THAT
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - auto::value
    - JwtHmacKeyFormat::algorithm
    - EXPECT_THAT
    - Eq
    - JwtHmacKeyFormat::key_size
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, CreateKeyWithSha512)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:164,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:165,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:167,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:167,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:169,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:169,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - IsOk
    - Not
    - JwtHmacKey::set_key_value
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    - JwtHmacKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS256Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:174,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:175,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:178,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:178,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:179,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:181,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:181,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - IsOk
    - Not
    - JwtHmacKey::set_key_value
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    - JwtHmacKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS384Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:186,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:187,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:188,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:190,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:192,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:192,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - Not
    - IsOk
    - JwtHmacKey::set_key_value
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    - JwtHmacKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, ValidateHS512Key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKey::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:197,1
    - Dst: JwtHmacKey::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:198,1
    - Dst: JwtHmacKey::set_key_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:200,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:200,1
    - Dst: Not
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - JwtHmacKey::set_algorithm
    - Not
    - IsOk
    - JwtHmacKey::set_key_value
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    - JwtHmacKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, Sha1KeyIsInvalid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:205,1
    - Dst: JwtHmacKeyFormat::set_version
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:206,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:207,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:209,1
    - Dst: RawJwtHmacKeyManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:213,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:213,1
    - Dst: StatusIs
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - JwtHmacKeyFormat::set_version
    - JwtHmacKeyFormat::set_algorithm
    - StatusOr::status
    - JwtHmacKeyFormat::set_key_size
    - RawJwtHmacKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, DeriveKeyIsNotImplemented)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:217,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:218,1
    - Dst: crypto::tink::MacConfig::Register
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:219,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:219,1
    - Dst: absl::make_unique<RawJwtHmacKeyManager>
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:221,1
    - Dst: JwtHmacKeyFormat::set_algorithm
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:224,1
    - Dst: JwtHmacKeyFormat::set_key_size
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:225,1
    - Dst: KeyTemplate::set_type_url
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:227,1
    - Dst: KeyTemplate::set_output_prefix_type
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:229,1
    - Dst: JwtHmacKeyFormat::SerializeToString
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:230,1
    - Dst: KeyTemplate::mutable_value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:230,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:233,1
    - Dst: KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:233,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:234,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:234,1
    - Dst: auto::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:234,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:235,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:235,1
    - Dst: std::unique_ptr::GetPrimitive
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:238,1
    - Dst: ConfigGlobalRegistry
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:238,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:239,1
    - Dst: auto::ok
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:239,1
    - Dst: auto::status
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:239,1
    - Dst: std::move
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:240,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:240,1
    - Dst: std::unique_ptr::ComputeMac
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:243,1
    - Dst: std::unique_ptr::VerifyMac
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:243,1
    - Dst: auto::value
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:243,1
    - Dst: IsOk
      Src: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: crypto::tink::jwt_internal::TEST
    functionSourceFile: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - KeyGenConfigGlobalRegistry
    - crypto::tink::Registry::RegisterKeyTypeManager
    - auto::ok
    - absl::make_unique<RawJwtHmacKeyManager>
    - std::move
    - ASSERT_THAT
    - ConfigGlobalRegistry
    - KeyTemplate::mutable_value
    - ASSERT_TRUE
    - crypto::tink::KeysetHandle::GenerateNew
    - auto::status
    - IsOk
    - KeyTemplate::set_output_prefix_type
    - JwtHmacKeyFormat::SerializeToString
    - JwtHmacKeyFormat::set_key_size
    - EXPECT_THAT
    - std::unique_ptr::ComputeMac
    - std::unique_ptr::GetPrimitive
    - crypto::tink::MacConfig::Register
    - KeyTemplate::set_type_url
    - crypto::tink::Registry::Reset
    - std::unique_ptr::VerifyMac
    - JwtHmacKeyFormat::set_algorithm
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(RawJwtHmacKeyManagerTest, GetPrimitiveFromNewKeysetHandle)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:44,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:45,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:46,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:47,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:47,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:48,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmHkdf4KBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:52,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmHkdf4KBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:59,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:59,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:60,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmHkdf4KBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:67,1
    - Dst: AesGcmHkdfStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:67,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:68,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_TRUE
    - IsOk
    - AesGcmHkdfStreamingKeyFormat::ParseFromString
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    - value
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmHkdf4KBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:74,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:76,1
    - Dst: AesGcmHkdfStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:76,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:77,1
    - Dst: AesGcmHkdfStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:78,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:78,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:79,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:79,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:80,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:80,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmHkdfStreamingKeyFormat::ParseFromString
    - AesGcmHkdfStreamingKeyFormat::key_size
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    - value
    - AesGcmHkdfStreamingKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128GcmHkdf4KBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:84,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:85,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:87,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:87,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:88,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf4KBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:92,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:93,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf4KBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:99,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:99,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:100,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf4KBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:107,1
    - Dst: AesGcmHkdfStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:107,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:108,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_TRUE
    - IsOk
    - AesGcmHkdfStreamingKeyFormat::ParseFromString
    - value
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf4KBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:116,1
    - Dst: AesGcmHkdfStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:116,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:117,1
    - Dst: AesGcmHkdfStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:117,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:118,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:118,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:118,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:119,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:119,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:119,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:120,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:120,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - AesGcmHkdfStreamingKeyFormat::ParseFromString
    - AesGcmHkdfStreamingKeyFormat::key_size
    - value
    - EXPECT_THAT
    - AesGcmHkdfStreamingKeyFormat::params
    - Eq
    - StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf4KBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:124,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:125,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:127,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:128,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf1MBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:132,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf1MBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:139,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:139,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:140,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf1MBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:145,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:147,1
    - Dst: AesGcmHkdfStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:147,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:148,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_TRUE
    - IsOk
    - StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
    - AesGcmHkdfStreamingKeyFormat::ParseFromString
    - EXPECT_THAT
    - value
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf1MBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:156,1
    - Dst: AesGcmHkdfStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:156,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:157,1
    - Dst: AesGcmHkdfStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:157,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:158,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:158,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:159,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:159,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:159,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:160,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
    - AesGcmHkdfStreamingKeyFormat::ParseFromString
    - AesGcmHkdfStreamingKeyFormat::key_size
    - EXPECT_THAT
    - value
    - AesGcmHkdfStreamingKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256GcmHkdf1MBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:164,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:165,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:167,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:169,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyManager
    - Eq
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment4KBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:173,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:173,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment4KBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:180,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:180,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:181,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment4KBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:188,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:188,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:188,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:189,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - value
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment4KBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:195,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:197,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:197,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:198,1
    - Dst: AesCtrHmacStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:198,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:199,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:199,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:199,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:200,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:200,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:201,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:201,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:201,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:202,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:202,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:202,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:203,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:203,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::key_size
    - EXPECT_TRUE
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - value
    - Eq
    - AesCtrHmacStreamingKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment4KBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:207,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:208,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:210,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:211,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:212,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment1MBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:216,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:216,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment1MBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:223,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:223,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:224,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
    - Ref
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment1MBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:229,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:231,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:231,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:231,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:232,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:232,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
    - IsOk
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - EXPECT_THAT
    - value
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment1MBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:238,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:240,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:240,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:240,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:241,1
    - Dst: AesCtrHmacStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:241,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:242,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:242,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:242,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:243,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:243,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:243,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:244,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:244,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:244,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:245,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:245,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:246,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:246,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::key_size
    - EXPECT_TRUE
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - EXPECT_THAT
    - value
    - Eq
    - AesCtrHmacStreamingKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST(Aes128CtrHmacSha256Segment1MBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:250,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:251,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:253,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:254,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:255,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment4KBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:259,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:259,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment4KBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:266,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:266,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:267,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment4KBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:272,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:274,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:274,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:274,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:275,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - value
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment4KBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:281,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:283,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:283,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:284,1
    - Dst: AesCtrHmacStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:284,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:285,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:285,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:286,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:286,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:287,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:287,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:287,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:288,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:288,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:289,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:289,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 290
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::key_size
    - EXPECT_TRUE
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - value
    - Eq
    - AesCtrHmacStreamingKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment4KBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:293,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:294,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:295,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:296,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:297,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:298,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyManager
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment1MBTest, TypeUrl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:302,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:302,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment1MBTest, OutputPrefixType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:309,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:309,1
    - Dst: Ref
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:310,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - Ref
    - EXPECT_THAT
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment1MBTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:315,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:317,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:317,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:317,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:318,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:318,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
    - IsOk
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - EXPECT_THAT
    - value
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment1MBTest, WorksWithKeyTypeManager)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:324,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:326,1
    - Dst: AesCtrHmacStreamingKeyFormat::ParseFromString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:326,1
    - Dst: value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:326,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:327,1
    - Dst: AesCtrHmacStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:327,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:327,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:328,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:328,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:328,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:329,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:329,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:329,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:330,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:330,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:330,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:331,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:331,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:331,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:332,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:332,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 333
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::key_size
    - EXPECT_TRUE
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB
    - AesCtrHmacStreamingKeyFormat::ParseFromString
    - EXPECT_THAT
    - value
    - Eq
    - AesCtrHmacStreamingKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST(Aes256CtrHmacSha256Segment1MBTest, CheckValues)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_hash_type
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:45,1
    - Dst: hkdf_hash_type
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:46,1
    - Dst: hkdf_hash_type
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:47,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:48,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:51,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:52,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:53,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:54,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:57,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:58,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:61,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:62,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:63,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:64,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:65,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:66,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:67,1
    - Dst: ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:72,1
    - Dst: hmac_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:73,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:74,1
    - Dst: ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:77,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:78,1
    - Dst: crypto::tink::ValidateAesKeySize
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:81,1
    - Dst: derived_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:81,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesCtrHmacStreamingParams
    constantsTouched: []
    func_position:
      end: 82
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 82
    functionName: crypto::tink::ValidateParams
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - hmac_params
    - Status
    - crypto::tink::ValidateAesKeySize
    - derived_key_size
    - hkdf_hash_type
    - ciphertext_segment_size
    linkageType: ''
    returnType: Status
    signature: Status ValidateParams(const AesCtrHmacStreamingParams& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:91,1
    - Dst: crypto::tink::AesCtrHmacStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:91,1
    - Dst: AesCtrHmacStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:92,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:92,1
    - Dst: key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:92,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:93,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesCtrHmacStreamingKeyFormat
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: crypto::tink::AesCtrHmacStreamingKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKey::set_version
    - AesCtrHmacStreamingKey::set_key_value
    - crypto::tink::AesCtrHmacStreamingKeyManager::get_version
    - AesCtrHmacStreamingKey::mutable_params
    - params
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesCtrHmacStreamingKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesCtrHmacStreamingKey>
      AesCtrHmacStreamingKeyManager::CreateKey(\n    const google::crypto::tink::AesCtrHmacStreamingKeyFormat&
      key_format)\n    const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:102,1
    - Dst: version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:102,1
    - Dst: crypto::tink::AesCtrHmacStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:102,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:103,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:106,1
    - Dst: key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:106,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:107,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:108,1
    - Dst: AesCtrHmacStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:111,1
    - Dst: crypto::tink::AesCtrHmacStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:111,1
    - Dst: AesCtrHmacStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:112,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:112,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:113,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::AesCtrHmacStreamingKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 115
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 115
    functionName: crypto::tink::AesCtrHmacStreamingKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKey::set_version
    - ValidateVersion
    - crypto::tink::AesCtrHmacStreamingKeyManager::get_version
    - crypto::tink::util::StatusOr<std::string>::status
    - version
    - AesCtrHmacStreamingKey::set_key_value
    - AesCtrHmacStreamingKey::mutable_params
    - params
    - crypto::tink::util::StatusOr<std::string>::value
    - crypto::tink::util::Status::ok
    - key_size
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesCtrHmacStreamingKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesCtrHmacStreamingKey>
      AesCtrHmacStreamingKeyManager::DeriveKey(\n    const google::crypto::tink::AesCtrHmacStreamingKeyFormat&
      key_format,\n    InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:119,1
    - Dst: version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:119,1
    - Dst: crypto::tink::AesCtrHmacStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:119,1
    - Dst: Status::ok
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:120,1
    - Dst: key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:121,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:121,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:122,1
    - Dst: ValidateParams
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:125,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesCtrHmacStreamingKey
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: crypto::tink::AesCtrHmacStreamingKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ValidateVersion
    - key_value
    - crypto::tink::AesCtrHmacStreamingKeyManager::get_version
    - params
    - version
    - ValidateParams
    - Status
    linkageType: ''
    returnType: Status
    signature: "Status AesCtrHmacStreamingKeyManager::ValidateKey(\n    const AesCtrHmacStreamingKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:130,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:130,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:131,1
    - Dst: ValidateParams
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:134,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesCtrHmacStreamingKeyFormat
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: crypto::tink::AesCtrHmacStreamingKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - params
    - Status
    - ValidateParams
    - key_size
    linkageType: ''
    returnType: Status
    signature: "Status AesCtrHmacStreamingKeyManager::ValidateKeyFormat(\n    const
      AesCtrHmacStreamingKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input_stream
    argTypes:
    - crypto::tink::InputStream*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: crypto::tink::streamingaead::SharedInputStream::SharedInputStream
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SharedInputStream(\n      crypto::tink::InputStream* input_stream)"
  - 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: ~SharedInputStream() override
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SharedInputStream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::SharedInputStream::Next
      Src: /src/tink/cc/streamingaead/shared_input_stream.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: crypto::tink::streamingaead::SharedInputStream::Next
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream.h
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::SharedInputStream::Next
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> Next(const void** data) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::SharedInputStream::BackUp
      Src: /src/tink/cc/streamingaead/shared_input_stream.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: crypto::tink::streamingaead::SharedInputStream::BackUp
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream.h
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::SharedInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void BackUp(int count) override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::SharedInputStream::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream.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: crypto::tink::streamingaead::SharedInputStream::Position
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream.h
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::SharedInputStream::Position
    linkageType: ''
    returnType: int64_t
    signature: int64_t Position() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:55,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contents
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: crypto::tink::streamingaead::GetInputStream
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - std::string
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: std::unique_ptr<InputStream> GetInputStream(absl::string_view contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:67,1
    - Dst: std::string*::clear
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:71,1
    - Dst: InputStream*::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:74,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:75,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:79,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:79,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:80,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:81,1
    - Dst: std::string*::append
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:83,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:84,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:84,1
    - Dst: InputStream*::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:86,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - input_stream
    - count
    - output
    argTypes:
    - InputStream*
    - int
    - std::string*
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: crypto::tink::streamingaead::ReadFromStream
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string*::append
    - auto::status
    - std::string
    - auto::ok
    - InputStream*::BackUp
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<const char*>
    - auto::value
    - std::string*::clear
    - std::min
    - crypto::tink::util::OkStatus
    - InputStream*::Next
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadFromStream(InputStream* input_stream, int count,\n
      \                           std::string* output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:94,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:95,1
    - Dst: absl::make_unique<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:97,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:99,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:99,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:103,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:105,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:105,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:106,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:106,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:110,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:110,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:112,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:113,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:116,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:118,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:121,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:122,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:123,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:124,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:124,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:126,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:126,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:127,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:127,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:128,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:130,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:131,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:135,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:135,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:136,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 139
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - std::string::substr
    - std::move
    - absl::make_unique<BufferedInputStream>
    - auto::Rewind
    - crypto::tink::streamingaead::GetInputStream
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::streamingaead::ReadFromStream
    - EXPECT_THAT
    - auto::Position
    - crypto::tink::subtle::Random::GetRandomBytes
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST(BufferedInputStreamTest, ReadingAndRewinding)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:143,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:145,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:145,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:147,1
    - Dst: absl::make_unique<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:148,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:149,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:153,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:155,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:155,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:156,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:156,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:163,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:164,1
    - Dst: EXPECT_LE
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:166,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:166,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:168,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:168,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:170,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:172,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:172,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:177,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:179,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:180,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:183,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:184,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:185,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:186,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:188,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:188,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:189,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:189,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:192,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:195,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:198,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:198,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:200,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:200,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:202,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:204,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:204,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:208,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:208,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:210,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 214
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - auto::Position
    - absl::StrCat
    - crypto::tink::streamingaead::ReadFromStream
    - auto::Next
    - std::min
    - auto::status
    - IsOk
    - std::string::substr
    - absl::make_unique<BufferedInputStream>
    - auto::Rewind
    - EXPECT_THAT
    - auto::BackUp
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_LE
    - EXPECT_EQ
    - auto::value
    - crypto::tink::streamingaead::GetInputStream
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST(BufferedInputStreamTest, SingleBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:218,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:219,1
    - Dst: absl::make_unique<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:220,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:224,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:224,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:226,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:228,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:228,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:229,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:229,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:234,1
    - Dst: std::max
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:236,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:236,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:238,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:241,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:242,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:243,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:243,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:244,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:244,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:245,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:245,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:246,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 247
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - EXPECT_EQ
    - IsOk
    - std::string::substr
    - std::move
    - absl::make_unique<BufferedInputStream>
    - std::max
    - auto::value
    - crypto::tink::streamingaead::GetInputStream
    - auto::Position
    - EXPECT_THAT
    - auto::BackUp
    - static_cast<const char*>
    - EXPECT_GT
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::Next
    linkageType: ''
    returnType: void
    signature: void TEST(BufferedInputStreamTest, MultipleBackups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:251,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:253,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:253,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:255,1
    - Dst: absl::make_unique<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:256,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:260,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:260,1
    - Dst: auto::DisableRewinding
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:261,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:263,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:263,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:264,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:268,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:270,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:270,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:271,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:271,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:274,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:275,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:275,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:276,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:280,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:280,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:281,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:281,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:282,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 286
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::ReadFromStream
    - EXPECT_EQ
    - IsOk
    - auto::DisableRewinding
    - std::move
    - absl::make_unique<BufferedInputStream>
    - StatusIs
    - std::string::substr
    - auto::Rewind
    - crypto::tink::streamingaead::GetInputStream
    - auto::Position
    - absl::StrCat
    - SCOPED_TRACE
    - EXPECT_THAT
    - HasSubstr
    - auto::get
    - crypto::tink::subtle::Random::GetRandomBytes
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST(BufferedInputStreamTest, DisableRewindingInitially)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:290,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:292,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:292,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:294,1
    - Dst: absl::make_unique<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:295,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:296,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:300,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:300,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:301,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:301,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:302,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:302,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:303,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:303,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:307,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:308,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:308,1
    - Dst: auto::DisableRewinding
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:309,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:310,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:311,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:311,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:312,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:314,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:314,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:315,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:315,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:316,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:316,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:316,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:317,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:317,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:321,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:321,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:322,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:323,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/buffered_input_stream_test.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 327
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - std::string::substr
    - std::move
    - absl::make_unique<BufferedInputStream>
    - auto::DisableRewinding
    - StatusIs
    - auto::Rewind
    - crypto::tink::streamingaead::GetInputStream
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::streamingaead::ReadFromStream
    - EXPECT_THAT
    - auto::Position
    - crypto::tink::subtle::Random::GetRandomBytes
    - HasSubstr
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST(BufferedInputStreamTest, DisableRewindingAfterRewind)
  - 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: ~DecryptingRandomAccessStream() override
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DecryptingRandomAccessStream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - primitives
    - ciphertext_source
    - associated_data
    argTypes:
    - "std::shared_ptr<\n          crypto::tink::PrimitiveSet<crypto::tink::StreamingAead>>"
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: crypto::tink::streamingaead::DecryptingRandomAccessStream::DecryptingRandomAccessStream
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DecryptingRandomAccessStream(\n      std::shared_ptr<\n          crypto::tink::PrimitiveSet<crypto::tink::StreamingAead>>
      primitives,\n      std::unique_ptr<crypto::tink::RandomAccessStream> ciphertext_source,\n
      \     absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:34,1
    - Dst: absl::make_unique<StreamingAeadWrapper>
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:35,1
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:39,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:40,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:43,1
    - Dst: absl::make_unique<AesGcmHkdfStreamingKeyManager>
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:45,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:47,1
    - Dst: absl::make_unique<AesCtrHmacStreamingKeyManager>
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:49,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/streaming_aead_config.cc:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: crypto::tink::StreamingAeadConfig::Register
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_config.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsFipsModeEnabled
    - auto::ok
    - absl::make_unique<StreamingAeadWrapper>
    - absl::make_unique<AesCtrHmacStreamingKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - absl::make_unique<AesGcmHkdfStreamingKeyManager>
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status StreamingAeadConfig::Register()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:42,1
    - Dst: resize
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:46,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - input_stream
    argTypes:
    - std::unique_ptr<crypto::tink::InputStream>
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: crypto::tink::streamingaead::BufferedInputStream::BufferedInputStream
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 0
    functionsReached:
    - resize
    - std::move
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: void
    signature: "void BufferedInputStream::BufferedInputStream(\n    std::unique_ptr<crypto::tink::InputStream>
      input_stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::BufferedInputStream::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:55,1
    - Dst: ok
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:56,1
    - Dst: data
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:61,1
    - Dst: data
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:67,1
    - Dst: resize
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:80,1
    - Dst: crypto::tink::streamingaead::BufferedInputStream::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:81,1
    - Dst: crypto::tink::streamingaead::BufferedInputStream::Next
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:88,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:89,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:90,1
    - Dst: size
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:94,1
    - Dst: resize
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:95,1
    - Dst: size
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:95,1
    - Dst: std::max
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:95,1
    - Dst: size
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:95,1
    - Dst: memcpy
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:97,1
    - Dst: data
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:97,1
    - Dst: data
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: crypto::tink::streamingaead::BufferedInputStream::Next
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - auto::ok
    - size
    - crypto::tink::streamingaead::BufferedInputStream::Next
    - ok
    - std::max
    - resize
    - data
    - memcpy
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int>
    signature: crypto::tink::util::StatusOr<int> BufferedInputStream::Next(const void**
      data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::BufferedInputStream::BackUp
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:108,1
    - Dst: ok
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: crypto::tink::streamingaead::BufferedInputStream::BackUp
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 1
    functionsReached:
    - ok
    - crypto::tink::streamingaead::BufferedInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void BufferedInputStream::BackUp(int count)
  - 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: crypto::tink::streamingaead::BufferedInputStream::DisableRewinding
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferedInputStream::DisableRewinding()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:127,1
    - Dst: ok
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:130,1
    - Dst: code
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:130,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: crypto::tink::streamingaead::BufferedInputStream::Rewind
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 0
    functionsReached:
    - ok
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - code
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status BufferedInputStream::Rewind()
  - 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: BufferedInputStream::~BufferedInputStream()
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BufferedInputStream::~BufferedInputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::BufferedInputStream::Position
      Src: /src/tink/cc/streamingaead/buffered_input_stream.cc:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: crypto::tink::streamingaead::BufferedInputStream::Position
    functionSourceFile: /src/tink/cc/streamingaead/buffered_input_stream.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::BufferedInputStream::Position
    linkageType: ''
    returnType: int64_t
    signature: int64_t BufferedInputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:37,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:37,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:38,1
    - Dst: absl::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:40,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:41,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:45,1
    - Dst: auto::code
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:46,1
    - Dst: auto::message
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:48,1
    - Dst: SharedRandomAccessStream::size
      Src: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - SharedRandomAccessStream::size
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - auto::message
    - auto::code
    - absl::make_unique<internal::TestRandomAccessStream>
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SharedRandomAccessStreamTest, ReadingStreams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:64,1
    - Dst: AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:65,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:66,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:67,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:68,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:69,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - IsOk
    - AesGcmHkdfStreamingKey::mutable_params
    - EXPECT_THAT
    - AesGcmHkdfStreamingKey::set_version
    - AesGcmHkdfStreamingKey::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:74,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:74,1
    - Dst: AesGcmHkdfStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:76,1
    - Dst: AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:77,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:77,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:78,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:79,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:82,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:84,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:84,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - std::string
    - IsOk
    - StatusIs
    - AesGcmHkdfStreamingKey::mutable_params
    - EXPECT_THAT
    - AesGcmHkdfStreamingKey::set_version
    - AesGcmHkdfStreamingKey::set_key_value
    - absl::StrCat
    - SCOPED_TRACE
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyDerivedKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:92,1
    - Dst: AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:93,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:94,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:95,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:97,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:97,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - AesGcmHkdfStreamingKey::mutable_params
    - EXPECT_THAT
    - AesGcmHkdfStreamingKey::set_version
    - AesGcmHkdfStreamingKey::set_key_value
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyDerivedKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:106,1
    - Dst: AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:107,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:108,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:109,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:110,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:114,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:120,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:131,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:132,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:133,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - crypto::tink::EncryptThenDecrypt
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - IsOk
    - std::move
    - AesGcmHkdfStreamingKey::mutable_params
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - AesGcmHkdfStreamingKey::set_version
    - AesGcmHkdfStreamingKey::set_key_value
    - auto::value
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:140,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, Version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:144,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:144,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, KeyMaterialType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:149,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, KeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:155,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:155,1
    - Dst: AesGcmHkdfStreamingKeyFormat
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:156,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - AesGcmHkdfStreamingKeyFormat
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyFormatEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:162,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:163,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:164,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:165,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:166,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - IsOk
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:172,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:173,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:174,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:175,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:176,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:176,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:177,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyFormatSmallKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:183,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:184,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:186,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:186,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:187,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 189
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyFormatWrongHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:193,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:194,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:195,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:197,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:197,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:198,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, ValidateKeyFormatSmallSegment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:204,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:205,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:206,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:207,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:208,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:210,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:210,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:211,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:211,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:212,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:212,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:213,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:213,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:214,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:215,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:215,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:216,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:217,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:217,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:217,1
    - Dst: AesGcmHkdfStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - IsOk
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - ASSERT_THAT
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - auto::value
    - AesGcmHkdfStreamingKeyFormat::key_size
    - EXPECT_THAT
    - AesGcmHkdfStreamingKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:222,1
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:223,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:224,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:225,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:226,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:229,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:233,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:234,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:234,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:236,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:236,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:237,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:238,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:238,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:239,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:239,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:240,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:240,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:241,1
    - Dst: AesGcmHkdfStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - absl::make_unique<std::stringstream>
    - IsOk
    - StatusOr::value
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - ASSERT_THAT
    - AesGcmHkdfStreamingKeyFormat::set_version
    - EXPECT_THAT
    - AesGcmHkdfStreamingKeyFormat::params
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:246,1
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:247,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:248,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:249,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:250,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:255,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:255,1
    - Dst: Not
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - absl::make_unique<std::stringstream>
    - Not
    - IsOk
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - ASSERT_THAT
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - AesGcmHkdfStreamingKeyFormat::set_version
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKeyFormat::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:263,1
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:264,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:265,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:266,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:267,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:269,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:272,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:273,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:276,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - absl::make_unique<std::stringstream>
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - ASSERT_THAT
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - AesGcmHkdfStreamingKeyFormat::set_version
    - HasSubstr
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(AesGcmHkdfStreamingKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyGenConfiguration::KeyGenConfiguration
      Src: /src/tink/cc/streamingaead/key_gen_config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/streamingaead/key_gen_config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddStreamingAeadKeyGenV0
      Src: /src/tink/cc/streamingaead/key_gen_config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::KeyGenConfigStreamingAeadV0
    functionSourceFile: /src/tink/cc/streamingaead/key_gen_config_v0.cc
    functionUses: 0
    functionsReached:
    - CHECK_OK
    - crypto::tink::internal::AddStreamingAeadKeyGenV0
    - KeyGenConfiguration::KeyGenConfiguration
    linkageType: ''
    returnType: KeyGenConfiguration
    signature: KeyGenConfiguration & KeyGenConfigStreamingAeadV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:56,1
    - Dst: key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:56,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:57,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:58,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:59,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:61,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:63,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:64,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:65,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:67,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:68,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:68,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:69,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesCtrHmacStreamingKey
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: crypto::tink::AesCtrHmacStreamingKeyManager::StreamingAeadFactory::Create
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - auto::ok
    - key_value
    - std::move
    - params
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>> Create(\n
      \       const google::crypto::tink::AesCtrHmacStreamingKey& key)\n        const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<AesCtrHmacStreamingKeyManager::\n                                  StreamingAeadFactory>"
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: crypto::tink::AesCtrHmacStreamingKeyManager::AesCtrHmacStreamingKeyManager
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
    functionUses: 0
    functionsReached:
    - "absl::make_unique<AesCtrHmacStreamingKeyManager::\n                                  StreamingAeadFactory>"
    linkageType: ''
    returnType: void
    signature: void AesCtrHmacStreamingKeyManager()
  - 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: crypto::tink::AesCtrHmacStreamingKeyManager::get_version
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::AesCtrHmacStreamingKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - 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: ~AesCtrHmacStreamingKeyManager() override
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AesCtrHmacStreamingKeyManager() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: crypto::tink::StreamingAeadConfig::StreamingAeadConfig
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StreamingAeadConfig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:67,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contents
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: crypto::tink::streamingaead::GetInputStream
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
    functionUses: 5
    functionsReached:
    - absl::make_unique<std::stringstream>
    - std::string
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: std::unique_ptr<InputStream> GetInputStream(absl::string_view contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:80,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:82,1
    - Dst: StreamingAead*::NewEncryptingStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:88,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:90,1
    - Dst: WriteToStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:90,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:90,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:93,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:93,1
    - Dst: absl::make_unique<IstreamInputStream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:96,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:96,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:96,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:97,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:97,1
    - Dst: absl::make_unique<IstreamInputStream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:98,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - saead
    - pt
    - aad
    argTypes:
    - StreamingAead*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 99
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 99
    functionName: crypto::tink::streamingaead::GetCiphertextSource
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::rdbuf
    - absl::make_unique<std::stringstream>
    - absl::make_unique<IstreamInputStream>
    - IsOk
    - std::move
    - auto::value
    - auto::str
    - EXPECT_THAT
    - auto::get
    - crypto::tink::streamingaead::ReadFromStream
    - WriteToStream
    - StreamingAead*::NewEncryptingStream
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: "std::unique_ptr<InputStream> GetCiphertextSource(StreamingAead* saead,\n
      \                                                absl::string_view pt,\n                                                 absl::string_view
      aad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PrimitiveSet<StreamingAead>>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:114,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:118,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:119,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:120,1
    - Dst: absl::make_unique<DummyStreamingAead>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:122,1
    - Dst: std::shared_ptr::AddPrimitive
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:123,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:123,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:124,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:124,1
    - Dst: size
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:126,1
    - Dst: std::shared_ptr::set_primary
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:126,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::vector<StreamingAeadSpec>
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: crypto::tink::streamingaead::GetTestStreamingAeadSet
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::make_unique<DummyStreamingAead>
    - auto::ok
    - size
    - IsOk
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - std::shared_ptr::AddPrimitive
    - auto::value
    - EXPECT_THAT
    - std::shared_ptr::set_primary
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - std::make_shared<PrimitiveSet<StreamingAead>>
    linkageType: ''
    returnType: std::shared_ptr<PrimitiveSet<StreamingAead>>
    signature: "std::shared_ptr<PrimitiveSet<StreamingAead>> GetTestStreamingAeadSet(\n
      \   const std::vector<StreamingAeadSpec>& spec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:141,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:146,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:148,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:148,1
    - Dst: auto::get_raw_primitives
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:154,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:155,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:156,1
    - Dst: get_primitive
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:158,1
    - Dst: std::vector::size
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:158,1
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::New
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:164,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:165,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:168,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 174
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - get_primitive
    - crypto::tink::streamingaead::ReadFromStream
    - EXPECT_EQ
    - IsOk
    - std::vector::size
    - std::move
    - auto::get_raw_primitives
    - auto::value
    - std::vector::push_back
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::streamingaead::DecryptingInputStream::New
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingInputStreamTest, BasicDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:184,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:189,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:191,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:191,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:194,1
    - Dst: auto::get_primary
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:195,1
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::New
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:198,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:200,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:201,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::ReadFromStream
    - IsOk
    - StatusIs
    - std::move
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::get_primary
    - crypto::tink::streamingaead::DecryptingInputStream::New
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingInputStreamTest, WrongAssociatedData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:214,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:219,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:221,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:221,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:224,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:224,1
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::New
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:226,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:227,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:229,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:230,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::ReadFromStream
    - IsOk
    - StatusIs
    - std::move
    - auto::value
    - crypto::tink::streamingaead::GetInputStream
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::streamingaead::DecryptingInputStream::New
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingInputStreamTest, WrongCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:56,1
    - Dst: key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:56,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:57,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:58,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:59,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:60,1
    - Dst: crypto::tink::subtle::AesGcmHkdfStreaming::New
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:63,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:63,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:64,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:64,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:65,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::AesGcmHkdfStreamingKey
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::AesGcmHkdfStreamingKeyManagerFactory::Create
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::AesGcmHkdfStreaming::New
    - auto::ok
    - key_value
    - std::move
    - params
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>> Create(\n
      \       const google::crypto::tink::AesGcmHkdfStreamingKey& key)\n        const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: "absl::make_unique<AesGcmHkdfStreamingKeyManager::\n                                  AesGcmHkdfStreamingKeyManagerFactory>"
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::AesGcmHkdfStreamingKeyManager
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
    functionUses: 0
    functionsReached:
    - "absl::make_unique<AesGcmHkdfStreamingKeyManager::\n                                  AesGcmHkdfStreamingKeyManagerFactory>"
    linkageType: ''
    returnType: void
    signature: void AesGcmHkdfStreamingKeyManager()
  - 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: crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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_key_type() const override'
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~AesGcmHkdfStreamingKeyManager() override
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~AesGcmHkdfStreamingKeyManager() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:54,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:58,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:62,1
    - Dst: DecryptingRandomAccessStream::DecryptingRandomAccessStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - primitives
    - ciphertext_source
    - associated_data
    argTypes:
    - std::shared_ptr<PrimitiveSet<StreamingAead>>
    - std::unique_ptr<crypto::tink::RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc
    functionUses: 0
    functionsReached:
    - Status
    - std::move
    - DecryptingRandomAccessStream::DecryptingRandomAccessStream
    - absl::WrapUnique
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<RandomAccessStream>>
    signature: "StatusOr<std::unique_ptr<RandomAccessStream>> DecryptingRandomAccessStream::New(\n
      \   std::shared_ptr<PrimitiveSet<StreamingAead>> primitives,\n    std::unique_ptr<crypto::tink::RandomAccessStream>
      ciphertext_source,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:68,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:72,1
    - Dst: crypto::tink::util::Buffer*::allocated_size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:79,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::GetMatchedStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:83,1
    - Dst: crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::ok
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:84,1
    - Dst: crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:85,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::PRead
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - crypto::tink::util::Buffer*
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: crypto::tink::streamingaead::DecryptingRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::ok
    - crypto::tink::util::Buffer*::allocated_size
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::GetMatchedStream
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::PRead
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DecryptingRandomAccessStream::PRead(\n    int64_t position,
      int count, crypto::tink::util::Buffer* dest_buffer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:96,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:98,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:108,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:110,1
    - Dst: get_all
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:115,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:117,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:118,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:119,1
    - Dst: get_primitive
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:122,1
    - Dst: absl::make_unique<SharedRandomAccessStream>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:124,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:124,1
    - Dst: NewDecryptingRandomAccessStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:126,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:128,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:130,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:130,1
    - Dst: Status::ok
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:131,1
    - Dst: absl::IsOutOfRange
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:131,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:133,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:133,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:134,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 141
    functionName: crypto::tink::streamingaead::DecryptingRandomAccessStream::GetMatchedStream
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc
    functionUses: 1
    functionsReached:
    - util::StatusOr::get
    - get_primitive
    - Status::ok
    - util::StatusOr::status
    - auto::ok
    - absl::make_unique<SharedRandomAccessStream>
    - std::move
    - crypto::tink::util::Buffer::New
    - NewDecryptingRandomAccessStream
    - Status
    - util::StatusOr::ok
    - auto::value
    - absl::IsOutOfRange
    - get
    - get_all
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>
    signature: crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*> DecryptingRandomAccessStream::GetMatchedStream()
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::GetMatchedStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:145,1
    - Dst: crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::ok
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:146,1
    - Dst: crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:147,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: crypto::tink::streamingaead::DecryptingRandomAccessStream::size
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::status
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::size
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::GetMatchedStream
    - crypto::tink::util::StatusOr<crypto::tink::RandomAccessStream*>::ok
    linkageType: ''
    returnType: StatusOr<int64_t>
    signature: StatusOr<int64_t> DecryptingRandomAccessStream::size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:54,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - contents
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: crypto::tink::streamingaead::GetInputStream
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream_test.cc
    functionUses: 6
    functionsReached:
    - absl::make_unique<std::stringstream>
    - std::string
    linkageType: ''
    returnType: std::unique_ptr<InputStream>
    signature: std::unique_ptr<InputStream> GetInputStream(absl::string_view contents)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:66,1
    - Dst: std::string*::clear
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:70,1
    - Dst: InputStream*::Next
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:74,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:76,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:78,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:78,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:79,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:80,1
    - Dst: std::string*::append
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:82,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:83,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:83,1
    - Dst: InputStream*::BackUp
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:85,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:88,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - input_stream
    - count
    - output
    argTypes:
    - InputStream*
    - int
    - std::string*
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: crypto::tink::streamingaead::ReadFromStream
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream_test.cc
    functionUses: 8
    functionsReached:
    - std::string*::append
    - auto::status
    - std::string
    - auto::ok
    - InputStream*::BackUp
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<const char*>
    - auto::value
    - std::string*::clear
    - std::min
    - crypto::tink::util::OkStatus
    - InputStream*::Next
    linkageType: ''
    returnType: util::Status
    signature: "util::Status ReadFromStream(InputStream* input_stream, int count,\n
      \                           std::string* output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:93,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:94,1
    - Dst: std::make_shared<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:96,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:96,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:98,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:98,1
    - Dst: absl::make_unique<SharedInputStream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:102,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:102,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:106,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:107,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:108,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:108,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:109,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:110,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:110,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:110,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:114,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:115,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:116,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:117,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:118,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:118,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:118,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:121,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:121,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:124,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:124,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:124,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:132,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 135
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - IsOk
    - std::string::substr
    - std::move
    - absl::make_unique<SharedInputStream>
    - auto::Rewind
    - std::make_shared<BufferedInputStream>
    - crypto::tink::streamingaead::GetInputStream
    - auto::get
    - absl::StrCat
    - SCOPED_TRACE
    - crypto::tink::streamingaead::ReadFromStream
    - EXPECT_THAT
    - auto::Position
    - crypto::tink::subtle::Random::GetRandomBytes
    - std::min
    linkageType: ''
    returnType: void
    signature: void TEST(SharedInputStreamTest, BasicOperations)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:140,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:141,1
    - Dst: std::make_shared<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:143,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:143,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:145,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:145,1
    - Dst: absl::make_unique<SharedInputStream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:148,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:149,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:153,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:155,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:155,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:156,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:156,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:161,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:163,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:165,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:165,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:167,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:167,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:169,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:171,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:171,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:172,1
    - Dst: crypto::tink::streamingaead::ReadFromStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:177,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:177,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:178,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:179,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:179,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:180,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:187,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 190
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - auto::Position
    - absl::StrCat
    - crypto::tink::streamingaead::ReadFromStream
    - auto::Next
    - std::min
    - auto::status
    - IsOk
    - std::string::substr
    - absl::make_unique<SharedInputStream>
    - auto::Rewind
    - EXPECT_THAT
    - auto::BackUp
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - StatusIs
    - std::make_shared<BufferedInputStream>
    - crypto::tink::streamingaead::GetInputStream
    - auto::get
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(SharedInputStreamTest, SingleBackup)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:194,1
    - Dst: crypto::tink::streamingaead::GetInputStream
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:195,1
    - Dst: std::make_shared<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:197,1
    - Dst: auto::Rewind
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:200,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:201,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:202,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:202,1
    - Dst: absl::make_unique<SharedInputStream>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:204,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:206,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:206,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:209,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:210,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:210,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:212,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:212,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:213,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:213,1
    - Dst: auto::BackUp
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:218,1
    - Dst: std::max
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:220,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:221,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:221,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:221,1
    - Dst: EXPECT_GT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:223,1
    - Dst: auto::Next
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:226,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:228,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:229,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:230,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:230,1
    - Dst: auto::Position
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:231,1
    - Dst: std::string::substr
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:231,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:232,1
    - Dst: static_cast<const char*>
      Src: /src/tink/cc/streamingaead/shared_input_stream_test.cc:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 234
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/shared_input_stream_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - auto::Position
    - auto::Next
    - std::string
    - IsOk
    - std::string::substr
    - absl::make_unique<SharedInputStream>
    - auto::Rewind
    - EXPECT_THAT
    - auto::BackUp
    - static_cast<const char*>
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - std::max
    - EXPECT_GT
    - std::make_shared<BufferedInputStream>
    - crypto::tink::streamingaead::GetInputStream
    - auto::get
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(SharedInputStreamTest, MultipleBackups)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hkdf_hash_type
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:45,1
    - Dst: hkdf_hash_type
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:46,1
    - Dst: hkdf_hash_type
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:47,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:48,1
    - Dst: ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:53,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:55,1
    - Dst: crypto::tink::ValidateAesKeySize
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:58,1
    - Dst: derived_key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - AesGcmHkdfStreamingParams
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: crypto::tink::ValidateParams
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    - crypto::tink::ValidateAesKeySize
    - derived_key_size
    - hkdf_hash_type
    - ciphertext_segment_size
    linkageType: ''
    returnType: Status
    signature: Status ValidateParams(const AesGcmHkdfStreamingParams& params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesGcmHkdfStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:68,1
    - Dst: crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:68,1
    - Dst: AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:69,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:69,1
    - Dst: key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:69,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:70,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - google::crypto::tink::AesGcmHkdfStreamingKeyFormat
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - params
    - AesGcmHkdfStreamingKey::mutable_params
    - AesGcmHkdfStreamingKey::set_key_value
    - AesGcmHkdfStreamingKey::set_version
    - crypto::tink::subtle::Random::GetRandomBytes
    - key_size
    - crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesGcmHkdfStreamingKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesGcmHkdfStreamingKey>
      AesGcmHkdfStreamingKeyManager::CreateKey(\n    const google::crypto::tink::AesGcmHkdfStreamingKeyFormat&
      key_format)\n    const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:79,1
    - Dst: version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:79,1
    - Dst: crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:79,1
    - Dst: crypto::tink::util::Status::ok
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:80,1
    - Dst: ReadBytesFromStream
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:83,1
    - Dst: key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:83,1
    - Dst: crypto::tink::util::StatusOr<std::string>::ok
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:84,1
    - Dst: crypto::tink::util::StatusOr<std::string>::status
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:85,1
    - Dst: AesGcmHkdfStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:88,1
    - Dst: crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:88,1
    - Dst: AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:89,1
    - Dst: crypto::tink::util::StatusOr<std::string>::value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:89,1
    - Dst: AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:90,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' key_format'
    - input_stream
    argTypes:
    - google::crypto::tink::AesGcmHkdfStreamingKeyFormat
    - InputStream*
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::DeriveKey
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - ValidateVersion
    - params
    - crypto::tink::util::StatusOr<std::string>::status
    - version
    - AesGcmHkdfStreamingKey::mutable_params
    - AesGcmHkdfStreamingKey::set_version
    - crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
    - AesGcmHkdfStreamingKey::set_key_value
    - crypto::tink::util::StatusOr<std::string>::value
    - crypto::tink::util::Status::ok
    - key_size
    - ReadBytesFromStream
    - crypto::tink::util::StatusOr<std::string>::ok
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::AesGcmHkdfStreamingKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::AesGcmHkdfStreamingKey>
      AesGcmHkdfStreamingKeyManager::DeriveKey(\n    const google::crypto::tink::AesGcmHkdfStreamingKeyFormat&
      key_format,\n    InputStream* input_stream) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:96,1
    - Dst: version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:96,1
    - Dst: crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:96,1
    - Dst: Status::ok
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:97,1
    - Dst: key_value
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:98,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:98,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:99,1
    - Dst: ValidateParams
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:102,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - AesGcmHkdfStreamingKey
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ValidateVersion
    - key_value
    - params
    - ValidateParams
    - version
    - Status
    - crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: "Status AesGcmHkdfStreamingKeyManager::ValidateKey(\n    const AesGcmHkdfStreamingKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:107,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:107,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:108,1
    - Dst: ValidateParams
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:111,1
    - Dst: params
      Src: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - AesGcmHkdfStreamingKeyFormat
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: crypto::tink::AesGcmHkdfStreamingKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc
    functionUses: 0
    functionsReached:
    - params
    - Status
    - ValidateParams
    - key_size
    linkageType: ''
    returnType: Status
    signature: "Status AesGcmHkdfStreamingKeyManager::ValidateKeyFormat(\n    const
      AesGcmHkdfStreamingKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PrimitiveSet<StreamingAead>>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:88,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:92,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:93,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:94,1
    - Dst: absl::make_unique<DummyStreamingAead>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:96,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:97,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:98,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:98,1
    - Dst: crypto::tink::size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:100,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:100,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::vector<StreamingAeadSpec>
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: crypto::tink::GetTestStreamingAeadSet
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - absl::make_unique<DummyStreamingAead>
    - auto::ok
    - auto::AddPrimitive
    - IsOk
    - std::move
    - auto::set_primary
    - KeysetInfo::KeyInfo::set_key_id
    - auto::value
    - crypto::tink::size
    - EXPECT_THAT
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - absl::make_unique<PrimitiveSet<StreamingAead>>
    linkageType: ''
    returnType: std::unique_ptr<PrimitiveSet<StreamingAead>>
    signature: "std::unique_ptr<PrimitiveSet<StreamingAead>> GetTestStreamingAeadSet(\n
      \   const std::vector<StreamingAeadSpec>& spec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadWrapper::Wrap
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:109,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:110,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:111,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:111,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:112,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:113,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - StreamingAeadWrapper::Wrap
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, WrapNullptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingAeadWrapper::Wrap
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:118,1
    - Dst: absl::make_unique<PrimitiveSet<StreamingAead>>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:118,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:119,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:120,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:120,1
    - Dst: EXPECT_PRED_FORMAT2
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:121,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:122,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - std::string
    - auto::ok
    - EXPECT_EQ
    - EXPECT_PRED_FORMAT2
    - StreamingAeadWrapper::Wrap
    - EXPECT_FALSE
    - absl::make_unique<PrimitiveSet<StreamingAead>>
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, WrapEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:133,1
    - Dst: StreamingAeadWrapper::Wrap
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:140,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:141,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:141,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:141,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:142,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:142,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:144,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:146,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:146,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:150,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:152,1
    - Dst: auto::NewEncryptingStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:157,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:158,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:159,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:159,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:160,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:162,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:162,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:162,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:165,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:165,1
    - Dst: auto::NewDecryptingStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:171,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:171,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:172,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:174,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::NewEncryptingStream
    - absl::StrCat
    - crypto::tink::WriteToStream
    - auto::status
    - IsOk
    - auto::str
    - StreamingAeadWrapper::Wrap
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::rdbuf
    - EXPECT_EQ
    - auto::NewDecryptingStream
    - ReadFromStream
    - absl::make_unique<std::stringstream>
    - auto::value
    - crypto::tink::GetTestStreamingAeadSet
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, BasicEncryptionAndDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:189,1
    - Dst: StreamingAeadWrapper::Wrap
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:196,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:196,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:197,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:197,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:198,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:198,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:200,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:202,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:202,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:206,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:208,1
    - Dst: auto::NewEncryptingStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:214,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:215,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:216,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:216,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:217,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:218,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:219,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:219,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:219,1
    - Dst: std::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:223,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:223,1
    - Dst: auto::NewDecryptingRandomAccessStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:225,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:226,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:228,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:229,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:230,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:230,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:231,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 235
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::NewEncryptingStream
    - absl::StrCat
    - crypto::tink::WriteToStream
    - auto::status
    - auto::NewDecryptingRandomAccessStream
    - IsOk
    - auto::str
    - StreamingAeadWrapper::Wrap
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::rdbuf
    - EXPECT_EQ
    - StatusIs
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - absl::make_unique<std::stringstream>
    - auto::value
    - std::make_unique<internal::TestRandomAccessStream>
    - crypto::tink::GetTestStreamingAeadSet
    - auto::get
    - HasSubstr
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, DecryptionWithRandomAccessStream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:245,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:251,1
    - Dst: StreamingAeadWrapper::Wrap
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:257,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:257,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:258,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:258,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:258,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:259,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:259,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:262,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:264,1
    - Dst: auto::NewEncryptingStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:269,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:269,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:270,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:270,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:271,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:271,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:272,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:273,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:273,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:274,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:274,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:274,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:277,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:277,1
    - Dst: auto::NewDecryptingStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:283,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:283,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:284,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:284,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:285,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:285,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:290,1
    - Dst: std::unique_ptr::get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 293
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - auto::ok
    - std::move
    - auto::NewEncryptingStream
    - crypto::tink::WriteToStream
    - absl::StrCat
    - auto::status
    - IsOk
    - auto::str
    - StreamingAeadWrapper::Wrap
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::rdbuf
    - EXPECT_EQ
    - auto::NewDecryptingStream
    - std::unique_ptr::get
    - ReadFromStream
    - absl::make_unique<std::stringstream>
    - auto::value
    - crypto::tink::GetTestStreamingAeadSet
    - auto::get
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, DecryptionAfterWrapperIsDestroyed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:296,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:296,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:296,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:299,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:301,1
    - Dst: set_hkdf_hash_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:302,1
    - Dst: set_derived_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:303,1
    - Dst: set_ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:304,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:306,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:308,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:309,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:313,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:314,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:315,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:315,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:316,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:317,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:318,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:319,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:321,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:323,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:326,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:327,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:328,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:328,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:329,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:330,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:331,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:332,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:334,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:338,1
    - Dst: google::crypto::tink::Keyset::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:338,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:339,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:340,1
    - Dst: crypto::tink::util::StatusOr<KeysetHandle>::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:340,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:340,1
    - Dst: crypto::tink::util::StatusOr<KeysetHandle>::GetPrimitive
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:343,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:343,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:345,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:345,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:345,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:347,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:347,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:347,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:348,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:349,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 352
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 352
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmHkdfStreamingKey::mutable_params
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
    - set_key_id
    - crypto::tink::ConfigGlobalRegistry
    - google::crypto::tink::Keyset::SerializeAsString
    - set_hkdf_hash_type
    - IsOk
    - crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::value
    - google::crypto::tink::Keyset::set_primary_key_id
    - EXPECT_THAT
    - crypto::tink::StreamingAeadConfig::Register
    - crypto::tink::util::StatusOr<KeysetHandle>::GetPrimitive
    - crypto::tink::subtle::Random::GetRandomBytes
    - set_derived_key_size
    - crypto::tink::EncryptThenDecrypt
    - crypto::tink::util::StatusOr<KeysetHandle>::status
    - crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::status
    - set_type_url
    - set_ciphertext_segment_size
    - google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
    - mutable_key_data
    - AesGcmHkdfStreamingKeyManager
    - set_output_prefix_type
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - google::crypto::tink::Keyset::add_key
    - set_status
    - set_value
    - set_key_material_type
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, EncryptWithTink)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:356,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:356,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:356,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:362,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:362,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:364,1
    - Dst: set_hkdf_hash_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:365,1
    - Dst: set_derived_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:366,1
    - Dst: set_ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:367,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:368,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:371,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:385,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:386,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:387,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:387,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:388,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:389,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:389,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:390,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:391,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:392,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:394,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:396,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:400,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:401,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:402,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:402,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:403,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:404,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:405,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:406,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:408,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:412,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:413,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:414,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:414,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:415,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:416,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:416,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:417,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:418,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:419,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:421,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:424,1
    - Dst: google::crypto::tink::Keyset::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:425,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:425,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:426,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:426,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:426,1
    - Dst: util::StatusOr::GetPrimitive
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:429,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:429,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:430,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:430,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:430,1
    - Dst: std::make_unique<IstreamInputStream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:432,1
    - Dst: absl::make_unique<std::istringstream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:433,1
    - Dst: NewDecryptingStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:436,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:439,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:439,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:439,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:441,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:441,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>::get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:441,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:441,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 445
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmHkdfStreamingKey::mutable_params
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
    - set_key_id
    - NewDecryptingStream
    - crypto::tink::ConfigGlobalRegistry
    - google::crypto::tink::Keyset::SerializeAsString
    - set_hkdf_hash_type
    - IsOk
    - google::crypto::tink::Keyset::set_primary_key_id
    - util::StatusOr::GetPrimitive
    - crypto::tink::StreamingAeadConfig::Register
    - set_derived_key_size
    - std::make_unique<IstreamInputStream>
    - EXPECT_EQ
    - crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::status
    - set_type_url
    - set_ciphertext_segment_size
    - crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>::status
    - google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
    - mutable_key_data
    - absl::HexStringToBytes
    - ReadFromStream
    - AesGcmHkdfStreamingKeyManager
    - set_output_prefix_type
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - google::crypto::tink::Keyset::add_key
    - util::StatusOr::status
    - absl::make_unique<std::istringstream>
    - set_status
    - set_value
    - set_key_material_type
    - crypto::tink::util::StatusOr<std::unique_ptr<crypto::tink::InputStream>>::get
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, DecryptOldKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:449,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:449,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:449,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:455,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:455,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:457,1
    - Dst: set_hkdf_hash_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:458,1
    - Dst: set_derived_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:459,1
    - Dst: set_ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:460,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:461,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:464,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:478,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:479,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:480,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:480,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:481,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:482,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:482,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:483,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:484,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:485,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:487,1
    - Dst: google::crypto::tink::Keyset::set_primary_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:489,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:493,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:494,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:495,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:495,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:496,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:497,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:498,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:499,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:501,1
    - Dst: google::crypto::tink::Keyset::add_key
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:505,1
    - Dst: mutable_key_data
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:506,1
    - Dst: set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:507,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:507,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:508,1
    - Dst: set_value
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:509,1
    - Dst: google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:509,1
    - Dst: set_key_material_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:510,1
    - Dst: set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:511,1
    - Dst: set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:512,1
    - Dst: set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:514,1
    - Dst: crypto::tink::ParseKeysetFromProtoKeysetFormat
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:518,1
    - Dst: google::crypto::tink::Keyset::SerializeAsString
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:518,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:519,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:520,1
    - Dst: crypto::tink::util::StatusOr<KeysetHandle>::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:520,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:520,1
    - Dst: crypto::tink::util::StatusOr<KeysetHandle>::GetPrimitive
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:523,1
    - Dst: crypto::tink::ConfigGlobalRegistry
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:523,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:524,1
    - Dst: crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:524,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:524,1
    - Dst: std::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:527,1
    - Dst: NewDecryptingRandomAccessStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:531,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:533,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:534,1
    - Dst: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>::status"
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:534,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:534,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:536,1
    - Dst: ReadAllFromRandomAccessStream
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:537,1
    - Dst: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>::get"
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:537,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 542
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesGcmHkdfStreamingKey::mutable_params
    - std::move
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - google::crypto::tink::AesGcmHkdfStreamingKey::SerializeAsString
    - set_key_id
    - crypto::tink::ConfigGlobalRegistry
    - google::crypto::tink::Keyset::SerializeAsString
    - set_hkdf_hash_type
    - IsOk
    - google::crypto::tink::Keyset::set_primary_key_id
    - "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>::get"
    - crypto::tink::StreamingAeadConfig::Register
    - crypto::tink::util::StatusOr<KeysetHandle>::GetPrimitive
    - set_derived_key_size
    - EXPECT_EQ
    - crypto::tink::util::StatusOr<KeysetHandle>::status
    - ReadAllFromRandomAccessStream
    - crypto::tink::util::StatusOr<std::unique_ptr<StreamingAead>>::status
    - set_type_url
    - set_ciphertext_segment_size
    - StatusIs
    - "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::RandomAccessStream>>::status"
    - google::crypto::tink::AesGcmHkdfStreamingKey::set_key_value
    - mutable_key_data
    - absl::HexStringToBytes
    - AesGcmHkdfStreamingKeyManager
    - set_output_prefix_type
    - crypto::tink::ParseKeysetFromProtoKeysetFormat
    - google::crypto::tink::Keyset::add_key
    - set_status
    - set_value
    - NewDecryptingRandomAccessStream
    - std::make_unique<internal::TestRandomAccessStream>
    - set_key_material_type
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadSetWrapperTest, DecryptOldKeyWorksWithRandomAccess)
  - 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: ~DecryptingInputStream() override
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DecryptingInputStream() override
  - 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: crypto::tink::streamingaead::DecryptingInputStream::DecryptingInputStream
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DecryptingInputStream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:61,1
    - Dst: AesCtrHmacStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:62,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:63,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:64,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:65,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:66,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:68,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKey::set_version
    - IsOk
    - AesCtrHmacStreamingKey::set_key_value
    - AesCtrHmacStreamingKey::mutable_params
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:73,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:73,1
    - Dst: AesCtrHmacStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:75,1
    - Dst: AesCtrHmacStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:76,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:76,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:77,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:78,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:79,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:80,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:83,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:85,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:85,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - AesCtrHmacStreamingKey::set_version
    - IsOk
    - AesCtrHmacStreamingKey::set_key_value
    - AesCtrHmacStreamingKey::mutable_params
    - EXPECT_THAT
    - absl::StrCat
    - SCOPED_TRACE
    - StatusIs
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyDerivedKeySizes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:93,1
    - Dst: AesCtrHmacStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:94,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:95,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:96,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:97,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:98,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:100,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:100,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKey::set_version
    - AesCtrHmacStreamingKey::set_key_value
    - AesCtrHmacStreamingKey::mutable_params
    - EXPECT_THAT
    - StatusIs
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyDerivedKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKey::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:109,1
    - Dst: AesCtrHmacStreamingKey::set_key_value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:110,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:111,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:112,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:113,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:114,1
    - Dst: AesCtrHmacStreamingKey::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:115,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:119,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:122,1
    - Dst: crypto::tink::subtle::AesCtrHmacStreaming::New
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:130,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:135,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:136,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:136,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:137,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::EncryptThenDecrypt
    - AesCtrHmacStreamingKey::set_version
    - crypto::tink::subtle::AesCtrHmacStreaming::New
    - IsOk
    - AesCtrHmacStreamingKey::set_key_value
    - AesCtrHmacStreamingKey::mutable_params
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:144,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:144,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc: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: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, Version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:148,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:148,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, KeyMaterialType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:153,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:154,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, KeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:159,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:159,1
    - Dst: AesCtrHmacStreamingKeyFormat
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:160,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - AesCtrHmacStreamingKeyFormat
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormatEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:166,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:167,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:168,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:169,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:170,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:172,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:173,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:179,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:180,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:181,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:182,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:183,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:186,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:186,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:187,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormatSmallKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:193,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:194,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:195,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:196,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:199,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:199,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:200,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 202
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormatWrongHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:206,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:207,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:208,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:209,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:210,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:211,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:211,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:212,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormatWrongHmacHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:218,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:219,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:220,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:221,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:222,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:224,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:225,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:225,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:226,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormatSmallSegment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:232,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:233,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:234,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:235,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:236,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:239,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:239,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:240,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, ValidateKeyFormatTooLargeSegment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:246,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:247,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:248,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:249,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:250,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:252,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:255,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:255,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:256,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:256,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:257,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:257,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:258,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:258,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:259,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:259,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:260,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:260,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:261,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:262,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:262,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:262,1
    - Dst: AesCtrHmacStreamingKeyFormat::key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:262,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:263,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:263,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:264,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:265,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:265,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:266,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - AesCtrHmacStreamingKeyFormat::key_size
    - IsOk
    - ASSERT_THAT
    - Eq
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - auto::value
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    - AesCtrHmacStreamingKeyFormat::params
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:271,1
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:272,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:273,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:274,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:275,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:278,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:282,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:283,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:283,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:284,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:285,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:285,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:286,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:287,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:287,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:288,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:289,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:289,1
    - Dst: Eq
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:290,1
    - Dst: AesCtrHmacStreamingKeyFormat::params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 291
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - IsOk
    - AesCtrHmacStreamingKeyFormat::params
    - AesCtrHmacStreamingKeyFormat::set_version
    - ASSERT_THAT
    - Eq
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - EXPECT_THAT
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    - util::StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, DeriveKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:295,1
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:296,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:297,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:298,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:299,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:302,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:304,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:304,1
    - Dst: Not
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:307,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - Not
    - IsOk
    - ASSERT_THAT
    - AesCtrHmacStreamingKeyFormat::set_version
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, DeriveKeyNotEnoughRandomness)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesCtrHmacStreamingKeyFormat::set_version
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:312,1
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:313,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:314,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:315,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:316,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:319,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:321,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:322,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:325,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - StatusIs
    - ASSERT_THAT
    - AesCtrHmacStreamingKeyFormat::set_version
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - HasSubstr
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(AesCtrHmacStreamingKeyManagerTest, DeriveKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:60,1
    - Dst: GetParam
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:60,1
    - Dst: crypto::tink::KeyGenConfigStreamingAeadV0
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:60,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:61,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:61,1
    - Dst: crypto::tink::GetPrimitive
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:64,1
    - Dst: crypto::tink::ConfigStreamingAeadV0
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:65,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:70,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:71,1
    - Dst: absl::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:74,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:74,1
    - Dst: NewEncryptingStream
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:76,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:76,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:78,1
    - Dst: crypto::tink::WriteToStream
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:78,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:78,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:81,1
    - Dst: std::stringbuf*::str
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:81,1
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:83,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:83,1
    - Dst: NewDecryptingStream
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:86,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:88,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:88,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:88,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/config_v0_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/streamingaead/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::stringbuf*::str
    - ASSERT_THAT
    - crypto::tink::WriteToStream
    - NewDecryptingStream
    - crypto::tink::GetPrimitive
    - crypto::tink::KeysetHandle::GenerateNew
    - NewEncryptingStream
    - IsOk
    - absl::make_unique<util::IstreamInputStream>
    - GetParam
    - crypto::tink::KeyGenConfigStreamingAeadV0
    - auto::rdbuf
    - EXPECT_EQ
    - get
    - ReadFromStream
    - absl::make_unique<std::stringstream>
    - absl::make_unique<util::OstreamOutputStream>
    - crypto::tink::ConfigStreamingAeadV0
    linkageType: ''
    returnType: void
    signature: void TEST_P(ConfigV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - random_access_stream
    argTypes:
    - crypto::tink::RandomAccessStream*
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: crypto::tink::streamingaead::SharedRandomAccessStream::SharedRandomAccessStream
    functionSourceFile: /src/tink/cc/streamingaead/shared_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SharedRandomAccessStream(\n      crypto::tink::RandomAccessStream*
      random_access_stream)"
  - 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: ~SharedRandomAccessStream() override
    functionSourceFile: /src/tink/cc/streamingaead/shared_random_access_stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SharedRandomAccessStream() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::SharedRandomAccessStream::PRead
      Src: /src/tink/cc/streamingaead/shared_random_access_stream.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - position
    - count
    - dest_buffer
    argTypes:
    - int64_t
    - int
    - crypto::tink::util::Buffer*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: crypto::tink::streamingaead::SharedRandomAccessStream::PRead
    functionSourceFile: /src/tink/cc/streamingaead/shared_random_access_stream.h
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::SharedRandomAccessStream::PRead
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status PRead(\n      int64_t position, int count,\n
      \     crypto::tink::util::Buffer* dest_buffer) override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::SharedRandomAccessStream::size
      Src: /src/tink/cc/streamingaead/shared_random_access_stream.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: crypto::tink::streamingaead::SharedRandomAccessStream::size
    functionSourceFile: /src/tink/cc/streamingaead/shared_random_access_stream.h
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::SharedRandomAccessStream::size
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int64_t>
    signature: crypto::tink::util::StatusOr<int64_t> size() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:47,1
    - Dst: PrimitiveSet<StreamingAead>*::get_primary
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:50,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:51,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - primitives
    argTypes:
    - PrimitiveSet<StreamingAead>*
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 2
    functionsReached:
    - Status
    - crypto::tink::util::OkStatus
    - PrimitiveSet<StreamingAead>*::get_primary
    linkageType: ''
    returnType: Status
    signature: Status Validate(PrimitiveSet<StreamingAead>* primitives)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - primitives
    argTypes:
    - std::unique_ptr<PrimitiveSet<StreamingAead>>
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: crypto::tink::StreamingAeadSetWrapper::StreamingAeadSetWrapper
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void StreamingAeadSetWrapper(\n      std::unique_ptr<PrimitiveSet<StreamingAead>>
      primitives)"
  - 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: ~StreamingAeadSetWrapper() override
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~StreamingAeadSetWrapper() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_primary
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_destination
    - associated_data
    argTypes:
    - std::unique_ptr<OutputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: crypto::tink::StreamingAeadSetWrapper::NewEncryptingStream
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    - get_primary
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<OutputStream>>
    signature: "StatusOr<std::unique_ptr<OutputStream>> StreamingAeadSetWrapper::NewEncryptingStream(\n
      \   std::unique_ptr<OutputStream> ciphertext_destination,\n    absl::string_view
      associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::New
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:102,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: crypto::tink::StreamingAeadSetWrapper::NewDecryptingStream
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - std::move
    - crypto::tink::streamingaead::DecryptingInputStream::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<InputStream>>
    signature: "StatusOr<std::unique_ptr<InputStream>> StreamingAeadSetWrapper::NewDecryptingStream(\n
      \   std::unique_ptr<InputStream> ciphertext_source,\n    absl::string_view associated_data)
      const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:110,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ciphertext_source
    - associated_data
    argTypes:
    - std::unique_ptr<RandomAccessStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: crypto::tink::StreamingAeadSetWrapper::NewDecryptingRandomAccessStream
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - std::move
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<RandomAccessStream>>
    signature: "StatusOr<std::unique_ptr<RandomAccessStream>> StreamingAeadSetWrapper::NewDecryptingRandomAccessStream(\n
      \   std::unique_ptr<RandomAccessStream> ciphertext_source,\n    absl::string_view
      associated_data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:118,1
    - Dst: std::unique_ptr<PrimitiveSet<StreamingAead>>::get
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:118,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:119,1
    - Dst: absl::make_unique<StreamingAeadSetWrapper>
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:121,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - streaming_aead_set
    argTypes:
    - std::unique_ptr<PrimitiveSet<StreamingAead>>
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: crypto::tink::StreamingAeadWrapper::Wrap
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
    functionUses: 0
    functionsReached:
    - auto::ok
    - std::move
    - Validate
    - std::unique_ptr<PrimitiveSet<StreamingAead>>::get
    - absl::make_unique<StreamingAeadSetWrapper>
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<StreamingAead>>
    signature: "StatusOr<std::unique_ptr<StreamingAead>> StreamingAeadWrapper::Wrap(\n
      \   std::unique_ptr<PrimitiveSet<StreamingAead>> streaming_aead_set) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.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: crypto::tink::StreamingAeadConfigTest::SetUp
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:55,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:59,1
    - Dst: Registry::get_key_manager<StreamingAead>
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:59,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:60,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:63,1
    - Dst: Registry::get_key_manager<StreamingAead>
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:63,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:64,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:66,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:67,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:67,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:68,1
    - Dst: Registry::get_key_manager<StreamingAead>
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:68,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:69,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:71,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:72,1
    - Dst: Registry::get_key_manager<StreamingAead>
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:72,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - IsOk
    - StatusIs
    - Registry::get_key_manager<StreamingAead>
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::StreamingAeadConfig::Register
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadConfigTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:81,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:85,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:85,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:88,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:89,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:90,1
    - Dst: absl::make_unique<PrimitiveSet<StreamingAead>>
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:92,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:93,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:94,1
    - Dst: absl::make_unique<DummyStreamingAead>
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:98,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:100,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:101,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:101,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - auto::status
    - absl::make_unique<DummyStreamingAead>
    - auto::ok
    - absl::make_unique<PrimitiveSet<StreamingAead>>
    - auto::AddPrimitive
    - IsOk
    - std::move
    - auto::set_primary
    - ASSERT_THAT
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::IsFipsModeEnabled
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::StreamingAeadConfig::Register
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadConfigTest, WrappersRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:106,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:110,1
    - Dst: crypto::tink::StreamingAeadConfig::Register
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:110,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:114,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:115,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:116,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:117,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:118,1
    - Dst: StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:119,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:120,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:121,1
    - Dst: std::list::push_back
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:122,1
    - Dst: StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:126,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:127,1
    - Dst: crypto::tink::KeyGenConfigGlobalRegistry
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:127,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/streaming_aead_config_test.cc:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::KeysetHandle::GenerateNew
    - IsOk
    - StreamingAeadKeyTemplates::Aes256GcmHkdf1MB
    - StatusIs
    - crypto::tink::KeyGenConfigGlobalRegistry
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    - std::list::push_back
    - StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB
    - EXPECT_THAT
    - GTEST_SKIP
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    - crypto::tink::IsFipsModeEnabled
    - crypto::tink::StreamingAeadConfig::Register
    - StreamingAeadKeyTemplates::Aes256GcmHkdf4KB
    linkageType: ''
    returnType: void
    signature: void TEST_F(StreamingAeadConfigTest, RegisterNonFipsTemplates)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Configuration::Configuration
      Src: /src/tink/cc/streamingaead/config_v0.cc:28,1
    - Dst: CHECK_OK
      Src: /src/tink/cc/streamingaead/config_v0.cc:29,1
    - Dst: crypto::tink::internal::AddStreamingAeadV0
      Src: /src/tink/cc/streamingaead/config_v0.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: crypto::tink::ConfigStreamingAeadV0
    functionSourceFile: /src/tink/cc/streamingaead/config_v0.cc
    functionUses: 1
    functionsReached:
    - Configuration::Configuration
    - crypto::tink::internal::AddStreamingAeadV0
    - CHECK_OK
    linkageType: ''
    returnType: Configuration
    signature: Configuration & ConfigStreamingAeadV0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:38,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:39,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:41,1
    - Dst: AesGcmHkdfStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:43,1
    - Dst: AesGcmHkdfStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:44,1
    - Dst: auto::set_ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:45,1
    - Dst: auto::set_derived_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:46,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:47,1
    - Dst: AesGcmHkdfStreamingKeyFormat::SerializeToString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:48,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ikm_size_in_bytes
    - segment_size_in_bytes
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: crypto::tink::NewAesGcmHkdfStreamingKeyTemplate
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - auto::set_ciphertext_segment_size
    - AesGcmHkdfStreamingKeyFormat::mutable_params
    - AesGcmHkdfStreamingKeyFormat::set_key_size
    - auto::set_derived_key_size
    - KeyTemplate*::mutable_value
    - auto::set_hkdf_hash_type
    - KeyTemplate*::set_type_url
    - AesGcmHkdfStreamingKeyFormat::SerializeToString
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewAesGcmHkdfStreamingKeyTemplate(int ikm_size_in_bytes,\n
      \                                              int segment_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:54,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:55,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:57,1
    - Dst: AesCtrHmacStreamingKeyFormat::set_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:59,1
    - Dst: AesCtrHmacStreamingKeyFormat::mutable_params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:60,1
    - Dst: auto::set_ciphertext_segment_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:61,1
    - Dst: auto::set_derived_key_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:62,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:63,1
    - Dst: auto::mutable_hmac_params
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:64,1
    - Dst: auto::set_hash
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:65,1
    - Dst: auto::set_tag_size
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:66,1
    - Dst: AesCtrHmacStreamingKeyFormat::SerializeToString
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:67,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ikm_size_in_bytes
    - segment_size_in_bytes
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: crypto::tink::NewAesCtrHmacStreamingKeyTemplate
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - auto::set_ciphertext_segment_size
    - AesCtrHmacStreamingKeyFormat::SerializeToString
    - auto::set_hash
    - auto::set_derived_key_size
    - KeyTemplate*::mutable_value
    - AesCtrHmacStreamingKeyFormat::mutable_params
    - auto::set_hkdf_hash_type
    - KeyTemplate*::set_type_url
    - AesCtrHmacStreamingKeyFormat::set_key_size
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - auto::set_tag_size
    - auto::mutable_hmac_params
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewAesCtrHmacStreamingKeyTemplate(int ikm_size_in_bytes,\n
      \                                              int segment_size_in_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmHkdfStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: '& StreamingAeadKeyTemplates::Aes128GcmHkdf4KB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmHkdfStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes128GcmHkdf4KB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmHkdfStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: '& StreamingAeadKeyTemplates::Aes256GcmHkdf4KB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmHkdfStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes256GcmHkdf4KB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesGcmHkdfStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: '& StreamingAeadKeyTemplates::Aes256GcmHkdf1MB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesGcmHkdfStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes256GcmHkdf1MB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCtrHmacStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: '& StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCtrHmacStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCtrHmacStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: '& StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCtrHmacStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCtrHmacStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: '& StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCtrHmacStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NewAesCtrHmacStreamingKeyTemplate
      Src: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: '& StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB()'
    functionSourceFile: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
    functionUses: 0
    functionsReached:
    - NewAesCtrHmacStreamingKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:55,1
    - Dst: DecryptingInputStream::DecryptingInputStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:55,1
    - Dst: std::make_shared<BufferedInputStream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:58,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:58,1
    - Dst: std::string
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:59,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - primitives
    - ciphertext_source
    - associated_data
    argTypes:
    - std::shared_ptr<PrimitiveSet<StreamingAead>>
    - std::unique_ptr<crypto::tink::InputStream>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: crypto::tink::streamingaead::DecryptingInputStream::New
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream.cc
    functionUses: 4
    functionsReached:
    - std::string
    - std::move
    - absl::WrapUnique
    - std::make_shared<BufferedInputStream>
    - DecryptingInputStream::DecryptingInputStream
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<InputStream>>
    signature: "StatusOr<std::unique_ptr<InputStream>> DecryptingInputStream::New(\n
      \   std::shared_ptr<PrimitiveSet<StreamingAead>> primitives,\n    std::unique_ptr<crypto::tink::InputStream>
      ciphertext_source,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::Next
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:67,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:70,1
    - Dst: get_all
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:75,1
    - Dst: get_primitive
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:78,1
    - Dst: std::make_unique<SharedInputStream>
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:80,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:80,1
    - Dst: NewDecryptingStream
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:81,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:82,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:83,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:84,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:85,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:86,1
    - Dst: DisableRewinding
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:87,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:88,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:88,1
    - Dst: Rewind
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:93,1
    - Dst: Status::ok
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:94,1
    - Dst: Status
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: crypto::tink::streamingaead::DecryptingInputStream::Next
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream.cc
    functionUses: 1
    functionsReached:
    - auto::status
    - Status::ok
    - get_primitive
    - std::make_unique<SharedInputStream>
    - auto::ok
    - crypto::tink::streamingaead::DecryptingInputStream::Next
    - std::move
    - DisableRewinding
    - Status
    - auto::value
    - Rewind
    - NewDecryptingStream
    - get
    - get_all
    linkageType: ''
    returnType: util::StatusOr<int>
    signature: util::StatusOr<int> DecryptingInputStream::Next(const void** data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::BackUp
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: crypto::tink::streamingaead::DecryptingInputStream::BackUp
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::DecryptingInputStream::BackUp
    linkageType: ''
    returnType: void
    signature: void DecryptingInputStream::BackUp(int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::DecryptingInputStream::Position
      Src: /src/tink/cc/streamingaead/decrypting_input_stream.cc:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: crypto::tink::streamingaead::DecryptingInputStream::Position
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_input_stream.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::streamingaead::DecryptingInputStream::Position
    linkageType: ''
    returnType: int64_t
    signature: int64_t DecryptingInputStream::Position() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:69,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:71,1
    - Dst: StreamingAead*::NewEncryptingStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:77,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:77,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:79,1
    - Dst: WriteToStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:79,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:79,1
    - Dst: std::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:82,1
    - Dst: auto::str
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - saead
    - pt
    - aad
    argTypes:
    - StreamingAead*
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: crypto::tink::streamingaead::GetCiphertextSource
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 2
    functionsReached:
    - auto::rdbuf
    - absl::make_unique<std::stringstream>
    - IsOk
    - std::move
    - auto::value
    - std::make_unique<internal::TestRandomAccessStream>
    - EXPECT_THAT
    - auto::str
    - WriteToStream
    - StreamingAead*::NewEncryptingStream
    linkageType: ''
    returnType: std::unique_ptr<RandomAccessStream>
    signature: "std::unique_ptr<RandomAccessStream> GetCiphertextSource(\n    StreamingAead*
      saead, absl::string_view pt, absl::string_view aad)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PrimitiveSet<StreamingAead>>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:98,1
    - Dst: KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:102,1
    - Dst: KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:103,1
    - Dst: KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:104,1
    - Dst: absl::make_unique<DummyStreamingAead>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:106,1
    - Dst: std::shared_ptr::AddPrimitive
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:107,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:108,1
    - Dst: auto::ok
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:108,1
    - Dst: size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:110,1
    - Dst: std::shared_ptr::set_primary
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:110,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' spec'
    argTypes:
    - std::vector<StreamingAeadSpec>
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: crypto::tink::streamingaead::GetTestStreamingAeadSet
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 3
    functionsReached:
    - EXPECT_TRUE
    - absl::make_unique<DummyStreamingAead>
    - auto::ok
    - size
    - IsOk
    - std::move
    - KeysetInfo::KeyInfo::set_key_id
    - std::shared_ptr::AddPrimitive
    - auto::value
    - EXPECT_THAT
    - std::shared_ptr::set_primary
    - KeysetInfo::KeyInfo::set_output_prefix_type
    - KeysetInfo::KeyInfo::set_status
    - std::make_shared<PrimitiveSet<StreamingAead>>
    linkageType: ''
    returnType: std::shared_ptr<PrimitiveSet<StreamingAead>>
    signature: "std::shared_ptr<PrimitiveSet<StreamingAead>> GetTestStreamingAeadSet(\n
      \   const std::vector<StreamingAeadSpec>& spec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:125,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:130,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:132,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:132,1
    - Dst: auto::get_raw_primitives
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:138,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:139,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:140,1
    - Dst: get_primitive
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:142,1
    - Dst: std::vector::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:142,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:149,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:150,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:151,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:151,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:153,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:155,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:157,1
    - Dst: auto::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 162
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - auto::size
    - std::move
    - absl::StrCat
    - IsOk
    - std::vector::size
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - auto::get_raw_primitives
    - std::vector::push_back
    - StatusIs
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - get_primitive
    - auto::value
    - HasSubstr
    - auto::get
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, BasicDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:172,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:177,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:179,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:179,1
    - Dst: auto::get_raw_primitives
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:185,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:186,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:187,1
    - Dst: get_primitive
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:189,1
    - Dst: std::vector::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:189,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:197,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:197,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:198,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:198,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:199,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:202,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:202,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:205,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:205,1
    - Dst: auto::PRead
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:207,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:207,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:208,1
    - Dst: testing::AnyOf
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:209,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:210,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:210,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:211,1
    - Dst: std::min
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:211,1
    - Dst: auto::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:212,1
    - Dst: std::memcmp
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:212,1
    - Dst: std::string::data
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:212,1
    - Dst: auto::get_mem_block
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:213,1
    - Dst: auto::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 220
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - auto::size
    - std::move
    - crypto::tink::util::Buffer::New
    - absl::StrCat
    - std::memcmp
    - std::min
    - auto::get_mem_block
    - IsOk
    - std::vector::size
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - auto::get_raw_primitives
    - std::vector::push_back
    - StatusIs
    - get_primitive
    - std::string::data
    - auto::PRead
    - testing::AnyOf
    - auto::value
    - auto::get
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, SelectiveDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:230,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:235,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:237,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:237,1
    - Dst: auto::get_raw_primitives
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:243,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:244,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:245,1
    - Dst: get_primitive
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:245,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:247,1
    - Dst: std::vector::size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:247,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:255,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:255,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:256,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:256,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:257,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:257,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:259,1
    - Dst: crypto::tink::util::Buffer::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:259,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:261,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:261,1
    - Dst: auto::PRead
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:264,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:264,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:265,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:265,1
    - Dst: auto::PRead
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:268,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:268,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:269,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:269,1
    - Dst: auto::PRead
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:272,1
    - Dst: auto::get
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:272,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:273,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 279
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - std::move
    - crypto::tink::util::Buffer::New
    - absl::StrCat
    - IsOk
    - std::vector::size
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_EQ
    - auto::get_raw_primitives
    - std::vector::push_back
    - StatusIs
    - get_primitive
    - auto::PRead
    - auto::value
    - auto::get
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, OutOfRangeDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:289,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:294,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:296,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:296,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:299,1
    - Dst: auto::get_primary
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:300,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:301,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:303,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:303,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:305,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:306,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:307,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 310
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - IsOk
    - StatusIs
    - std::move
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::get_primary
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, WrongAssociatedData)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:320,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:325,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:327,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:327,1
    - Dst: std::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:330,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:331,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:332,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:333,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:334,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:334,1
    - Dst: crypto::tink::internal::ReadAllFromRandomAccessStream
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:336,1
    - Dst: auto::value
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:337,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:338,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 341
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - IsOk
    - StatusIs
    - std::move
    - crypto::tink::internal::ReadAllFromRandomAccessStream
    - std::make_unique<internal::TestRandomAccessStream>
    - auto::value
    - EXPECT_THAT
    - absl::StrCat
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - SCOPED_TRACE
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, WrongCiphertext)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<internal::TestRandomAccessStream>
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:344,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:346,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:347,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:348,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:348,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:349,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - std::move
    - std::make_unique<internal::TestRandomAccessStream>
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, NullPrimitiveSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:356,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:358,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:360,1
    - Dst: auto::status
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:360,1
    - Dst: StatusIs
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:361,1
    - Dst: HasSubstr
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, NullCiphertextSource)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::streamingaead::GetTestStreamingAeadSet
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:368,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:373,1
    - Dst: crypto::tink::streamingaead::GetCiphertextSource
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:375,1
    - Dst: auto::get_primary
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:375,1
    - Dst: crypto::tink::streamingaead::DecryptingRandomAccessStream::New
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:379,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:379,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:381,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:381,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:382,1
    - Dst: size
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:382,1
    - Dst: IsOkAndHolds
      Src: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 384
    functionName: crypto::tink::streamingaead::TEST
    functionSourceFile: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
    - size
    - IsOk
    - std::move
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::streamingaead::GetTestStreamingAeadSet
    - IsOkAndHolds
    - crypto::tink::subtle::Random::GetRandomBytes
    - auto::get_primary
    - crypto::tink::streamingaead::GetCiphertextSource
    linkageType: ''
    returnType: void
    signature: void TEST(DecryptingRandomAccessStreamTest, CallSizeBeforePReadWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc:31,1
    - Dst: absl::make_unique<AesCtrHmacStreamingKeyManager>
      Src: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc:32,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc:33,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc:36,1
    - Dst: absl::make_unique<AesGcmHkdfStreamingKeyManager>
      Src: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - KeyGenConfiguration
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: crypto::tink::internal::AddStreamingAeadKeyGenV0
    functionSourceFile: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc
    functionUses: 2
    functionsReached:
    - absl::make_unique<AesCtrHmacStreamingKeyManager>
    - util::Status::ok
    - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
    - absl::make_unique<AesGcmHkdfStreamingKeyManager>
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddStreamingAeadKeyGenV0(KeyGenConfiguration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:60,1
    - Dst: crypto::tink::internal::AddStreamingAeadV0
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:60,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:63,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:63,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:65,1
    - Dst: Get
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/streamingaead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
    - EXPECT_THAT
    - crypto::tink::internal::AddStreamingAeadV0
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadV0Test, PrimitiveWrappers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:70,1
    - Dst: crypto::tink::internal::AddStreamingAeadV0
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:70,1
    - Dst: crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:72,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:73,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:73,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:76,1
    - Dst: crypto::tink::internal::AddStreamingAeadKeyGenV0
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:76,1
    - Dst: crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:82,1
    - Dst: Get
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:82,1
    - Dst: AesCtrHmacStreamingKeyManager
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:83,1
    - Dst: Get
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:83,1
    - Dst: AesGcmHkdfStreamingKeyManager
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/streamingaead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - AesGcmHkdfStreamingKeyManager
    - crypto::tink::internal::AddStreamingAeadKeyGenV0
    - IsOk
    - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
    - ASSERT_THAT
    - Get
    - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
    - EXPECT_THAT
    - crypto::tink::internal::AddStreamingAeadV0
    - AesCtrHmacStreamingKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadV0Test, KeyManagers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:89,1
    - Dst: crypto::tink::internal::AddStreamingAeadKeyGenV0
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:91,1
    - Dst: crypto::tink::internal::AddStreamingAeadV0
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:91,1
    - Dst: StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:94,1
    - Dst: StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:95,1
    - Dst: crypto::tink::KeysetHandle::GenerateNew
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:98,1
    - Dst: GetPrimitive
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:102,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:107,1
    - Dst: auto::rdbuf
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:108,1
    - Dst: absl::make_unique<util::OstreamOutputStream>
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:111,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:111,1
    - Dst: NewEncryptingStream
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:113,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:115,1
    - Dst: WriteToStream
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:115,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:115,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:118,1
    - Dst: std::stringbuf*::str
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:118,1
    - Dst: absl::make_unique<util::IstreamInputStream>
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:120,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:120,1
    - Dst: NewDecryptingStream
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:122,1
    - Dst: std::move
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:125,1
    - Dst: ReadFromStream
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:125,1
    - Dst: get
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/streamingaead/internal/config_v0_test.cc:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 128
    functionName: crypto::tink::internal::TEST
    functionSourceFile: /src/tink/cc/streamingaead/internal/config_v0_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::stringbuf*::str
    - ASSERT_THAT
    - crypto::tink::internal::AddStreamingAeadV0
    - StreamingAeadKeyTemplates::Aes128GcmHkdf4KB
    - NewDecryptingStream
    - crypto::tink::KeysetHandle::GenerateNew
    - crypto::tink::internal::AddStreamingAeadKeyGenV0
    - NewEncryptingStream
    - IsOk
    - absl::make_unique<util::IstreamInputStream>
    - auto::rdbuf
    - EXPECT_EQ
    - StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB
    - WriteToStream
    - get
    - ReadFromStream
    - absl::make_unique<std::stringstream>
    - GetPrimitive
    - absl::make_unique<util::OstreamOutputStream>
    linkageType: ''
    returnType: void
    signature: void TEST(StreamingAeadV0Test, GetPrimitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:32,1
    - Dst: absl::make_unique<StreamingAeadWrapper>
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:33,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:34,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:38,1
    - Dst: absl::make_unique<AesCtrHmacStreamingKeyManager>
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:39,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:40,1
    - Dst: crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:43,1
    - Dst: absl::make_unique<AesGcmHkdfStreamingKeyManager>
      Src: /src/tink/cc/streamingaead/internal/config_v0.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - Configuration
    constantsTouched: []
    func_position:
      end: 45
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 45
    functionName: crypto::tink::internal::AddStreamingAeadV0
    functionSourceFile: /src/tink/cc/streamingaead/internal/config_v0.cc
    functionUses: 5
    functionsReached:
    - util::Status::ok
    - absl::make_unique<StreamingAeadWrapper>
    - absl::make_unique<AesCtrHmacStreamingKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
    - absl::make_unique<AesGcmHkdfStreamingKeyManager>
    - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
    linkageType: ''
    returnType: util::Status
    signature: util::Status AddStreamingAeadV0(Configuration& config)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::AeadConfig::Register
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:33,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:34,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:37,1
    - Dst: absl::make_unique<HybridEncryptWrapper>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:38,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:39,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:40,1
    - Dst: absl::make_unique<HybridDecryptWrapper>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:41,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:42,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:47,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:48,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:52,1
    - Dst: absl::make_unique<Cecpq2AeadHkdfPrivateKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:53,1
    - Dst: absl::make_unique<Cecpq2AeadHkdfPublicKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:54,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:55,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: crypto::tink::Cecpq2HybridConfigRegister
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<HybridEncryptWrapper>
    - auto::ok
    - absl::make_unique<Cecpq2AeadHkdfPrivateKeyManager>
    - absl::make_unique<Cecpq2AeadHkdfPublicKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - crypto::tink::IsFipsModeEnabled
    - absl::make_unique<HybridDecryptWrapper>
    - crypto::tink::util::OkStatus
    - crypto::tink::AeadConfig::Register
    linkageType: ''
    returnType: util::Status
    signature: util::Status Cecpq2HybridConfigRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' cecpq2_public_key'
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::HybridEncryptFactory::Create
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<HybridEncrypt>> Create(\n
      \       const google::crypto::tink::Cecpq2AeadHkdfPublicKey& cecpq2_public_key)\n
      \       const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HybridEncryptFactory>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::Cecpq2AeadHkdfPublicKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<HybridEncryptFactory>
    linkageType: ''
    returnType: void
    signature: void Cecpq2AeadHkdfPublicKeyManager()
  - 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: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:38,1
    - Dst: Cecpq2HybridConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:38,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: crypto::tink::Cecpq2HybridKeyTemplatesTest::SetUpTestSuite
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Cecpq2HybridConfigRegister
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void SetUpTestSuite()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:45,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:47,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:47,1
    - Dst: value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:47,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:48,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:48,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
    - IsOk
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - EXPECT_THAT
    - value
    - Cecpq2AeadHkdfPrivateKeyManager
    linkageType: ''
    returnType: void
    signature: "void TEST_F(Cecpq2HybridKeyTemplatesTest,\n       ValidateX25519HkdfHmacSha256Aes256GcmKeyFormat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:55,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:57,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:57,1
    - Dst: value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:57,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:58,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
    - IsOk
    - EXPECT_THAT
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - value
    - Cecpq2AeadHkdfPrivateKeyManager
    linkageType: ''
    returnType: void
    signature: "void TEST_F(Cecpq2HybridKeyTemplatesTest,\n       ValidateX25519HkdfHmacSha256XChaCha20Poly1305KeyFormat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:65,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:67,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:67,1
    - Dst: value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:67,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:68,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
    - IsOk
    - EXPECT_THAT
    - value
    - Cecpq2AeadHkdfPrivateKeyManager
    linkageType: ''
    returnType: void
    signature: "void TEST_F(Cecpq2HybridKeyTemplatesTest,\n       ValidateX25519HkdfHmacSha256DeterministicAesSivKeyFormat)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:75,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:76,1
    - Dst: type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:77,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:78,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:80,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:80,1
    - Dst: value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:80,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:81,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:81,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::params
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - type_url
    - EXPECT_THAT
    - value
    - Eq
    linkageType: ''
    returnType: void
    signature: "void TEST_F(Cecpq2HybridKeyTemplatesTest,\n       CheckX25519HkdfHmacSha256Aes256GcmTypeUrl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:89,1
    - Dst: type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:90,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:93,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:93,1
    - Dst: value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:94,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:95,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::params
    - type_url
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - EXPECT_THAT
    - value
    - Eq
    linkageType: ''
    returnType: void
    signature: "void TEST_F(Cecpq2HybridKeyTemplatesTest,\n       CheckX25519HkdfHmacSha256XChaCha20Poly1305TypeUrl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:103,1
    - Dst: type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:104,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:105,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:107,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:107,1
    - Dst: value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:108,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:108,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::ParseFromString
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::params
    - type_url
    - EXPECT_THAT
    - value
    - Eq
    linkageType: ''
    returnType: void
    signature: "void TEST_F(Cecpq2HybridKeyTemplatesTest,\n       CheckX25519HkdfHmacSha256DeterministicAesSivTypeUrl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:53,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:53,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:53,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:54,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:54,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:56,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:57,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPublicKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:62,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:63,1
    - Dst: Cecpq2AeadHkdfPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:63,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPublicKeyManager
    - Cecpq2AeadHkdfPublicKey
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:69,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:71,1
    - Dst: auto::mutable_aead_dem
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:72,1
    - Dst: AeadKeyTemplates::Aes128Gcm
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:72,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:73,1
    - Dst: auto::set_curve_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:74,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:75,1
    - Dst: auto::set_hkdf_salt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:76,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:77,1
    - Dst: auto::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:78,1
    - Dst: auto::CreateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:79,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: crypto::tink::CreatePublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 6
    functionsReached:
    - auto::GetPublicKey
    - auto::set_hkdf_salt
    - Cecpq2AeadHkdfKeyFormat::mutable_params
    - AeadKeyTemplates::Aes128Gcm
    - auto::set_hkdf_hash_type
    - auto::set_curve_type
    - auto::CreateKey
    - auto::mutable_aead_dem
    - Cecpq2AeadHkdfPrivateKeyManager
    linkageType: ''
    returnType: Cecpq2AeadHkdfPublicKey
    signature: Cecpq2AeadHkdfPublicKey CreatePublicKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:84,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:84,1
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPublicKeyManager
    - IsOk
    - crypto::tink::CreatePublicKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:90,1
    - Dst: Cecpq2AeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:93,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:93,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - Cecpq2AeadHkdfParams::mutable_kem_params
    - Cecpq2AeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateKeyNoPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:98,1
    - Dst: Cecpq2AeadHkdfParams::mutable_dem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:99,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:100,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:100,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - Cecpq2AeadHkdfParams::mutable_dem_params
    - Cecpq2AeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateKeyNoDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:105,1
    - Dst: Cecpq2AeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:107,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - Cecpq2AeadHkdfParams::mutable_kem_params
    - Cecpq2AeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateKeyNoKemCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:112,1
    - Dst: Cecpq2AeadHkdfParams::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:113,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:114,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:114,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::CreatePublicKey
    - Cecpq2AeadHkdfParams::mutable_kem_params
    - Cecpq2AeadHkdfPublicKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateKeyNoKemHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:119,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:119,1
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPublicKeyManager
    - IsOk
    - crypto::tink::CreatePublicKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidateGeneratedKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreatePublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:124,1
    - Dst: Cecpq2AeadHkdfPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:125,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:126,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:126,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - crypto::tink::CreatePublicKey
    - IsOk
    - Cecpq2AeadHkdfPublicKeyManager
    - Cecpq2AeadHkdfPublicKey::set_version
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPublicKeyManagerTest, ValidatePublicKeyVersion)
  - 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: ~Cecpq2AeadHkdfDemHelper()
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cecpq2AeadHkdfDemHelper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Encrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:57,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:58,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:58,1
    - Dst: crypto::tink::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:60,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:60,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:61,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:61,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:63,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ' dem'
    - message
    - associated_data
    argTypes:
    - AeadOrDaead
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: crypto::tink::EncryptThenDecrypt
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 20
    functionsReached:
    - crypto::tink::Decrypt
    - StatusOr::value
    - crypto::tink::internal::ExtractStatus
    - StatusOr::status
    - crypto::tink::Encrypt
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: "crypto::tink::util::Status EncryptThenDecrypt(\n    const AeadOrDaead&
      dem, absl::string_view message,\n    absl::string_view associated_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:71,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:73,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:73,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:74,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - google::crypto::tink::KeyTemplate::set_type_url
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, InvalidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:80,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:83,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:83,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:84,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:87,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:88,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:88,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:91,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:92,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:92,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:94,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:95,1
    - Dst: auto::GetAeadOrDaead
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:99,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:99,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:101,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:102,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::EncryptThenDecrypt
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - auto::get_key_type
    - std::move
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - crypto::tink::test::HexDecodeOrDie
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - auto::GetAeadOrDaead
    - StatusOr::value
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, DemHelperWithAesGcmKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:108,1
    - Dst: auto::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:111,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:111,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:112,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:115,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:116,1
    - Dst: google::crypto::tink::AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:116,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:119,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:120,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:120,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:122,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:123,1
    - Dst: auto::GetAeadOrDaead
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:129,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:131,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:132,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::AesSivKeyFormat::set_key_size
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::EncryptThenDecrypt
    - google::crypto::tink::AesSivKeyFormat::SerializeAsString
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - auto::get_key_type
    - std::move
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - crypto::tink::test::HexDecodeOrDie
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - StatusOr::value
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - auto::GetAeadOrDaead
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, DemHelperWithAesSivKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:140,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:141,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:144,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:145,1
    - Dst: google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:145,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:147,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:148,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:149,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:149,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:151,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:152,1
    - Dst: auto::GetAeadOrDaead
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:155,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:156,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:158,1
    - Dst: StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:159,1
    - Dst: crypto::tink::EncryptThenDecrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 161
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::EncryptThenDecrypt
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - auto::get_key_type
    - std::move
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - crypto::tink::test::HexDecodeOrDie
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - StatusOr::value
    - auto::value
    - crypto::tink::util::SecretDataFromStringView
    - google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
    - EXPECT_THAT
    - auto::GetAeadOrDaead
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, DemHelperWithXchacha20Poly1305KeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:167,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:167,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:168,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:171,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:172,1
    - Dst: google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:172,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:174,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:175,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:175,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:176,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:176,1
    - Dst: auto::GetKeyMaterialSize
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:180,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_EQ
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - auto::get_key_type
    - std::move
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - auto::GetKeyMaterialSize
    - auto::value
    - google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, DemHelperKeyMaterialXChacha20Poly1305)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:187,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:187,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:188,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:191,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:192,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:192,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:195,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:196,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:196,1
    - Dst: auto::GetKeyMaterialSize
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:200,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_EQ
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - auto::get_key_type
    - std::move
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - auto::GetKeyMaterialSize
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, DemHelperKeyMaterialAesGcm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: auto::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:207,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:207,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:208,1
    - Dst: google::crypto::tink::KeyTemplate::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:211,1
    - Dst: google::crypto::tink::KeyTemplate::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:212,1
    - Dst: google::crypto::tink::AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:212,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:215,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:216,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:216,1
    - Dst: auto::GetKeyMaterialSize
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:218,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:219,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:219,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:220,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_EQ
    - google::crypto::tink::AesSivKeyFormat::SerializeAsString
    - IsOk
    - google::crypto::tink::KeyTemplate::set_value
    - auto::get_key_type
    - std::move
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - ASSERT_THAT
    - google::crypto::tink::KeyTemplate::set_type_url
    - auto::GetKeyMaterialSize
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfDemHelperTest, DemHelperKeyMaterialAesSiv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:52,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:53,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:55,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - Cecpq2AeadHkdfKeyFormat
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPublicKeyManager
    - Status
    - has_params
    - params
    linkageType: ''
    returnType: Status
    signature: "Status Cecpq2AeadHkdfPrivateKeyManager::ValidateKeyFormat(\n    const
      Cecpq2AeadHkdfKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:62,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:63,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:63,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:64,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:64,1
    - Dst: Cecpq2AeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:68,1
    - Dst: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:68,1
    - Dst: Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:69,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:69,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:70,1
    - Dst: Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:71,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:72,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:72,1
    - Dst: Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:75,1
    - Dst: auto::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:76,1
    - Dst: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:76,1
    - Dst: auto::set_x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:77,1
    - Dst: auto::set_x25519_public_key_y
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:79,1
    - Dst: auto::set_hrss_public_key_marshalled
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:81,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:83,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' cecpq2_key_format'
    argTypes:
    - Cecpq2AeadHkdfKeyFormat
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - Cecpq2AeadHkdfPrivateKey::set_version
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - auto::ok
    - Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - std::move
    - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
    - params
    - auto::set_x25519_public_key_x
    - auto::value
    - Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - auto::set_x25519_public_key_y
    - auto::set_hrss_public_key_marshalled
    - auto::mutable_params
    - Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - auto::set_version
    linkageType: ''
    returnType: StatusOr<Cecpq2AeadHkdfPrivateKey>
    signature: "StatusOr<Cecpq2AeadHkdfPrivateKey> Cecpq2AeadHkdfPrivateKeyManager::CreateKey(\n
      \   const Cecpq2AeadHkdfKeyFormat& cecpq2_key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - Cecpq2AeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: StatusOr<Cecpq2AeadHkdfPublicKey>
    signature: "StatusOr<Cecpq2AeadHkdfPublicKey> Cecpq2AeadHkdfPrivateKeyManager::GetPublicKey(\n
      \   const Cecpq2AeadHkdfPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:95,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:95,1
    - Dst: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:95,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:96,1
    - Dst: has_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:97,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:98,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:100,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Cecpq2AeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - public_key
    - ValidateVersion
    - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
    - version
    - Cecpq2AeadHkdfPublicKeyManager
    - Status
    - has_public_key
    linkageType: ''
    returnType: Status
    signature: "Status Cecpq2AeadHkdfPrivateKeyManager::ValidateKey(\n    const Cecpq2AeadHkdfPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:44,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:45,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:47,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:49,1
    - Dst: auto::mutable_aead_dem
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:50,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:51,1
    - Dst: auto::set_curve_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:52,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:53,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:54,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:54,1
    - Dst: auto::set_hkdf_salt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:55,1
    - Dst: auto::set_ec_point_format
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:56,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfKeyFormat::SerializeToString
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:57,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - curve_type
    - hkdf_hash_type
    - ec_point_format
    - ' dem_key_template'
    - prefix_type
    - hkdf_salt
    argTypes:
    - EllipticCurveType
    - HashType
    - EcPointFormat
    - KeyTemplate
    - OutputPrefixType
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: crypto::tink::NewCecpq2AeadHkdfKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc
    functionUses: 0
    functionsReached:
    - auto::set_ec_point_format
    - absl::string_view::size
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::SerializeToString
    - auto::set_hkdf_salt
    - KeyTemplate*::mutable_value
    - google::crypto::tink::Cecpq2AeadHkdfKeyFormat::mutable_params
    - KeyTemplate*::set_type_url
    - auto::set_curve_type
    - auto::set_hkdf_hash_type
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - auto::mutable_aead_dem
    - absl::string_view::data
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewCecpq2AeadHkdfKeyTemplate(EllipticCurveType curve_type,\n
      \                                         HashType hkdf_hash_type,\n                                          EcPointFormat
      ec_point_format,\n                                          const KeyTemplate&
      dem_key_template,\n                                          OutputPrefixType
      prefix_type,\n                                          absl::string_view hkdf_salt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewCecpq2AeadHkdfKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:64,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc
    functionUses: 29
    functionsReached:
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - crypto::tink::NewCecpq2AeadHkdfKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: KeyTemplate & Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewCecpq2AeadHkdfKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:74,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc
    functionUses: 10
    functionsReached:
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
    - crypto::tink::NewCecpq2AeadHkdfKeyTemplate
    linkageType: ''
    returnType: KeyTemplate
    signature: 'KeyTemplate &

      Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewCecpq2AeadHkdfKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:84,1
    - Dst: DeterministicAeadKeyTemplates::Aes256Siv
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc
    functionUses: 2
    functionsReached:
    - DeterministicAeadKeyTemplates::Aes256Siv
    - crypto::tink::NewCecpq2AeadHkdfKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n            cecpq2_private_key"
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::HybridDecryptFactory::Create
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "crypto::tink::util::StatusOr<std::unique_ptr<HybridDecrypt>> Create(\n
      \       const google::crypto::tink::Cecpq2AeadHkdfPrivateKey&\n            cecpq2_private_key)
      const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<HybridDecryptFactory>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::Cecpq2AeadHkdfPrivateKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<HybridDecryptFactory>
    linkageType: ''
    returnType: void
    signature: void Cecpq2AeadHkdfPrivateKeyManager()
  - 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: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:45,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:46,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:48,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:49,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:50,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:51,1
    - Dst: has_dem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:55,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:56,1
    - Dst: dem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:58,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:59,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:64,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:65,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - Cecpq2AeadHkdfParams
    constantsTouched: []
    func_position:
      end: 69
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 69
    functionName: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc
    functionUses: 0
    functionsReached:
    - has_kem_params
    - has_dem_params
    - Status
    - kem_params
    - dem_params
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status Cecpq2AeadHkdfPublicKeyManager::ValidateParams(\n    const
      Cecpq2AeadHkdfParams& params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:73,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:73,1
    - Dst: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:73,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:74,1
    - Dst: has_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:75,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:76,1
    - Dst: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:78,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - Cecpq2AeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: crypto::tink::Cecpq2AeadHkdfPublicKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - has_params
    - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::ValidateParams
    - ValidateVersion
    - params
    - version
    - Status
    - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: "Status Cecpq2AeadHkdfPublicKeyManager::ValidateKey(\n    const Cecpq2AeadHkdfPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key_template'
    argTypes:
    - google::crypto::tink::KeyTemplate
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: crypto::tink::Cecpq2AeadHkdfDemHelperImpl::Cecpq2AeadHkdfDemHelperImpl
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Cecpq2AeadHkdfDemHelperImpl(\n      const google::crypto::tink::KeyTemplate&
      key_template)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:61,1
    - Dst: absl::make_unique<std::stringstream>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:67,1
    - Dst: internal::RegistryImpl::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:68,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:70,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:71,1
    - Dst: Registry::GetPrimitive<EncryptionPrimitive>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:73,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:74,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:74,1
    - Dst: absl::make_unique<AeadOrDaead>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:75,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:75,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ' seed'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: crypto::tink::Cecpq2AeadHkdfDemHelperImpl::GetAeadOrDaead
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<std::stringstream>
    - auto::status
    - auto::ok
    - size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::make_unique<AeadOrDaead>
    - internal::RegistryImpl::GlobalInstance
    - util::StatusOr::ok
    - Registry::GetPrimitive<EncryptionPrimitive>
    - util::StatusOr::value
    linkageType: ''
    returnType: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::subtle::AeadOrDaead>>"
    signature: "crypto::tink::util::StatusOr<\n      std::unique_ptr<crypto::tink::subtle::AeadOrDaead>>
      GetAeadOrDaead(const util::SecretData& seed) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:79,1
    - Dst: ToStatusF
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: crypto::tink::Cecpq2AeadHkdfDemHelperImpl::GetKeyMaterialSize
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc
    functionUses: 0
    functionsReached:
    - type_url
    - ToStatusF
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<uint32_t>
    signature: crypto::tink::util::StatusOr<uint32_t> GetKeyMaterialSize() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:102,1
    - Dst: absl::make_unique<Cecpq2AeadHkdfDemHelperImpl<Aead>>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:107,1
    - Dst: absl::make_unique<Cecpq2AeadHkdfDemHelperImpl<DeterministicAead>>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:110,1
    - Dst: ToStatusF
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' dem_key_template'
    argTypes:
    - KeyTemplate
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: crypto::tink::Cecpq2AeadHkdfDemHelper::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc
    functionUses: 7
    functionsReached:
    - absl::make_unique<Cecpq2AeadHkdfDemHelperImpl<Aead>>
    - type_url
    - absl::make_unique<Cecpq2AeadHkdfDemHelperImpl<DeterministicAead>>
    - ToStatusF
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const Cecpq2AeadHkdfDemHelper>>
    signature: util::StatusOr<std::unique_ptr<const Cecpq2AeadHkdfDemHelper>> Cecpq2AeadHkdfDemHelper::New(const
      KeyTemplate& dem_key_template)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:60,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:61,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:61,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:63,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:64,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:69,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:70,1
    - Dst: Cecpq2AeadHkdfPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:70,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey
    - Cecpq2AeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:76,1
    - Dst: auto::mutable_aead_dem
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:77,1
    - Dst: crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:77,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:78,1
    - Dst: auto::set_curve_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:79,1
    - Dst: auto::set_hkdf_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:80,1
    - Dst: auto::set_hkdf_salt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:81,1
    - Dst: auto::set_ec_point_format
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 23
    functionsReached:
    - auto::set_ec_point_format
    - auto::set_hkdf_salt
    - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
    - Cecpq2AeadHkdfKeyFormat::mutable_params
    - auto::set_curve_type
    - auto::set_hkdf_hash_type
    - auto::mutable_aead_dem
    linkageType: ''
    returnType: Cecpq2AeadHkdfKeyFormat
    signature: Cecpq2AeadHkdfKeyFormat CreateValidKeyFormat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:87,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:87,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Cecpq2AeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:93,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:94,1
    - Dst: auto::set_ec_point_format
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:96,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:96,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - auto::set_ec_point_format
    - Cecpq2AeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:101,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:102,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:103,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:103,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:108,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:111,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:111,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoKemCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:116,1
    - Dst: Cecpq2AeadHkdfKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:117,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:119,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:119,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfKeyFormat::mutable_params
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyFormatNoKemHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:125,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:126,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:129,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:130,1
    - Dst: Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:131,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:131,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:132,1
    - Dst: Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:133,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:134,1
    - Dst: Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:134,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:135,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:135,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:136,1
    - Dst: Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:136,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:137,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:139,1
    - Dst: Cecpq2AeadHkdfKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: IsEmpty
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:143,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:145,1
    - Dst: Cecpq2AeadHkdfPrivateKey::x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:145,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:145,1
    - Dst: IsEmpty
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::public_key
    - IsEmpty
    - IsOk
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - Cecpq2AeadHkdfKeyFormat::params
    - Cecpq2AeadHkdfPrivateKeyManager
    - Eq
    - crypto::tink::CreateValidKeyFormat
    - Cecpq2AeadHkdfPrivateKey::x25519_private_key
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:149,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: crypto::tink::CreateValidKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 20
    functionsReached:
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: Cecpq2AeadHkdfPrivateKey
    signature: Cecpq2AeadHkdfPrivateKey CreateValidKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:155,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:156,1
    - Dst: Cecpq2AeadHkdfPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:156,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey
    - Cecpq2AeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyEmpty)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:161,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:161,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:161,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Cecpq2AeadHkdfPrivateKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:166,1
    - Dst: Cecpq2AeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:168,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:168,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::set_version
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:173,1
    - Dst: Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:178,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:178,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 180
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyNoPoint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:183,1
    - Dst: Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:184,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:188,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:188,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyNoDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:193,1
    - Dst: Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:194,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:198,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:198,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyNoKemCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:203,1
    - Dst: Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:204,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:208,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:208,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - EXPECT_THAT
    - StatusIs
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidateKeyNoKemHash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:214,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:215,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:217,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:218,1
    - Dst: Cecpq2AeadHkdfPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:218,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:219,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:219,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:220,1
    - Dst: Cecpq2AeadHkdfPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:220,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:221,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:222,1
    - Dst: Cecpq2AeadHkdfPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:222,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:223,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:223,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:224,1
    - Dst: Cecpq2AeadHkdfPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:224,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:225,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:226,1
    - Dst: Cecpq2AeadHkdfPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:226,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:227,1
    - Dst: Cecpq2AeadHkdfPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:227,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:233,1
    - Dst: Cecpq2AeadHkdfPublicKey::x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:233,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:233,1
    - Dst: IsEmpty
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPublicKey::params
    - Cecpq2AeadHkdfPrivateKey::public_key
    - Cecpq2AeadHkdfPublicKey::x25519_public_key_x
    - IsOk
    - Not
    - ASSERT_THAT
    - Eq
    - EXPECT_THAT
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    - IsEmpty
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:237,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:237,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:239,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:241,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:243,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:246,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:248,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:249,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:250,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:250,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:254,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:255,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:257,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:259,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - ASSERT_EQ
    - IsOk
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - ASSERT_THAT
    - auto::value
    - absl::make_unique<AesGcmKeyManager>
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:263,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:263,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:265,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:267,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:270,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:270,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:275,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:277,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:277,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:282,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:284,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:284,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:285,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 286
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - IsOk
    - Not
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - ASSERT_THAT
    - auto::value
    - absl::make_unique<AesGcmKeyManager>
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, CreateDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:289,1
    - Dst: Cecpq2AeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:290,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:291,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:291,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:291,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Cecpq2AeadHkdfPrivateKey::set_version
    - Not
    - IsOk
    - EXPECT_THAT
    - Cecpq2AeadHkdfPrivateKeyManager
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfPrivateKeyManagerTest, ValidatePrivateKeyVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc: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: crypto::tink::Cecpq2HybridConfigTest::SetUp
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:58,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:62,1
    - Dst: Registry::get_key_manager<HybridDecrypt>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:62,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:63,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:65,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:66,1
    - Dst: Registry::get_key_manager<HybridEncrypt>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:66,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:67,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:69,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:70,1
    - Dst: crypto::tink::Cecpq2HybridConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:71,1
    - Dst: Registry::get_key_manager<HybridDecrypt>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:71,1
    - Dst: Cecpq2AeadHkdfPrivateKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:75,1
    - Dst: Registry::get_key_manager<HybridEncrypt>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:75,1
    - Dst: Cecpq2AeadHkdfPublicKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2HybridConfigRegister
    - IsOk
    - StatusIs
    - Registry::get_key_manager<HybridEncrypt>
    - Cecpq2AeadHkdfPublicKeyManager
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::IsFipsModeEnabled
    - Cecpq2AeadHkdfPrivateKeyManager
    - Registry::get_key_manager<HybridDecrypt>
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2HybridConfigTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:84,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:85,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:88,1
    - Dst: crypto::tink::Cecpq2HybridConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:88,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:91,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:92,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:93,1
    - Dst: absl::make_unique<PrimitiveSet<HybridEncrypt>>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:94,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:95,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:96,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:97,1
    - Dst: absl::make_unique<DummyHybridEncrypt>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:101,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:103,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:105,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:106,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:107,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:109,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:110,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:111,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:112,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 114
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - crypto::tink::Cecpq2HybridConfigRegister
    - std::move
    - absl::make_unique<PrimitiveSet<HybridEncrypt>>
    - ASSERT_THAT
    - absl::StrCat
    - ASSERT_TRUE
    - crypto::tink::IsFipsModeEnabled
    - DummyHybridEncrypt
    - auto::AddPrimitive
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - absl::make_unique<DummyHybridEncrypt>
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_EQ
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - auto::set_primary
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2HybridConfigTest, EncryptWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:119,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:120,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:123,1
    - Dst: crypto::tink::Cecpq2HybridConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:123,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:126,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:127,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:128,1
    - Dst: absl::make_unique<PrimitiveSet<HybridDecrypt>>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:130,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:131,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:132,1
    - Dst: absl::make_unique<DummyHybridDecrypt>
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:136,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:138,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:140,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:142,1
    - Dst: DummyHybridEncrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:147,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - crypto::tink::Cecpq2HybridConfigRegister
    - ASSERT_EQ
    - std::move
    - absl::make_unique<PrimitiveSet<HybridDecrypt>>
    - ASSERT_THAT
    - absl::StrCat
    - ASSERT_TRUE
    - crypto::tink::IsFipsModeEnabled
    - DummyHybridEncrypt
    - auto::AddPrimitive
    - IsOk
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - absl::make_unique<DummyHybridDecrypt>
    - auto::set_primary
    - auto::value
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2HybridConfigTest, DecryptWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:56,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::set_hrss_public_key_marshalled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:60,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::set_x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:62,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:63,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:65,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: crypto::tink::CreateValidKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 30
    functionsReached:
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey::set_x25519_public_key_x
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey::set_hrss_public_key_marshalled
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
    linkageType: ''
    returnType: google::crypto::tink::Cecpq2AeadHkdfPublicKey
    signature: google::crypto::tink::Cecpq2AeadHkdfPublicKey CreateValidKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:75,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:76,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:77,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - crypto::tink::CreateValidKey
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfHybridEncryptTest, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:81,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:83,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:83,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:84,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - HasSubstr
    - EXPECT_THAT
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfHybridEncryptTest, InvalidKeyNoFieldSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:89,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::set_x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:92,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:92,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:93,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey::set_x25519_public_key_x
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfHybridEncryptTest, InvalidKeySomeFieldsSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:98,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:99,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:101,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:102,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:102,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:103,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfHybridEncryptTest, InvalidKeyUnsupportedEcType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:109,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:110,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:111,1
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:113,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:114,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:119,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:119,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:119,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey::mutable_params
    - IsOk
    - std::move
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfHybridEncryptTest, InvalidKeyUnsupportedDemKeyType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:128,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:128,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:130,1
    - Dst: AesGcmKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:131,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:142,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:142,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:144,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:146,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:149,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:153,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:154,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:157,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:158,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:164,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:166,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:166,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::RegisterKeyTypeManager
    - std::unique_ptr::Encrypt
    - AesGcmKeyManager
    - IsOk
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - std::move
    - ASSERT_THAT
    - auto::value
    - absl::make_unique<AesGcmKeyManager>
    - absl::StrCat
    - SCOPED_TRACE
    - auto::mutable_params
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - EXPECT_THAT
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2AeadHkdfHybridEncryptTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - curve
    - ec_pubx
    - ec_puby
    - marshalled_hrss_pub
    argTypes:
    - subtle::EllipticCurveType
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::New
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const Cecpq2HkdfSenderKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<const Cecpq2HkdfSenderKemBoringSsl>>
      Cecpq2HkdfSenderKemBoringSsl::New(subtle::EllipticCurveType curve,\n                                  const
      absl::string_view ec_pubx,\n                                  const absl::string_view
      ec_puby,\n                                  const absl::string_view marshalled_hrss_pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:67,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:67,1
    - Dst: assign
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:68,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - peer_ec_pubx
    - marshalled_hrss_pub
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::Cecpq2HkdfX25519SenderKemBoringSsl
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - assign
    - std::string
    linkageType: ''
    returnType: void
    signature: "void Cecpq2HkdfX25519SenderKemBoringSsl::Cecpq2HkdfX25519SenderKemBoringSsl(\n
      \   const absl::string_view peer_ec_pubx,\n    const absl::string_view marshalled_hrss_pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<Cecpq2HkdfX25519SenderKemBoringSsl>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:77,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:82,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:85,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:86,1
    - Dst: absl::string_view::empty
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:89,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:90,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:93,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:94,1
    - Dst: Cecpq2HkdfX25519SenderKemBoringSsl::Cecpq2HkdfX25519SenderKemBoringSsl
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:100,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - curve
    - pubx
    - puby
    - marshalled_hrss_pub
    argTypes:
    - subtle::EllipticCurveType
    - absl::string_view
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc
    functionUses: 1
    functionsReached:
    - Cecpq2HkdfX25519SenderKemBoringSsl::Cecpq2HkdfX25519SenderKemBoringSsl
    - internal::CheckFipsCompatibility<Cecpq2HkdfX25519SenderKemBoringSsl>
    - absl::string_view::size
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::string_view::empty
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const Cecpq2HkdfSenderKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<const Cecpq2HkdfSenderKemBoringSsl>>
      Cecpq2HkdfX25519SenderKemBoringSsl::New(\n    subtle::EllipticCurveType curve,
      const absl::string_view pubx,\n    const absl::string_view puby, const absl::string_view
      marshalled_hrss_pub)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:116,1
    - Dst: X25519_keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:125,1
    - Dst: const_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:125,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:125,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:126,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:127,1
    - Dst: X25519
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:132,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:132,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:132,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:133,1
    - Dst: data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:133,1
    - Dst: util::SecretData::resize
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:137,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:140,1
    - Dst: HRSS_parse_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:144,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:145,1
    - Dst: data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:146,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:150,1
    - Dst: HRSS_encap
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:154,1
    - Dst: const_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:154,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:155,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:155,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:156,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:156,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:157,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:164,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:165,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:166,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:168,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:173,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:174,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:175,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:177,1
    - Dst: absl::make_unique<const KemKey>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - hash
    - hkdf_salt
    - hkdf_info
    - key_size_in_bytes
    - point_format
    argTypes:
    - subtle::HashType
    - absl::string_view
    - absl::string_view
    - uint32_t
    - subtle::EcPointFormat
    constantsTouched: []
    func_position:
      end: 181
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 181
    functionName: crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::GenerateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - reinterpret_cast<const uint8_t *>
    - auto::ok
    - absl::StrCat
    - const_cast<uint8_t *>
    - data
    - HRSS_parse_public_key
    - auto::status
    - HRSS_encap
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - util::SecretData::resize
    - crypto::tink::subtle::ResizeStringUninitialized
    - X25519
    - absl::make_unique<const KemKey>
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - reinterpret_cast<uint8_t *>
    - crypto::tink::util::SecretDataFromStringView
    - X25519_keypair
    - std::string::data
    - crypto::tink::internal::ExtractStatus
    - util::SecretData::data
    - auto::value
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<const Cecpq2HkdfSenderKemBoringSsl::KemKey>>
    signature: "util::StatusOr<std::unique_ptr<const Cecpq2HkdfSenderKemBoringSsl::KemKey>>
      Cecpq2HkdfX25519SenderKemBoringSsl::GenerateKey(\n    subtle::HashType hash,
      absl::string_view hkdf_salt,\n    absl::string_view hkdf_info, uint32_t key_size_in_bytes,\n
      \   subtle::EcPointFormat point_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:46,1
    - Dst: x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:46,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:47,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:49,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:54,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:57,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:62,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:64,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc
    functionUses: 2
    functionsReached:
    - public_key
    - hrss_private_key_seed
    - crypto::tink::internal::ExtractStatus
    - x25519_private_key
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Validate(\n    const google::crypto::tink::Cecpq2AeadHkdfPrivateKey&
      key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:77,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:78,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:81,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:82,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:83,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:84,1
    - Dst: x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:84,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:85,1
    - Dst: hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:85,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:86,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:86,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:89,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:90,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:91,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:91,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:93,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:94,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:95,1
    - Dst: Cecpq2AeadHkdfHybridDecrypt::Cecpq2AeadHkdfHybridDecrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - public_key
    - util::Status::ok
    - hrss_private_key_seed
    - util::StatusOr::status
    - Cecpq2AeadHkdfHybridDecrypt::Cecpq2AeadHkdfHybridDecrypt
    - std::move
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - absl::WrapUnique
    - x25519_private_key
    - crypto::tink::util::SecretDataFromStringView
    - util::StatusOr::ok
    - Validate
    - crypto::tink::util::Enums::ProtoToSubtle
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridDecrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridDecrypt>> Cecpq2AeadHkdfHybridDecrypt::New(\n
      \   const google::crypto::tink::Cecpq2AeadHkdfPrivateKey& private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::EcPointEncodingSizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:101,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:102,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:103,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:104,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:105,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:106,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:107,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:111,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:112,1
    - Dst: GetKeyMaterialSize
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:118,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:119,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:119,1
    - Dst: GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:124,1
    - Dst: absl::string_view
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:125,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:126,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:127,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:128,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:130,1
    - Dst: kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:131,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:132,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:132,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:133,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:133,1
    - Dst: GetAeadOrDaead
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:137,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:138,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:138,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:140,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:140,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:143,1
    - Dst: absl::string_view::substr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:144,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:145,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:145,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - ciphertext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 148
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 148
    functionName: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::Decrypt
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc
    functionUses: 0
    functionsReached:
    - absl::string_view
    - crypto::tink::internal::EcPointEncodingSizeInBytes
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - GenerateKey
    - std::move
    - GetAeadOrDaead
    - std::unique_ptr::Decrypt
    - GetKeyMaterialSize
    - util::StatusOr::ok
    - kem_params
    - absl::string_view::substr
    - crypto::tink::util::Enums::ProtoToSubtle
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Cecpq2AeadHkdfHybridDecrypt::Decrypt(\n
      \   absl::string_view ciphertext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:130,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:131,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:136,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:136,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:137,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:139,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:145,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfRecipientKemBoringSslTest, TestUnknownCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:153,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:154,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:159,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:159,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:160,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:162,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:163,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:168,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - IsFipsModeEnabled
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - GTEST_SKIP
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfRecipientKemBoringSslTest, TestUnsupportedCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:175,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:176,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:184,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:184,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:185,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:187,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:188,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:190,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:191,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:194,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:195,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:196,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:196,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:198,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:198,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:199,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 201
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - IsFipsModeEnabled
    - auto::GenerateKey
    - crypto::tink::test::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - HasSubstr
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfRecipientKemBoringSslTest, TestNotPostQuantumSecureKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:204,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:205,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:211,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:211,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:212,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:214,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:215,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:217,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:218,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:221,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:222,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:223,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:228,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:229,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:229,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 230
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - IsFipsModeEnabled
    - auto::GenerateKey
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::test::HexEncode
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfRecipientKemBoringSslTest, TestRecipientFlowSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:233,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:234,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:243,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:248,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:248,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:249,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:251,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:252,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:254,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:255,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:258,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:259,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:260,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:261,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:265,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:266,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:266,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 267
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - IsFipsModeEnabled
    - auto::GenerateKey
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - IsOk
    - std::move
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - GTEST_SKIP
    - crypto::tink::test::HexEncode
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfRecipientKemBoringSslTest, TestRecipientFlowFailure)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: crypto::tink::Cecpq2AeadHkdfHybridDecryptTest::GetCommonHybridKeyParamsList
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CommonHybridKeyParams>
    signature: std::vector<CommonHybridKeyParams> GetCommonHybridKeyParamsList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:96,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:97,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:97,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:99,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:99,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:100,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:101,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:101,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:106,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:107,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:108,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:108,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:109,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:111,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:112,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:113,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:115,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:116,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:124,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:126,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:128,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:129,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:131,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:132,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:141,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:144,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:145,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:146,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:148,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:149,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:156,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:156,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:157,1
    - Dst: absl::StrContains
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:159,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:159,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:161,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:166,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:166,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:167,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:168,1
    - Dst: std::unique_ptr::Decrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:174,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:174,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:175,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:176,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:182,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - ' cecpq2_key'
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    constantsTouched: []
    func_position:
      end: 183
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 183
    functionName: crypto::tink::Cecpq2AeadHkdfHybridDecryptTest::CheckKeyValidity
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - public_key
    - auto::ok
    - std::unique_ptr::Encrypt
    - crypto::tink::internal::ExtractStatus
    - std::move
    - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    - std::unique_ptr::Decrypt
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    - absl::StrContains
    - auto::value
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: "util::Status CheckKeyValidity(\n      const google::crypto::tink::Cecpq2AeadHkdfPrivateKey&
      cecpq2_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:189,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:193,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:193,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:194,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:195,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:196,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:196,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:199,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:201,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:204,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:208,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:212,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:218,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:219,1
    - Dst: crypto::tink::internal::AddAesGcmKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:220,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:221,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:226,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 233
    functionName: crypto::tink::CreateValidKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 35
    functionsReached:
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::util::SecretDataAsStringView
    - std::string
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - crypto::tink::internal::AddAesGcmKey
    - absl::StrCat
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    linkageType: ''
    returnType: google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    signature: google::crypto::tink::Cecpq2AeadHkdfPrivateKey CreateValidKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:237,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:238,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:238,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::CreateValidKey
    - EXPECT_THAT
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, ValidKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:242,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:242,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:243,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:245,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyNoFieldsSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:251,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:252,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:253,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:253,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:254,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyX25519PrivKeyFieldMissing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:260,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:261,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:262,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:262,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:263,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    - HasSubstr
    - EXPECT_THAT
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyX25519PubKeyFieldMissing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:269,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:270,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:271,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:271,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:272,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyHrssPrivKeyFieldMissing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:278,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:279,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:280,1
    - Dst: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:280,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:281,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
    - HasSubstr
    - EXPECT_THAT
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyHrssPubKeyFieldMissing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:287,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:288,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:293,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:293,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:294,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - HasSubstr
    - EXPECT_THAT
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyWrongEcType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:300,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:301,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:305,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:309,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:315,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:315,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:315,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - HasSubstr
    - EXPECT_THAT
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - StatusIs
    - crypto::tink::CreateValidKey
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, InvalidKeyUnsupportedDem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:321,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:321,1
    - Dst: absl::make_unique<AesGcmKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:322,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:326,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:328,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:328,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:332,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:333,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:333,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:335,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:336,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:336,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:338,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:338,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:339,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:340,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:342,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:344,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:347,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:348,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:352,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:353,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:357,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:359,1
    - Dst: AesGcmKeyManager::AesGcmKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:360,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:361,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:362,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:367,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:371,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:373,1
    - Dst: CheckKeyValidity
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:373,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 376
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - CheckKeyValidity
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::util::SecretDataAsStringView
    - std::move
    - AesGcmKeyManager::AesGcmKeyManager
    - absl::StrCat
    - ASSERT_TRUE
    - std::string
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - IsOk
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::util::Enums::SubtleToProto
    - crypto::tink::GetCommonHybridKeyParamsList
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - std::unique_ptr::get_key_type
    - auto::value
    - absl::make_unique<AesGcmKeyManager>
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, AesGcmHybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:380,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:380,1
    - Dst: absl::make_unique<XChaCha20Poly1305KeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:381,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:385,1
    - Dst: SCOPED_TRACE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:386,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:386,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:390,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:391,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:391,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:393,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:394,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:394,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:396,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:396,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:397,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:398,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:400,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:402,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:405,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:406,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:410,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:411,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:414,1
    - Dst: XChaCha20Poly1305KeyManager::XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:418,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:419,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:420,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:425,1
    - Dst: google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:429,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:431,1
    - Dst: CheckKeyValidity
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:431,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 433
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - CheckKeyValidity
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::util::SecretDataAsStringView
    - XChaCha20Poly1305KeyManager::XChaCha20Poly1305KeyManager
    - std::move
    - absl::StrCat
    - ASSERT_TRUE
    - std::string
    - IsOk
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - EXPECT_THAT
    - SCOPED_TRACE
    - crypto::tink::util::Enums::SubtleToProto
    - crypto::tink::GetCommonHybridKeyParamsList
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - absl::make_unique<XChaCha20Poly1305KeyManager>
    - std::unique_ptr::get_key_type
    - auto::value
    - google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, XChaCha20Poly1305HybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:437,1
    - Dst: crypto::tink::Registry::RegisterKeyTypeManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:437,1
    - Dst: absl::make_unique<AesSivKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:438,1
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:442,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:444,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:445,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:445,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:447,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:448,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:448,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:450,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:450,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:451,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:452,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:454,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:456,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:459,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:460,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:464,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:465,1
    - Dst: crypto::tink::util::Enums::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:468,1
    - Dst: google::crypto::tink::AesSivKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:471,1
    - Dst: AesSivKeyManager::AesSivKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:472,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:473,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:474,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:479,1
    - Dst: google::crypto::tink::AesSivKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:483,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:485,1
    - Dst: CheckKeyValidity
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:485,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 487
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
    functionUses: 0
    functionsReached:
    - CheckKeyValidity
    - crypto::tink::Registry::RegisterKeyTypeManager
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::util::SecretDataAsStringView
    - AesSivKeyManager::AesSivKeyManager
    - std::move
    - ASSERT_TRUE
    - std::string
    - IsOk
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - EXPECT_THAT
    - absl::make_unique<AesSivKeyManager>
    - google::crypto::tink::AesSivKeyFormat::set_key_size
    - crypto::tink::util::Enums::SubtleToProto
    - google::crypto::tink::AesSivKeyFormat::SerializeAsString
    - crypto::tink::GetCommonHybridKeyParamsList
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - std::unique_ptr::get_key_type
    - auto::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(Cecpq2AeadHkdfHybridDecryptTest, AesSivHybridDecryption)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:111,1
    - Dst: crypto::tink::pqc::GenerateHrssKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:112,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:114,1
    - Dst: crypto::tink::pqc::GenerateHrssKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:115,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:118,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:119,1
    - Dst: data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:119,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:122,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:123,1
    - Dst: data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: crypto::tink::pqc::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::pqc::GenerateHrssKeyPair
    - EXPECT_NE
    - reinterpret_cast<const char*>
    - auto::value
    - data
    linkageType: ''
    returnType: void
    signature: void TEST(CreatesNewCecpq2KeyPairTest, GeneratesDifferentKeysEveryTime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<const char*>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:133,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:134,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:137,1
    - Dst: crypto::tink::pqc::GenerateHrssKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:141,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:141,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: crypto::tink::pqc::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::pqc::GenerateHrssKeyPair
    - crypto::tink::test::HexDecodeOrDie
    - reinterpret_cast<const char*>
    - crypto::tink::util::SecretDataFromStringView
    - auto::value
    - crypto::tink::test::HexEncode
    linkageType: ''
    returnType: void
    signature: void TEST(CreatesNewCecpq2KeyPairTest, SuccessfullHrssKeyGen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:37,1
    - Dst: util::MakeSecretUniquePtr<struct HRSS_private_key>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:41,1
    - Dst: HRSS_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:44,1
    - Dst: util::SecretUniquePtr::get
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:44,1
    - Dst: crypto::tink::pqc::HrssKeyPair::hrss_private_key_seed::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:45,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:48,1
    - Dst: HRSS_marshal_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:50,1
    - Dst: const_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:51,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:51,1
    - Dst: crypto::tink::pqc::HrssKeyPair::hrss_public_key_marshaled::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hrss_key_entropy
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: crypto::tink::pqc::GenerateHrssKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::pqc::HrssKeyPair::hrss_public_key_marshaled::data
    - HRSS_generate_key
    - HRSS_marshal_public_key
    - reinterpret_cast<const uint8_t *>
    - std::move
    - util::SecretUniquePtr::get
    - util::MakeSecretUniquePtr<struct HRSS_private_key>
    - crypto::tink::pqc::HrssKeyPair::hrss_private_key_seed::data
    - crypto::tink::subtle::ResizeStringUninitialized
    - const_cast<uint8_t *>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<crypto::tink::pqc::HrssKeyPair>
    signature: crypto::tink::util::StatusOr<crypto::tink::pqc::HrssKeyPair> GenerateHrssKeyPair(util::SecretData
      hrss_key_entropy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::pqc::Cecpq2KeyPair::x25519_key_pair::priv::resize
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:63,1
    - Dst: crypto::tink::subtle::ResizeStringUninitialized
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:64,1
    - Dst: X25519_keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:66,1
    - Dst: const_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:66,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:66,1
    - Dst: crypto::tink::pqc::Cecpq2KeyPair::x25519_key_pair::pub_x::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:67,1
    - Dst: crypto::tink::pqc::Cecpq2KeyPair::x25519_key_pair::priv::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:68,1
    - Dst: crypto::tink::subtle::Random::GetRandomKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:72,1
    - Dst: crypto::tink::pqc::GenerateHrssKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:73,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:74,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curve_type
    argTypes:
    - subtle::EllipticCurveType
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: crypto::tink::pqc::GenerateCecpq2Keypair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc
    functionUses: 7
    functionsReached:
    - reinterpret_cast<const uint8_t *>
    - crypto::tink::subtle::Random::GetRandomKeyBytes
    - crypto::tink::pqc::GenerateHrssKeyPair
    - crypto::tink::pqc::Cecpq2KeyPair::x25519_key_pair::priv::resize
    - std::move
    - crypto::tink::pqc::Cecpq2KeyPair::x25519_key_pair::priv::data
    - auto::value
    - crypto::tink::subtle::ResizeStringUninitialized
    - crypto::tink::pqc::Cecpq2KeyPair::x25519_key_pair::pub_x::data
    - X25519_keypair
    - const_cast<uint8_t *>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<crypto::tink::pqc::Cecpq2KeyPair>
    signature: crypto::tink::util::StatusOr<crypto::tink::pqc::Cecpq2KeyPair> GenerateCecpq2Keypair(subtle::EllipticCurveType
      curve_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:45,1
    - Dst: hrss_public_key_marshalled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:46,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:47,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:52,1
    - Dst: x25519_public_key_y
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:55,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: crypto::tink::Validate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - params
    - x25519_public_key_y
    - hrss_public_key_marshalled
    - crypto::tink::util::OkStatus
    - x25519_public_key_x
    linkageType: ''
    returnType: util::Status
    signature: "util::Status Validate(\n    const google::crypto::tink::Cecpq2AeadHkdfPublicKey&
      key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validate
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:68,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:69,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:72,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:73,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:74,1
    - Dst: x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:75,1
    - Dst: x25519_public_key_y
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:76,1
    - Dst: hrss_public_key_marshalled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:77,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:78,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:78,1
    - Dst: crypto::tink::Cecpq2AeadHkdfDemHelper::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:81,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:82,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:83,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:83,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:85,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:86,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:87,1
    - Dst: Cecpq2AeadHkdfHybridEncrypt::Cecpq2AeadHkdfHybridEncrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' recipient_key'
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc
    functionUses: 8
    functionsReached:
    - util::Status::ok
    - util::StatusOr::status
    - std::move
    - crypto::tink::Cecpq2AeadHkdfDemHelper::New
    - params
    - absl::WrapUnique
    - util::StatusOr::ok
    - Cecpq2AeadHkdfHybridEncrypt::Cecpq2AeadHkdfHybridEncrypt
    - Validate
    - crypto::tink::util::Enums::ProtoToSubtle
    - x25519_public_key_y
    - x25519_public_key_x
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    - hrss_public_key_marshalled
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<HybridEncrypt>>
    signature: "util::StatusOr<std::unique_ptr<HybridEncrypt>> Cecpq2AeadHkdfHybridEncrypt::New(\n
      \   const google::crypto::tink::Cecpq2AeadHkdfPublicKey& recipient_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyMaterialSize
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:94,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:95,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:95,1
    - Dst: GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:101,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:102,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:103,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:104,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:106,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:107,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:108,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:108,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:110,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:110,1
    - Dst: GetAeadOrDaead
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:115,1
    - Dst: std::unique_ptr::get_symmetric_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:115,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:116,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:116,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:118,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:118,1
    - Dst: std::unique_ptr::Encrypt
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:122,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:123,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:123,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:127,1
    - Dst: std::unique_ptr::get_kem_bytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:127,1
    - Dst: util::StatusOr::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - plaintext
    - context_info
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 130
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 130
    functionName: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::Encrypt
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - std::unique_ptr::Encrypt
    - GenerateKey
    - std::move
    - params
    - GetAeadOrDaead
    - GetKeyMaterialSize
    - std::unique_ptr::get_symmetric_key
    - util::StatusOr::ok
    - std::unique_ptr::get_kem_bytes
    - absl::StrCat
    - crypto::tink::util::Enums::ProtoToSubtle
    - util::StatusOr::value
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> Cecpq2AeadHkdfHybridEncrypt::Encrypt(\n
      \   absl::string_view plaintext, absl::string_view context_info) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:55,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:56,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:60,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:61,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:61,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:62,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:66,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:73,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - auto::ok
    - IsFipsModeEnabled
    - EXPECT_EQ
    - std::move
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestUnknownCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:81,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:82,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:86,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:87,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:87,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:88,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:98,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - auto::ok
    - IsFipsModeEnabled
    - EXPECT_EQ
    - std::move
    - GTEST_SKIP
    - ASSERT_TRUE
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestUnsupportedCurve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:105,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:106,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:117,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:118,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:118,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:119,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:126,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:127,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:127,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:130,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:131,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:134,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:134,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:135,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 137
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - auto::status
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - IsOk
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - ASSERT_THAT
    - auto::value
    - HasSubstr
    - EXPECT_THAT
    - GTEST_SKIP
    - ASSERT_TRUE
    - StatusIs
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestNotPostQuantumSecureKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:141,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:142,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:151,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:152,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:152,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:153,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:156,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:160,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:161,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:161,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:164,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:165,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:169,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:169,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:170,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:170,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:171,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:171,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:172,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - IsOk
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - EXPECT_EQ
    - ASSERT_THAT
    - auto::value
    - auto::get_kem_bytes
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::get_symmetric_key
    - EXPECT_FALSE
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestGenerateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:179,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:180,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:189,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:190,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:190,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:191,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:194,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:198,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:198,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:199,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:199,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:202,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:203,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:204,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:205,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:205,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:206,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:206,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:209,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:212,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:212,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:213,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:213,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:216,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:217,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:218,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:218,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:220,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:223,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:223,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:224,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:224,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:225,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:226,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 227
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataAsStringView
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - crypto::tink::test::HexDecodeOrDie
    - EXPECT_EQ
    - std::move
    - auto::value
    - auto::get_kem_bytes
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::get_symmetric_key
    - crypto::tink::test::HexEncode
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestSenderRecipientFullFlowSuccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:236,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:237,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:246,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:247,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:247,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:248,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:255,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:256,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:256,1
    - Dst: auto::x25519_key_pair::pub_x::clear
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:259,1
    - Dst: auto::x25519_key_pair::pub_y::clear
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:260,1
    - Dst: auto::hrss_key_pair::hrss_public_key_marshaled::clear
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:261,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:264,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:265,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:266,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:267,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:267,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:268,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:268,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:271,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:274,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:275,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:275,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:278,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:279,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:280,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:282,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:285,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:285,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:286,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:286,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:287,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:288,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 289
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::util::SecretDataAsStringView
    - auto::ok
    - auto::GenerateKey
    - std::move
    - ASSERT_THAT
    - ASSERT_TRUE
    - auto::get_symmetric_key
    - IsOk
    - auto::x25519_key_pair::pub_x::clear
    - auto::get_kem_bytes
    - auto::hrss_key_pair::hrss_public_key_marshaled::clear
    - GTEST_SKIP
    - crypto::tink::test::HexEncode
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - EXPECT_EQ
    - crypto::tink::test::HexDecodeOrDie
    - IsFipsModeEnabled
    - auto::x25519_key_pair::pub_y::clear
    - auto::value
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestFullFlowErasedCallersPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:296,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:297,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:306,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:307,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:307,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:308,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:315,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:315,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:316,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:316,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:319,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:320,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:321,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:322,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:322,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:323,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:323,1
    - Dst: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:326,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:328,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:329,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:329,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:330,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:330,1
    - Dst: auto::get_kem_bytes
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:334,1
    - Dst: auto::GenerateKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:339,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:340,1
    - Dst: crypto::tink::test::HexDecodeOrDie
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:341,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:344,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:344,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:345,1
    - Dst: auto::get_symmetric_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:345,1
    - Dst: crypto::tink::test::HexEncode
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:346,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:347,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 348
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    - crypto::tink::util::SecretDataAsStringView
    - auto::ok
    - IsFipsModeEnabled
    - auto::GenerateKey
    - IsOk
    - crypto::tink::test::HexDecodeOrDie
    - std::move
    - EXPECT_NE
    - ASSERT_THAT
    - auto::value
    - auto::get_kem_bytes
    - GTEST_SKIP
    - ASSERT_TRUE
    - auto::get_symmetric_key
    - crypto::tink::test::HexEncode
    - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
    linkageType: ''
    returnType: void
    signature: void TEST(Cecpq2HkdfSenderKemBoringSslTest, TestSenderRecipientFullFlowFailure)
  - 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: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::KemKey::KemKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void KemKey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h:74,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - kem_bytes
    - symmetric_key
    argTypes:
    - std::string
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::KemKey::KemKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void KemKey(std::string kem_bytes, util::SecretData symmetric_key)
  - 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: '& get_kem_bytes() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_kem_bytes() 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: '& get_symmetric_key() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData & get_symmetric_key() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~Cecpq2HkdfSenderKemBoringSsl()
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cecpq2HkdfSenderKemBoringSsl()
  - 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: ~Cecpq2HkdfRecipientKemBoringSsl()
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Cecpq2HkdfRecipientKemBoringSsl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.h:118,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ec_private_key
    - hrss_private_key_seed
    argTypes:
    - util::SecretData
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::Cecpq2HkdfX25519RecipientKemBoringSsl
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Cecpq2HkdfX25519RecipientKemBoringSsl(\n      util::SecretData
      ec_private_key, util::SecretData hrss_private_key_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::New
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:55,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:56,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - curve
    - ec_private_key
    - hrss_private_key_seed
    argTypes:
    - EllipticCurveType
    - util::SecretData
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc
    functionUses: 9
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::New
    - std::move
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Cecpq2HkdfRecipientKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<Cecpq2HkdfRecipientKemBoringSsl>> Cecpq2HkdfRecipientKemBoringSsl::New(EllipticCurveType
      curve,\n                                     util::SecretData ec_private_key,\n
      \                                    util::SecretData hrss_private_key_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<Cecpq2HkdfX25519RecipientKemBoringSsl>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:69,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:70,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:74,1
    - Dst: util::SecretData::size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:78,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:82,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:83,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:83,1
    - Dst: Cecpq2HkdfX25519RecipientKemBoringSsl::Cecpq2HkdfX25519RecipientKemBoringSsl
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - curve
    - ec_private_key
    - hrss_private_key_seed
    argTypes:
    - EllipticCurveType
    - util::SecretData
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 84
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc
    functionUses: 1
    functionsReached:
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - internal::CheckFipsCompatibility<Cecpq2HkdfX25519RecipientKemBoringSsl>
    - Cecpq2HkdfX25519RecipientKemBoringSsl::Cecpq2HkdfX25519RecipientKemBoringSsl
    - util::SecretData::size
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<Cecpq2HkdfRecipientKemBoringSsl>>
    signature: "util::StatusOr<std::unique_ptr<Cecpq2HkdfRecipientKemBoringSsl>> Cecpq2HkdfX25519RecipientKemBoringSsl::New(\n
      \   EllipticCurveType curve, util::SecretData ec_private_key,\n    util::SecretData
      hrss_private_key_seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:93,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:98,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:102,1
    - Dst: X25519
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:109,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:109,1
    - Dst: data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:109,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:110,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:110,1
    - Dst: util::MakeSecretUniquePtr<struct HRSS_private_key>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:114,1
    - Dst: HRSS_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:116,1
    - Dst: util::SecretUniquePtr::get
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:116,1
    - Dst: data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:117,1
    - Dst: HRSS_decap
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:121,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:121,1
    - Dst: util::SecretData::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:121,1
    - Dst: util::SecretUniquePtr::get
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:122,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:123,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:123,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:128,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:128,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:129,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:130,1
    - Dst: crypto::tink::subtle::Hkdf::ComputeHkdf
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:135,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:136,1
    - Dst: auto::status
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:137,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - kem_bytes
    - hash
    - hkdf_salt
    - hkdf_info
    - key_size_in_bytes
    - point_format
    argTypes:
    - absl::string_view
    - HashType
    - absl::string_view
    - absl::string_view
    - uint32_t
    - EcPointFormat
    constantsTouched: []
    func_position:
      end: 142
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 142
    functionName: crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::GenerateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - absl::string_view::size
    - auto::ok
    - absl::StrCat
    - data
    - auto::status
    - crypto::tink::subtle::Hkdf::ComputeHkdf
    - util::MakeSecretUniquePtr<struct HRSS_private_key>
    - X25519
    - util::SecretUniquePtr::get
    - HRSS_decap
    - crypto::tink::util::SecretDataFromStringView
    - absl::string_view::data
    - HRSS_generate_key
    - crypto::tink::internal::ExtractStatus
    - util::SecretData::data
    - auto::value
    - reinterpret_cast<uint8_t*>
    - reinterpret_cast<const uint8_t*>
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<util::SecretData>
    signature: "crypto::tink::util::StatusOr<util::SecretData> Cecpq2HkdfX25519RecipientKemBoringSsl::GenerateKey(\n
      \   absl::string_view kem_bytes, HashType hash, absl::string_view hkdf_salt,\n
      \   absl::string_view hkdf_info, uint32_t key_size_in_bytes,\n    EcPointFormat
      point_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.h:54,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' recipient_key'
    - sender_kem
    - dem_helper
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfPublicKey
    - std::unique_ptr<const subtle::Cecpq2HkdfSenderKemBoringSsl>
    - std::unique_ptr<const Cecpq2AeadHkdfDemHelper>
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: crypto::tink::Cecpq2AeadHkdfHybridEncrypt::Cecpq2AeadHkdfHybridEncrypt
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Cecpq2AeadHkdfHybridEncrypt(\n      const google::crypto::tink::Cecpq2AeadHkdfPublicKey&
      recipient_key,\n      std::unique_ptr<const subtle::Cecpq2HkdfSenderKemBoringSsl>
      sender_kem,\n      std::unique_ptr<const Cecpq2AeadHkdfDemHelper> dem_helper)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.h:54,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' recipient_key_params'
    - kem
    - dem_helper
    argTypes:
    - google::crypto::tink::Cecpq2AeadHkdfParams
    - std::unique_ptr<const subtle::Cecpq2HkdfRecipientKemBoringSsl>
    - std::unique_ptr<const Cecpq2AeadHkdfDemHelper>
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: crypto::tink::Cecpq2AeadHkdfHybridDecrypt::Cecpq2AeadHkdfHybridDecrypt
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void Cecpq2AeadHkdfHybridDecrypt(\n      const google::crypto::tink::Cecpq2AeadHkdfParams&
      recipient_key_params,\n      std::unique_ptr<const subtle::Cecpq2HkdfRecipientKemBoringSsl>
      kem,\n      std::unique_ptr<const Cecpq2AeadHkdfDemHelper> dem_helper)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: crypto::tink::GetCommonHybridKeyParamsList
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc
    functionUses: 7
    functionsReached:
    - std::vector::push_back
    linkageType: ''
    returnType: std::vector<CommonHybridKeyParams>
    signature: std::vector<CommonHybridKeyParams> GetCommonHybridKeyParamsList()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetCecpq2AeadHkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:70,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:75,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:76,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:76,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:77,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - auto::mutable_kem_params
    - crypto::tink::test::GetCecpq2AeadHkdfTestKey
    - auto::mutable_public_key
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TestUtilTest, GetCecpq2AeadHkdfTestKeyBasics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetCecpq2AesGcmHkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:86,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:91,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:92,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:93,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::GetCecpq2AesGcmHkdfTestKey
    - auto::mutable_kem_params
    - auto::mutable_public_key
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TestUtilTest, GetCecpq2AesGcmHkdfTestKeyBasics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::GetCommonHybridKeyParamsList
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:103,1
    - Dst: crypto::tink::test::GetCecpq2AesCtrHmacHkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:107,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:112,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:113,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::GetCommonHybridKeyParamsList
    - crypto::tink::test::GetCecpq2AesCtrHmacHkdfTestKey
    - auto::mutable_public_key
    - auto::mutable_kem_params
    linkageType: ''
    returnType: void
    signature: void TEST(TestUtilTest, GetCecpq2AesCtrHmacHkdfTestKeyBasics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetCecpq2XChaCha20Poly1305HkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:126,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:131,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:132,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:133,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::test::GetCecpq2XChaCha20Poly1305HkdfTestKey
    - auto::mutable_kem_params
    - auto::mutable_public_key
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(TestUtilTest, GetCecpq2XChaCha20Poly1305HkdfTestKeyBasics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:48,1
    - Dst: crypto::tink::pqc::GenerateCecpq2Keypair
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:51,1
    - Dst: crypto::tink::util::Enums::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:51,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:52,1
    - Dst: auto::value
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:52,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:55,1
    - Dst: auto::hrss_key_pair::hrss_private_key_seed::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:56,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:58,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:60,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:61,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:61,1
    - Dst: auto::x25519_key_pair::priv::data
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:62,1
    - Dst: google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:65,1
    - Dst: auto::set_version
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:66,1
    - Dst: auto::set_x25519_public_key_x
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:67,1
    - Dst: auto::set_x25519_public_key_y
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:68,1
    - Dst: auto::set_hrss_public_key_marshalled
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:69,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:72,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:73,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:74,1
    - Dst: auto::mutable_kem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    constantsTouched: []
    func_position:
      end: 78
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 78
    functionName: crypto::tink::test::GetCecpq2AeadHkdfTestKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::pqc::GenerateCecpq2Keypair
    - auto::x25519_key_pair::priv::data
    - std::string
    - auto::hrss_key_pair::hrss_private_key_seed::data
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_version
    - std::move
    - reinterpret_cast<const char *>
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_hrss_private_key_seed
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::set_x25519_private_key
    - auto::set_x25519_public_key_x
    - auto::value
    - auto::set_x25519_public_key_y
    - auto::mutable_params
    - auto::set_hrss_public_key_marshalled
    - crypto::tink::util::Enums::ProtoToSubtle
    - google::crypto::tink::Cecpq2AeadHkdfPrivateKey::mutable_public_key
    - auto::mutable_kem_params
    - auto::set_version
    linkageType: ''
    returnType: google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    signature: "google::crypto::tink::Cecpq2AeadHkdfPrivateKey GetCecpq2AeadHkdfTestKey(\n
      \   google::crypto::tink::EllipticCurveType curve_type,\n    google::crypto::tink::EcPointFormat
      ec_point_format,\n    google::crypto::tink::HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetCecpq2AeadHkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:85,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:86,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:89,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:90,1
    - Dst: AesGcmKeyManager::AesGcmKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:91,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:92,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:93,1
    - Dst: auto::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:94,1
    - Dst: google::crypto::tink::AesGcmKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    - aes_gcm_key_size
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    - uint32_t
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: crypto::tink::test::GetCecpq2AesGcmHkdfTestKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc
    functionUses: 1
    functionsReached:
    - auto::set_value
    - std::unique_ptr::get_key_type
    - google::crypto::tink::AesGcmKeyFormat::SerializeAsString
    - AesGcmKeyManager::AesGcmKeyManager
    - auto::mutable_public_key
    - auto::set_type_url
    - google::crypto::tink::AesGcmKeyFormat::set_key_size
    - crypto::tink::test::GetCecpq2AeadHkdfTestKey
    - auto::mutable_dem_params
    linkageType: ''
    returnType: google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    signature: "google::crypto::tink::Cecpq2AeadHkdfPrivateKey GetCecpq2AesGcmHkdfTestKey(\n
      \   google::crypto::tink::EllipticCurveType curve_type,\n    google::crypto::tink::EcPointFormat
      ec_point_format,\n    google::crypto::tink::HashType hash_type, uint32_t aes_gcm_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetCecpq2AeadHkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:105,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:108,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:109,1
    - Dst: auto::set_iv_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:110,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:111,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:113,1
    - Dst: auto::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:114,1
    - Dst: auto::set_hash
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:115,1
    - Dst: auto::set_tag_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:116,1
    - Dst: auto::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:117,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:119,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:120,1
    - Dst: AesCtrHmacAeadKeyManager::AesCtrHmacAeadKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:123,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:124,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:125,1
    - Dst: auto::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:126,1
    - Dst: google::crypto::tink::AesCtrHmacAeadKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 8
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    - aes_ctr_key_size
    - aes_ctr_iv_size
    - hmac_hash_type
    - hmac_tag_size
    - hmac_key_size
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    - uint32_t
    - uint32_t
    - google::crypto::tink::HashType
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 128
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 128
    functionName: crypto::tink::test::GetCecpq2AesCtrHmacHkdfTestKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc
    functionUses: 1
    functionsReached:
    - auto::set_value
    - std::unique_ptr::get_key_type
    - auto::set_iv_size
    - google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_aes_ctr_key_format
    - auto::set_hash
    - AesCtrHmacAeadKeyManager::AesCtrHmacAeadKeyManager
    - auto::set_key_size
    - auto::mutable_params
    - auto::mutable_public_key
    - google::crypto::tink::AesCtrHmacAeadKeyFormat::mutable_hmac_key_format
    - auto::set_type_url
    - google::crypto::tink::AesCtrHmacAeadKeyFormat::SerializeAsString
    - crypto::tink::test::GetCecpq2AeadHkdfTestKey
    - auto::set_tag_size
    - auto::mutable_dem_params
    linkageType: ''
    returnType: google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    signature: "google::crypto::tink::Cecpq2AeadHkdfPrivateKey GetCecpq2AesCtrHmacHkdfTestKey(\n
      \   google::crypto::tink::EllipticCurveType curve_type,\n    google::crypto::tink::EcPointFormat
      ec_point_format,\n    google::crypto::tink::HashType hash_type, uint32_t aes_ctr_key_size,\n
      \   uint32_t aes_ctr_iv_size, google::crypto::tink::HashType hmac_hash_type,\n
      \   uint32_t hmac_tag_size, uint32_t hmac_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::test::GetCecpq2AeadHkdfTestKey
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:136,1
    - Dst: auto::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:137,1
    - Dst: auto::mutable_dem_params
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:140,1
    - Dst: XChaCha20Poly1305KeyManager::XChaCha20Poly1305KeyManager
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:142,1
    - Dst: std::unique_ptr::get_key_type
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:143,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:144,1
    - Dst: auto::set_value
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:145,1
    - Dst: google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curve_type
    - ec_point_format
    - hash_type
    argTypes:
    - google::crypto::tink::EllipticCurveType
    - google::crypto::tink::EcPointFormat
    - google::crypto::tink::HashType
    constantsTouched: []
    func_position:
      end: 148
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 148
    functionName: crypto::tink::test::GetCecpq2XChaCha20Poly1305HkdfTestKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc
    functionUses: 1
    functionsReached:
    - auto::set_value
    - std::unique_ptr::get_key_type
    - XChaCha20Poly1305KeyManager::XChaCha20Poly1305KeyManager
    - auto::mutable_public_key
    - auto::set_type_url
    - google::crypto::tink::XChaCha20Poly1305KeyFormat::SerializeAsString
    - crypto::tink::test::GetCecpq2AeadHkdfTestKey
    - auto::mutable_dem_params
    linkageType: ''
    returnType: google::crypto::tink::Cecpq2AeadHkdfPrivateKey
    signature: "google::crypto::tink::Cecpq2AeadHkdfPrivateKey GetCecpq2XChaCha20Poly1305HkdfTestKey(\n
      \   google::crypto::tink::EllipticCurveType curve_type,\n    google::crypto::tink::EcPointFormat
      ec_point_format,\n    google::crypto::tink::HashType hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::FalconSignKeyManager::FalconSignKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void FalconSignKeyManager()
  - 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: crypto::tink::FalconSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::FalconSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::FalconPrivateKey
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: crypto::tink::FalconSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::FalconPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::FalconPublicKey>
      GetPublicKey(const google::crypto::tink::FalconPrivateKey& private_key)\n      const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:52,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:52,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:53,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:53,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:55,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:55,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:56,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:58,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - SphincsPublicKey
    constantsTouched: []
    func_position:
      end: 62
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 62
    functionName: "SphincsVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      SphincsPublicKey& public_key) const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - params
    - key_value
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::subtle::SphincsVerify::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> SphincsVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const SphincsPublicKey& public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:65,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:65,1
    - Dst: crypto::tink::SphincsVerifyKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:65,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:66,1
    - Dst: crypto::tink::subtle::ValidatePublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:70,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:70,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:71,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SphincsPublicKey
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: crypto::tink::SphincsVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - crypto::tink::subtle::ValidatePublicKeySize
    - ValidateVersion
    - key_value
    - crypto::tink::SphincsVerifyKeyManager::get_version
    - version
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status SphincsVerifyKeyManager::ValidateKey(const SphincsPublicKey&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:81,1
    - Dst: hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:81,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:82,1
    - Dst: variant
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:82,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:83,1
    - Dst: sig_length_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:83,1
    - Dst: key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:84,1
    - Dst: crypto::tink::subtle::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:86,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:87,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - SphincsParams
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: crypto::tink::SphincsVerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - sig_length_type
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::subtle::ValidateParams
    - hash_type
    - crypto::tink::util::OkStatus
    - key_size
    - variant
    linkageType: ''
    returnType: Status
    signature: "Status SphincsVerifyKeyManager::ValidateParams(\n    const SphincsParams&
      params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc: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: crypto::tink::SlhDsaProtoSerializationTest::SlhDsaProtoSerializationTest
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    linkageType: ''
    returnType: void
    signature: void SlhDsaProtoSerializationTest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:89,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:89,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:90,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - ASSERT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, RegisterTwiceSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:105,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:105,1
    - Dst: SlhDsaKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:108,1
    - Dst: set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:109,1
    - Dst: set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:110,1
    - Dst: set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:111,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:114,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:117,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:123,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:123,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:124,1
    - Dst: dynamic_cast<const SlhDsaParameters*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:127,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:128,1
    - Dst: NotNull
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:129,1
    - Dst: SlhDsaParameters*::GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:129,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:130,1
    - Dst: SlhDsaParameters*::GetPrivateKeySizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:130,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:130,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:131,1
    - Dst: SlhDsaParameters*::GetSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:131,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:133,1
    - Dst: SlhDsaParameters*::GetHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:133,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_THAT
    - SlhDsaParameters*::GetPrivateKeySizeInBytes
    - HasIdRequirement
    - crypto::tink::internal::ProtoParametersSerialization::Create
    - set_hash_type
    - IsOk
    - SlhDsaKeyFormat::SerializeAsString
    - SlhDsaParameters*::GetVariant
    - dynamic_cast<const SlhDsaParameters*>
    - EXPECT_THAT
    - GetParam
    - EXPECT_EQ
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - set_sig_type
    - SlhDsaKeyFormat::mutable_params
    - Eq
    - TestCase::id_requirement::has_value
    - util::StatusOr::get
    - SlhDsaParameters*::GetSignatureType
    - SlhDsaParameters*::GetHashType
    - NotNull
    - set_key_size
    linkageType: ''
    returnType: void
    signature: "void TEST_P(SlhDsaProtoSerializationTest,\n       ParseSlhDsa128Sha2SmallSignatureParametersWorks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:139,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:139,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:144,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:146,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:146,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:149,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 151
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(SlhDsaProtoSerializationTest,\n       ParseParametersWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:154,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:154,1
    - Dst: SlhDsaKeyFormat::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:157,1
    - Dst: SlhDsaKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:158,1
    - Dst: set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:159,1
    - Dst: set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:160,1
    - Dst: set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:161,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:164,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:167,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:172,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:172,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:173,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - SlhDsaKeyFormat::SerializeAsString
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - set_sig_type
    - ASSERT_THAT
    - SlhDsaKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - SlhDsaKeyFormat::set_version
    - set_key_size
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParseParametersWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:179,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:179,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:183,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:186,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:192,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:192,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:193,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - SlhDsaKeyFormat::SerializeAsString
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - ASSERT_THAT
    - HasSubstr
    - StatusIs
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(SlhDsaProtoSerializationTest,\n       ParseParametersKeyFormatWithoutParamsFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:199,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:199,1
    - Dst: SlhDsaKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:202,1
    - Dst: set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:203,1
    - Dst: set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:204,1
    - Dst: set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:205,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:208,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:210,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:211,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:211,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:214,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:216,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:217,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:218,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - SlhDsaKeyFormat::SerializeAsString
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - set_sig_type
    - ASSERT_THAT
    - SlhDsaKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - set_key_size
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: "void TEST_F(SlhDsaProtoSerializationTest,\n       ParseParametersWithUnkownOutputPrefixFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:223,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:223,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:223,1
    - Dst: SlhDsaKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:226,1
    - Dst: set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:227,1
    - Dst: set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:228,1
    - Dst: set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:229,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:232,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:235,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:240,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:241,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:242,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - SlhDsaKeyFormat::SerializeAsString
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - set_sig_type
    - ASSERT_THAT
    - SlhDsaKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - set_key_size
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParseParametersWithUnkownSigTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:248,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:248,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:248,1
    - Dst: SlhDsaKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:251,1
    - Dst: set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:252,1
    - Dst: set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:253,1
    - Dst: set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:254,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:257,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:260,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:260,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:263,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:265,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:266,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:267,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 269
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - set_hash_type
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - SlhDsaKeyFormat::SerializeAsString
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - set_sig_type
    - ASSERT_THAT
    - SlhDsaKeyFormat::mutable_params
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    - set_key_size
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParseParametersWithUnkownHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:273,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:274,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:274,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:274,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:276,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:279,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:279,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:282,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:285,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:286,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:286,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:286,1
    - Dst: dynamic_cast<const internal::ProtoParametersSerialization*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:289,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:290,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:291,1
    - Dst: NotNull
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:291,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:292,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:292,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:293,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:294,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:294,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:295,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:298,1
    - Dst: SlhDsaKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:299,1
    - Dst: internal::ProtoParametersSerialization*::GetKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:299,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:300,1
    - Dst: ASSERT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:301,1
    - Dst: SlhDsaKeyFormat::has_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:301,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:302,1
    - Dst: SlhDsaKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:302,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:302,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:303,1
    - Dst: SlhDsaKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:303,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:304,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:305,1
    - Dst: SlhDsaKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:305,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 306
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - SlhDsaKeyFormat::ParseFromString
    - util::StatusOr::get
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - dynamic_cast<const internal::ProtoParametersSerialization*>
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - SlhDsaKeyFormat::params
    - ASSERT_THAT
    - EXPECT_THAT
    - ObjectIdentifier
    - NotNull
    - crypto::tink::SlhDsaParameters::Create
    - ASSERT_TRUE
    - IsTrue
    - GetParam
    - internal::ProtoParametersSerialization*::GetKeyTemplate
    - Eq
    - SlhDsaKeyFormat::has_params
    linkageType: ''
    returnType: void
    signature: "void TEST_P(SlhDsaProtoSerializationTest,\n       SerializeSlhDsa128Sha2SmallSignatureParametersWorks)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:309,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:310,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:310,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:310,1
    - Dst: SlhDsaParams::set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:313,1
    - Dst: SlhDsaParams::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:314,1
    - Dst: SlhDsaParams::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:315,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:317,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:319,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:320,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:321,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:322,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:323,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:323,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:326,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:329,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:329,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:332,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:334,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:334,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:335,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:335,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:335,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:336,1
    - Dst: GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:336,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:337,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:340,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:343,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:343,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:346,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:347,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:348,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:348,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:350,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 351
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - ASSERT_THAT
    - SlhDsaParams::set_key_size
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - SlhDsaParams::set_hash_type
    - EXPECT_THAT
    - GetIdRequirement
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - google::crypto::tink::SlhDsaPublicKey::SerializeAsString
    - GetParameters
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - Eq
    - TestCase::id_requirement::has_value
    - crypto::tink::GetPartialKeyAccess
    - SlhDsaParams::set_sig_type
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaProtoSerializationTest, ParsePublicKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:355,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:355,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:355,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:358,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:358,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:361,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:365,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:365,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:368,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:369,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:370,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:370,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:371,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - RestrictedData
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: "void TEST_F(SlhDsaProtoSerializationTest,\n       ParsePublicKeyWithInvalidSerializationFails)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:376,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:376,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:376,1
    - Dst: SlhDsaParams::set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:379,1
    - Dst: SlhDsaParams::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:380,1
    - Dst: SlhDsaParams::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:381,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:383,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:385,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:386,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:387,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:388,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:389,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:389,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:392,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:396,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:396,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:399,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:401,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:401,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:402,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 404
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - ASSERT_THAT
    - SlhDsaParams::set_key_size
    - IsOk
    - SlhDsaParams::set_hash_type
    - EXPECT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - google::crypto::tink::SlhDsaPublicKey::SerializeAsString
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - StatusIs
    - util::StatusOr::status
    - SlhDsaParams::set_sig_type
    - HasSubstr
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParsePublicKeyWithInvalidVersionFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:407,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:408,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:408,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:408,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:410,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:413,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:413,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:415,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:417,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:418,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:419,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:419,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:422,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:425,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:425,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:426,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:426,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:426,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:429,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:430,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:431,1
    - Dst: NotNull
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:431,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:432,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:432,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:432,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:433,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:433,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:434,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:435,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:435,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:436,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:437,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:437,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:438,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:441,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:441,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:442,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:443,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:444,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:445,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:445,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:445,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:446,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:446,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:446,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:447,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::has_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:447,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:447,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:448,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:448,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:448,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:449,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:449,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:449,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:450,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:450,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 452
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::SlhDsaPublicKey::params
    - google::crypto::tink::SlhDsaPublicKey::key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::SlhDsaPublicKey::version
    - ASSERT_THAT
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - internal::ProtoKeySerialization*::TypeUrl
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - crypto::tink::SlhDsaParameters::Create
    - IsTrue
    - crypto::tink::subtle::Random::GetRandomBytes
    - GetParam
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::get
    - google::crypto::tink::SlhDsaPublicKey::ParseFromString
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - google::crypto::tink::SlhDsaPublicKey::has_params
    - internal::ProtoKeySerialization*::KeyMaterialType
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaProtoSerializationTest, SerializePublicKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:455,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:456,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:456,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:456,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:459,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:461,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:463,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:463,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:463,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:464,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:464,1
    - Dst: SlhDsaParams::set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:467,1
    - Dst: SlhDsaParams::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:468,1
    - Dst: SlhDsaParams::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:469,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:472,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:473,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:474,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:477,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:478,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:479,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:481,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:482,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:482,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:485,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:488,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:488,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:491,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:492,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:493,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:493,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:495,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:495,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:495,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:496,1
    - Dst: GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:496,1
    - Dst: TestCase::id_requirement::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:497,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:500,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:503,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:503,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:506,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:507,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:508,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:508,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:511,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:513,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:513,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:514,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:515,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:515,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:517,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 518
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::SlhDsaPrivateKey::set_version
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - SlhDsaParams::set_key_size
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - SlhDsaParams::set_hash_type
    - EXPECT_THAT
    - GetIdRequirement
    - crypto::tink::SlhDsaParameters::Create
    - GetParam
    - crypto::tink::SlhDsaPrivateKey::Create
    - GetParameters
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - google::crypto::tink::SlhDsaPrivateKey::set_key_value
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - Eq
    - google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
    - std::string::data
    - TestCase::id_requirement::has_value
    - crypto::tink::GetPartialKeyAccess
    - SlhDsaParams::set_sig_type
    - reinterpret_cast<uint8_t*>
    - google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaProtoSerializationTest, ParsePrivateKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:521,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:521,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:521,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:524,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:524,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:527,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:531,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:531,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:534,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:535,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:536,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:536,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:537,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - crypto::tink::InsecureSecretKeyAccess::Get
    - RestrictedData
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - StatusIs
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParsePrivateKeyWithInvalidSerialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:542,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:542,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:542,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:545,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:547,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:549,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:549,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:549,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:550,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:550,1
    - Dst: SlhDsaParams::set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:553,1
    - Dst: SlhDsaParams::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:554,1
    - Dst: SlhDsaParams::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:555,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:558,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:559,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:560,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:563,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:564,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:565,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:567,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:568,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:568,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:571,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:575,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:575,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:578,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:579,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:580,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:580,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:581,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 583
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::SlhDsaPrivateKey::set_version
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - SlhDsaParams::set_key_size
    - IsOk
    - SlhDsaParams::set_hash_type
    - EXPECT_THAT
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - google::crypto::tink::SlhDsaPrivateKey::set_key_value
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - StatusIs
    - google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
    - std::string::data
    - util::StatusOr::status
    - SlhDsaParams::set_sig_type
    - HasSubstr
    - reinterpret_cast<uint8_t*>
    - google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParsePrivateKeyWithInvalidVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:586,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:586,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:586,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:589,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:591,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:593,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:593,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:593,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:594,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:594,1
    - Dst: SlhDsaParams::set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:597,1
    - Dst: SlhDsaParams::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:598,1
    - Dst: SlhDsaParams::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:599,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:602,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:603,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:604,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:607,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:608,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:609,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:611,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:612,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:612,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:615,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:619,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:619,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:622,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:624,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:624,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 625
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - crypto::tink::internal::ProtoKeySerialization::Create
    - google::crypto::tink::SlhDsaPrivateKey::set_version
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - SlhDsaParams::set_key_size
    - IsOk
    - SlhDsaParams::set_hash_type
    - EXPECT_THAT
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - google::crypto::tink::SlhDsaPrivateKey::set_key_value
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - StatusIs
    - google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
    - std::string::data
    - util::StatusOr::status
    - SlhDsaParams::set_sig_type
    - reinterpret_cast<uint8_t*>
    - google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, ParsePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:628,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:629,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:629,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:629,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:632,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:634,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:636,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:636,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:636,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:637,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:637,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:639,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:642,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:642,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:645,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:646,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:647,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:647,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:649,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:651,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:651,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:652,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:653,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:653,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:656,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:658,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:659,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:659,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:660,1
    - Dst: ObjectIdentifier
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:660,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:660,1
    - Dst: dynamic_cast<const internal::ProtoKeySerialization*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:663,1
    - Dst: util::StatusOr::get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:664,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:665,1
    - Dst: NotNull
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:665,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:666,1
    - Dst: internal::ProtoKeySerialization*::TypeUrl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:666,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:666,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:667,1
    - Dst: internal::ProtoKeySerialization*::KeyMaterialType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:667,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:668,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:669,1
    - Dst: internal::ProtoKeySerialization*::GetOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:669,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:670,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:671,1
    - Dst: internal::ProtoKeySerialization*::IdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:671,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:672,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:675,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:675,1
    - Dst: internal::ProtoKeySerialization*::SerializedKeyProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:676,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:677,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:678,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:679,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:679,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:679,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:680,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:680,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:680,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:681,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::has_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:681,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:681,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:682,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:682,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:682,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:683,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:683,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:683,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:684,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:684,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:684,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:685,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:685,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:685,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:686,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:686,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:687,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:688,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:688,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 690
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::SlhDsaPrivateKey::public_key
    - std::string::resize
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - internal::ProtoKeySerialization*::TypeUrl
    - google::crypto::tink::SlhDsaPrivateKey::has_public_key
    - EXPECT_THAT
    - ObjectIdentifier
    - internal::ProtoKeySerialization*::SerializedKeyProto
    - crypto::tink::SlhDsaParameters::Create
    - IsTrue
    - GetParam
    - google::crypto::tink::SlhDsaPrivateKey::key_value
    - dynamic_cast<const internal::ProtoKeySerialization*>
    - crypto::tink::SlhDsaPrivateKey::Create
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - internal::ProtoKeySerialization*::GetOutputPrefixType
    - google::crypto::tink::SlhDsaPrivateKey::ParseFromString
    - google::crypto::tink::SlhDsaPrivateKey::version
    - Eq
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - util::StatusOr::get
    - internal::ProtoKeySerialization*::IdRequirement
    - NotNull
    - internal::ProtoKeySerialization*::KeyMaterialType
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaProtoSerializationTest, SerializePrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:693,1
    - Dst: crypto::tink::RegisterSlhDsaProtoSerialization
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:693,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:693,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:696,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:698,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:700,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:700,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:700,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:701,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:701,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:703,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:707,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:707,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:710,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:711,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:712,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:712,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:714,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:716,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:716,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:717,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:718,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:718,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:721,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:724,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:724,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:725,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 727
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 727
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - crypto::tink::SlhDsaPrivateKey::Create
    - std::string::resize
    - util::StatusOr::status
    - internal::MutableSerializationRegistry::GlobalInstance
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - crypto::tink::RegisterSlhDsaProtoSerialization
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - SPX_generate_key
    - crypto::tink::SlhDsaParameters::Create
    - reinterpret_cast<uint8_t*>
    linkageType: ''
    returnType: void
    signature: void TEST_F(SlhDsaProtoSerializationTest, SerializePrivateKeyNoSecretKeyAccess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:82,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:83,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:84,1
    - Dst: SphincsPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:84,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:85,1
    - Dst: SphincsKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:88,1
    - Dst: SphincsParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:89,1
    - Dst: SphincsParams*::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:90,1
    - Dst: SphincsParams*::set_variant
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:91,1
    - Dst: SphincsParams*::set_sig_length_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:92,1
    - Dst: SphincsKeyFormat::SerializeToString
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:93,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - private_key_size
    - hash_type
    - variant
    - type
    argTypes:
    - int32_t
    - SphincsHashType
    - SphincsVariant
    - SphincsSignatureType
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: crypto::tink::NewSphincsKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - SphincsParams*::set_variant
    - KeyTemplate*::mutable_value
    - SphincsKeyFormat::mutable_params
    - KeyTemplate*::set_type_url
    - absl::StrCat
    - SphincsParams*::set_key_size
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - SphincsParams*::set_hash_type
    - SphincsKeyFormat::SerializeToString
    - SphincsParams*::set_sig_length_type
    - SphincsPrivateKey
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewSphincsKeyTemplate(int32_t private_key_size,\n                                   SphincsHashType
      hash_type,\n                                   SphincsVariant variant,\n                                   SphincsSignatureType
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: crypto::tink::Sphincs_Haraka_128_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_128_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: crypto::tink::Sphincs_Haraka_128_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_128_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: crypto::tink::Sphincs_Haraka_128_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_128_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: crypto::tink::Sphincs_Haraka_128_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_128_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: crypto::tink::Sphincs_Haraka_192_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_192_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: crypto::tink::Sphincs_Haraka_192_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_192_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: crypto::tink::Sphincs_Haraka_192_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_192_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: crypto::tink::Sphincs_Haraka_192_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_192_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: crypto::tink::Sphincs_Haraka_256_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_256_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: crypto::tink::Sphincs_Haraka_256_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_256_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: crypto::tink::Sphincs_Haraka_256_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_256_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: crypto::tink::Sphincs_Haraka_256_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Haraka_256_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: crypto::tink::Sphincs_Sha256_128_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_128_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: crypto::tink::Sphincs_Sha256_128_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_128_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: crypto::tink::Sphincs_Sha256_128_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_128_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: crypto::tink::Sphincs_Sha256_128_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_128_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: crypto::tink::Sphincs_Sha256_192_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_192_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: crypto::tink::Sphincs_Sha256_192_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_192_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: crypto::tink::Sphincs_Sha256_192_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_192_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: crypto::tink::Sphincs_Sha256_192_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_192_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: crypto::tink::Sphincs_Sha256_256_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_256_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: crypto::tink::Sphincs_Sha256_256_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_256_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: crypto::tink::Sphincs_Sha256_256_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_256_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: crypto::tink::Sphincs_Sha256_256_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Sha256_256_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: crypto::tink::Sphincs_Shake256_128_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_128_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: crypto::tink::Sphincs_Shake256_128_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_128_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: crypto::tink::Sphincs_Shake256_128_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_128_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: crypto::tink::Sphincs_Shake256_128_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_128_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: crypto::tink::Sphincs_Shake256_192_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_192_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 371
    functionName: crypto::tink::Sphincs_Shake256_192_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_192_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: crypto::tink::Sphincs_Shake256_192_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_192_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: crypto::tink::Sphincs_Shake256_192_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_192_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: crypto::tink::Sphincs_Shake256_256_F_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_256_F_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: crypto::tink::Sphincs_Shake256_256_F_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_256_F_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: crypto::tink::Sphincs_Shake256_256_S_Robust_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_256_S_Robust_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewSphincsKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: crypto::tink::Sphincs_Shake256_256_S_Simple_KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewSphincsKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: 'google::crypto::tink::KeyTemplate &

      Sphincs_Shake256_256_S_Simple_KeyTemplate()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: crypto::tink::PcqSignatureConfigTest::SetUp
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:48,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:48,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:49,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:52,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:52,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:53,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:56,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:56,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:57,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:60,1
    - Dst: crypto::tink::PqSignatureConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:60,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:60,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:61,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:61,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:62,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:64,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:65,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:65,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:66,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - Registry::get_key_manager<PublicKeyVerify>
    - DilithiumSignKeyManager
    - IsOk
    - crypto::tink::PqSignatureConfigRegister
    - crypto::tink::internal::IsFipsModeEnabled
    - Registry::get_key_manager<PublicKeySign>
    - EXPECT_THAT
    - GTEST_SKIP
    - DilithiumVerifyKeyManager
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(PcqSignatureConfigTest, CheckDilithium)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:72,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:72,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:76,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:76,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:77,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:80,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:80,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:81,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:83,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:84,1
    - Dst: crypto::tink::PqSignatureConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:84,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:85,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:85,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:89,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:89,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - Registry::get_key_manager<PublicKeyVerify>
    - IsOk
    - SphincsSignKeyManager
    - SphincsVerifyKeyManager
    - crypto::tink::PqSignatureConfigRegister
    - crypto::tink::internal::IsFipsModeEnabled
    - Registry::get_key_manager<PublicKeySign>
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(PcqSignatureConfigTest, CheckSphincs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:96,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:96,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:97,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:100,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:100,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:101,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:104,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:104,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:105,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:108,1
    - Dst: crypto::tink::PqSignatureConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:109,1
    - Dst: Registry::get_key_manager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:109,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:112,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:113,1
    - Dst: Registry::get_key_manager<PublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:113,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc
    functionUses: 0
    functionsReached:
    - Registry::get_key_manager<PublicKeyVerify>
    - IsOk
    - FalconSignKeyManager
    - crypto::tink::PqSignatureConfigRegister
    - crypto::tink::internal::IsFipsModeEnabled
    - Registry::get_key_manager<PublicKeySign>
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - crypto::tink::internal::IsFipsEnabledInSsl
    - FalconVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST_F(PcqSignatureConfigTest, CheckFalcon)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SphincsKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:117,1
    - Dst: SphincsParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:118,1
    - Dst: SphincsParams*::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:119,1
    - Dst: SphincsParams*::set_variant
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:120,1
    - Dst: SphincsParams*::set_sig_length_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - private_key_size
    - hash_type
    - variant
    - type
    argTypes:
    - int32_t
    - SphincsHashType
    - SphincsVariant
    - SphincsSignatureType
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 30
    functionsReached:
    - SphincsParams*::set_variant
    - SphincsParams*::set_key_size
    - SphincsKeyFormat::mutable_params
    - SphincsParams*::set_hash_type
    - SphincsParams*::set_sig_length_type
    linkageType: ''
    returnType: StatusOr<SphincsKeyFormat>
    signature: "StatusOr<SphincsKeyFormat> CreateValidKeyFormat(int32_t private_key_size,\n
      \                                               SphincsHashType hash_type,\n
      \                                               SphincsVariant variant,\n                                                SphincsSignatureType
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:127,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:127,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:127,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:128,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:128,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:130,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:130,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - SphincsSignKeyManager
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:135,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:142,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:142,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - SphincsSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, ValidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:152,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:152,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - SphincsSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsSignKeyManagerTest, InvalidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:157,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:160,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:162,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:162,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:165,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:166,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:168,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:169,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:169,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:170,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:170,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:170,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:171,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:171,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::key_value
    - IsOk
    - SphincsSignKeyManager
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - GetParam
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:175,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:178,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:180,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:183,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:184,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:184,1
    - Dst: StatusOr::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:187,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:187,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::set_version
    - IsOk
    - Not
    - SphincsSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, PrivateKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:195,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:198,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:199,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - SphincsSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsSignKeyManagerTest, CreateKeyInvalidParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:203,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:208,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:214,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:215,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:215,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:216,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:218,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::key_value
    - absl::flat_hash_set::insert
    - IsOk
    - SphincsSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, CreateKeyAlwaysNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:222,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:227,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:227,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:231,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:235,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:237,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:237,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:238,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:238,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:239,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:239,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:240,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - IsOk
    - SphincsSignKeyManager
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - GetParam
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:244,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:247,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:249,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:249,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:252,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:253,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:256,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:257,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:257,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:260,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:261,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:263,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:267,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:271,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:274,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:275,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:275,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:276,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:276,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 277
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - util::StatusOr::public_key
    - SphincsSignKeyManager
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, CreateValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:280,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:283,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:285,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:285,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:288,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:289,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:289,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:292,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:293,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:293,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:298,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:299,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:301,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:307,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:308,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:308,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:311,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:312,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:312,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:313,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:313,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:313,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 314
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - Not
    - SphincsSignKeyManager
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignKeyManagerTest, CreateBadPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:51,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:53,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:56,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:56,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:58,1
    - Dst: util::StatusOr::GetHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:58,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:58,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:59,1
    - Dst: util::StatusOr::GetPrivateKeySizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:59,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:59,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:60,1
    - Dst: util::StatusOr::GetSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:60,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:61,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:62,1
    - Dst: util::StatusOr::GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:62,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:62,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:63,1
    - Dst: util::StatusOr::HasIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:63,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetPrivateKeySizeInBytes
    - util::StatusOr::GetVariant
    - IsOk
    - util::StatusOr::GetHashType
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - GetParam
    - Eq
    - util::StatusOr::GetSignatureType
    - util::StatusOr::HasIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaParametersTest, CreateSlhDsa128Sha2SmallSignatureWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:67,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:68,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithInvalidVariantFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:78,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:78,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithInvalidHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:89,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithUnsupportedHashTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:99,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:99,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithInvalidSignatureTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:110,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:111,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithUnsupportedSignatureTypeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:120,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:121,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithInvalidKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:130,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:131,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - StatusIs
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CreateWithUnsupportedKeySizeFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:145,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:149,1
    - Dst: SlhDsaParameters::GetHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:149,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:149,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:150,1
    - Dst: SlhDsaParameters::GetPrivateKeySizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:150,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:151,1
    - Dst: SlhDsaParameters::GetSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:151,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:153,1
    - Dst: SlhDsaParameters::GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:153,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:153,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:154,1
    - Dst: SlhDsaParameters::HasIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:154,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - SlhDsaParameters::GetHashType
    - IsOk
    - SlhDsaParameters::GetVariant
    - SlhDsaParameters::HasIdRequirement
    - ASSERT_THAT
    - EXPECT_THAT
    - SlhDsaParameters::GetPrivateKeySizeInBytes
    - crypto::tink::SlhDsaParameters::Create
    - IsTrue
    - Eq
    - SlhDsaParameters::GetSignatureType
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CopyConstructor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:163,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:166,1
    - Dst: SlhDsaParameters::GetHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:166,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:166,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:167,1
    - Dst: SlhDsaParameters::GetPrivateKeySizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:167,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:167,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:168,1
    - Dst: SlhDsaParameters::GetSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:168,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:169,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:170,1
    - Dst: SlhDsaParameters::GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:170,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:170,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:171,1
    - Dst: SlhDsaParameters::HasIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:171,1
    - Dst: IsTrue
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - SlhDsaParameters::GetHashType
    - IsOk
    - SlhDsaParameters::GetVariant
    - SlhDsaParameters::HasIdRequirement
    - ASSERT_THAT
    - EXPECT_THAT
    - SlhDsaParameters::GetPrivateKeySizeInBytes
    - crypto::tink::SlhDsaParameters::Create
    - IsTrue
    - Eq
    - SlhDsaParameters::GetSignatureType
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, CopyAssignment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:175,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:180,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:185,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:187,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:188,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - IsOk
    - ASSERT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaParametersTest, ParametersEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:194,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:200,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - EXPECT_FALSE
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaParametersTest, DifferentVariantNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::SphincsSignKeyManager::SphincsSignKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void SphincsSignKeyManager()
  - 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: crypto::tink::SphincsSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::SphincsSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::SphincsPrivateKey
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: crypto::tink::SphincsSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::SphincsPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::SphincsPublicKey>
      GetPublicKey(const google::crypto::tink::SphincsPrivateKey& private_key)\n      const
      override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:80,1
    - Dst: DilithiumParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:81,1
    - Dst: DilithiumParams*::set_seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:82,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - private_key_size
    - seed_expansion
    argTypes:
    - int32_t
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 9
    functionsReached:
    - DilithiumParams*::set_seed_expansion
    - DilithiumParams*::set_key_size
    - DilithiumSignKeyManager
    - DilithiumKeyFormat::mutable_params
    linkageType: ''
    returnType: StatusOr<DilithiumPrivateKey>
    signature: "StatusOr<DilithiumPrivateKey> CreateValidPrivateKey(\n    int32_t
      private_key_size, DilithiumSeedExpansion seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:91,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:93,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:93,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - private_key_size
    - seed_expansion
    argTypes:
    - int32_t
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 27
    functionsReached:
    - StatusOr::ok
    - DilithiumSignKeyManager
    - StatusOr::status
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: StatusOr<DilithiumPublicKey>
    signature: "StatusOr<DilithiumPublicKey> CreateValidPublicKey(\n    int32_t private_key_size,
      DilithiumSeedExpansion seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:98,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:98,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:98,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:99,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:99,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:101,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:101,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:106,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:106,1
    - Dst: DilithiumPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:106,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - DilithiumPublicKey
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:111,1
    - Dst: DilithiumKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:114,1
    - Dst: DilithiumParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:115,1
    - Dst: DilithiumParams*::set_seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:118,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:118,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - DilithiumParams*::set_seed_expansion
    - DilithiumParams*::set_key_size
    - Not
    - IsOk
    - DilithiumKeyFormat::mutable_params
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumVerifyKeyManagerTest, InvalidParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:122,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:126,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:126,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:128,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:132,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:134,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:136,1
    - Dst: StatusOr::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:138,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:139,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:139,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::set_version
    - IsOk
    - Not
    - ASSERT_THAT
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumVerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:144,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:148,1
    - Dst: StatusOr::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:152,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:152,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:153,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:153,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - std::string
    - IsOk
    - Not
    - ASSERT_THAT
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    - StatusOr::set_key_value
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumVerifyKeyManagerTest, PublicKeyWrongKeyLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:159,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:161,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:163,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:167,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:170,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:171,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:171,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:173,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:177,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:181,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:186,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:186,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 187
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - DilithiumSignKeyManager
    - IsOk
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumVerifyKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:190,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:194,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:194,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:199,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:202,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:205,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:206,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:206,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:208,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:212,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:216,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:219,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:220,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:220,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:221,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:221,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 222
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - DilithiumSignKeyManager
    - IsOk
    - Not
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - DilithiumVerifyKeyManager
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumVerifyKeyManagerTest, CreateDifferentPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:39,1
    - Dst: absl::make_unique<PublicKeySignWrapper>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:40,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:41,1
    - Dst: crypto::tink::Registry::RegisterPrimitiveWrapper
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:42,1
    - Dst: absl::make_unique<PublicKeyVerifyWrapper>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:43,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:44,1
    - Dst: crypto::tink::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:46,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:47,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:51,1
    - Dst: absl::make_unique<DilithiumSignKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:52,1
    - Dst: absl::make_unique<DilithiumVerifyKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:53,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:56,1
    - Dst: absl::make_unique<SphincsSignKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:57,1
    - Dst: absl::make_unique<SphincsVerifyKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:58,1
    - Dst: crypto::tink::Registry::RegisterAsymmetricKeyManagers
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:61,1
    - Dst: absl::make_unique<FalconSignKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:62,1
    - Dst: absl::make_unique<FalconVerifyKeyManager>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 65
    functionName: crypto::tink::PqSignatureConfigRegister
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc
    functionUses: 3
    functionsReached:
    - absl::make_unique<PublicKeyVerifyWrapper>
    - absl::make_unique<SphincsVerifyKeyManager>
    - auto::ok
    - absl::make_unique<DilithiumSignKeyManager>
    - absl::make_unique<PublicKeySignWrapper>
    - absl::make_unique<SphincsSignKeyManager>
    - absl::make_unique<FalconSignKeyManager>
    - crypto::tink::Registry::RegisterPrimitiveWrapper
    - crypto::tink::Registry::RegisterAsymmetricKeyManagers
    - absl::make_unique<FalconVerifyKeyManager>
    - crypto::tink::IsFipsModeEnabled
    - absl::make_unique<DilithiumVerifyKeyManager>
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: util::Status
    signature: util::Status PqSignatureConfigRegister()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<KeyTemplate>
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:39,1
    - Dst: auto::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:40,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:41,1
    - Dst: FalconPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:41,1
    - Dst: auto::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:42,1
    - Dst: FalconKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:45,1
    - Dst: FalconKeyFormat::SerializeToString
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:46,1
    - Dst: auto::mutable_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: crypto::tink::NewFalconKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc
    functionUses: 0
    functionsReached:
    - FalconKeyFormat::set_key_size
    - absl::make_unique<KeyTemplate>
    - auto::set_output_prefix_type
    - FalconPrivateKey
    - auto::mutable_value
    - FalconKeyFormat::SerializeToString
    - absl::StrCat
    - auto::set_type_url
    linkageType: ''
    returnType: std::unique_ptr<KeyTemplate>
    signature: std::unique_ptr<KeyTemplate> NewFalconKeyTemplate(int32_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewFalconKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:55,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: crypto::tink::Falcon512KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewFalconKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Falcon512KeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewFalconKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: crypto::tink::Falcon1024KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewFalconKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Falcon1024KeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPublicKey
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlhDsaPublicKey(const SlhDsaPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPublicKey
    constantsTouched: []
    func_position:
      end: 40
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 40
    functionName: '& operator=(const SlhDsaPublicKey& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaPublicKey
    signature: SlhDsaPublicKey & operator=(const SlhDsaPublicKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPublicKey
    constantsTouched: []
    func_position:
      end: 41
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 41
    functionName: crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlhDsaPublicKey(SlhDsaPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPublicKey
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: '& operator=(SlhDsaPublicKey&& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaPublicKey
    signature: SlhDsaPublicKey & operator=(SlhDsaPublicKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: crypto::tink::SlhDsaPublicKey::GetPublicKeyBytes
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetPublicKeyBytes(PartialKeyAccessToken token) 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: crypto::tink::SlhDsaPublicKey::GetOutputPrefix
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view GetOutputPrefix() 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: '& GetParameters() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaParameters
    signature: SlhDsaParameters & GetParameters() const override
  - 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: crypto::tink::SlhDsaPublicKey::GetIdRequirement
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: absl::optional<int>
    signature: absl::optional<int> GetIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - output_prefix
    argTypes:
    - SlhDsaParameters
    - absl::string_view
    - absl::optional<int>
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlhDsaPublicKey(const SlhDsaParameters& parameters,\n                           absl::string_view
      public_key_bytes,\n                           absl::optional<int> id_requirement,\n
      \                          absl::string_view output_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:72,1
    - Dst: type_url
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:73,1
    - Dst: output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc
    functionUses: 0
    functionsReached:
    - output_prefix_type
    - GetParam
    - type_url
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumKeyTemplateTest, CheckDilithiumInitialization)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:77,1
    - Dst: DilithiumKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:80,1
    - Dst: DilithiumParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:81,1
    - Dst: DilithiumParams*::set_seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:84,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:84,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:85,1
    - Dst: DilithiumKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:85,1
    - Dst: key_template::value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - DilithiumKeyFormat::ParseFromString
    - DilithiumParams*::set_seed_expansion
    - DilithiumParams*::set_key_size
    - DilithiumSignKeyManager
    - IsOk
    - key_template::value
    - DilithiumKeyFormat::mutable_params
    - EXPECT_THAT
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumKeyTemplateTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:89,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumKeyTemplateTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:99,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:102,1
    - Dst: DilithiumKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:104,1
    - Dst: DilithiumParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:105,1
    - Dst: DilithiumParams*::set_seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:106,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:109,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc
    functionUses: 0
    functionsReached:
    - DilithiumParams*::set_seed_expansion
    - DilithiumParams*::set_key_size
    - IsOk
    - DilithiumKeyFormat::mutable_params
    - EXPECT_THAT
    - internal::MakePrivateKeyManager<PublicKeySign>
    - std::unique_ptr::get_key_factory
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumKeyTemplateTest, KeyManagerCompatibility)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaParameters
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: crypto::tink::SlhDsaParameters::SlhDsaParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlhDsaParameters(const SlhDsaParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaParameters
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '& operator=(const SlhDsaParameters& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaParameters
    signature: SlhDsaParameters & operator=(const SlhDsaParameters& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaParameters
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: crypto::tink::SlhDsaParameters::SlhDsaParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlhDsaParameters(SlhDsaParameters&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaParameters
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: '& operator=(SlhDsaParameters&& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaParameters
    signature: SlhDsaParameters & operator=(SlhDsaParameters&& other)
  - 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: crypto::tink::SlhDsaParameters::GetHashType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: HashType
    signature: HashType GetHashType() 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: crypto::tink::SlhDsaParameters::GetPrivateKeySizeInBytes
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPrivateKeySizeInBytes() 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: crypto::tink::SlhDsaParameters::GetSignatureType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SignatureType
    signature: SignatureType GetSignatureType() 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: crypto::tink::SlhDsaParameters::GetVariant
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Variant
    signature: Variant GetVariant() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: crypto::tink::SlhDsaParameters::HasIdRequirement
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool HasIdRequirement() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - hash_type
    - private_key_size_in_bytes
    - signature_type
    - variant
    argTypes:
    - HashType
    - int
    - SignatureType
    - Variant
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: crypto::tink::SlhDsaParameters::SlhDsaParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlhDsaParameters(HashType hash_type, int private_key_size_in_bytes,\n
      \                           SignatureType signature_type, Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:58,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:59,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:60,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:60,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:62,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:62,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - DilithiumPublicKey
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: "DilithiumVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      DilithiumPublicKey& public_key) const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - util::StatusOr::status
    - key_value
    - params
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - util::StatusOr::ok
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> DilithiumVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const DilithiumPublicKey& public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:69,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:69,1
    - Dst: crypto::tink::DilithiumVerifyKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:69,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:70,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:72,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:73,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:74,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:75,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DilithiumPublicKey
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: crypto::tink::DilithiumVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ValidateVersion
    - key_value
    - version
    - crypto::tink::DilithiumVerifyKeyManager::get_version
    - Status
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status DilithiumVerifyKeyManager::ValidateKey(\n    const DilithiumPublicKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:83,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:89,1
    - Dst: key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:94,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:101,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - ' params'
    argTypes:
    - DilithiumParams
    constantsTouched: []
    func_position:
      end: 106
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 106
    functionName: crypto::tink::DilithiumVerifyKeyManager::ValidateParams
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    - crypto::tink::util::OkStatus
    - key_size
    - seed_expansion
    linkageType: ''
    returnType: Status
    signature: "Status DilithiumVerifyKeyManager::ValidateParams(\n    const DilithiumParams&
      params) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeySignFactory>
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: crypto::tink::DilithiumSignKeyManager::DilithiumSignKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeySignFactory>
    linkageType: ''
    returnType: void
    signature: void DilithiumSignKeyManager()
  - 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: crypto::tink::DilithiumSignKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::DilithiumSignKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     const override"
  - 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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - google::crypto::tink::DilithiumPrivateKey
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: crypto::tink::DilithiumSignKeyManager::GetPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h
    functionUses: 0
    functionsReached:
    - public_key
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<google::crypto::tink::DilithiumPublicKey>
    signature: "crypto::tink::util::StatusOr<google::crypto::tink::DilithiumPublicKey>
      GetPublicKey(const google::crypto::tink::DilithiumPrivateKey& private_key)\n
      \     const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:39,1
    - Dst: std::string
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:41,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:44,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:47,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:47,1
    - Dst: crypto::tink::subtle::BigEndian32
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:48,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:50,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:52,1
    - Dst: GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ' parameters'
    - id_requirement
    argTypes:
    - SlhDsaParameters
    - absl::optional<int>
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: crypto::tink::ComputeOutputPrefix
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc
    functionUses: 0
    functionsReached:
    - std::string
    - crypto::tink::internal::ExtractStatus
    - GetVariant
    - absl::StrCat
    - crypto::tink::subtle::BigEndian32
    - absl::optional<int>::has_value
    - absl::HexStringToBytes
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> ComputeOutputPrefix(\n    const SlhDsaParameters&
      parameters, absl::optional<int> id_requirement)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HasIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:61,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:61,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:62,1
    - Dst: HasIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:67,1
    - Dst: absl::optional<int>::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:67,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:68,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:74,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:75,1
    - Dst: ComputeOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:80,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:81,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:82,1
    - Dst: crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - ' parameters'
    - public_key_bytes
    - id_requirement
    - token
    argTypes:
    - SlhDsaParameters
    - absl::string_view
    - absl::optional<int>
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: crypto::tink::SlhDsaPublicKey::Create
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc
    functionUses: 5
    functionsReached:
    - absl::string_view::size
    - util::StatusOr::status
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
    - util::StatusOr::ok
    - absl::optional<int>::has_value
    - ComputeOutputPrefix
    - HasIdRequirement
    linkageType: ''
    returnType: util::StatusOr<SlhDsaPublicKey>
    signature: "util::StatusOr<SlhDsaPublicKey> SlhDsaPublicKey::Create(\n    const
      SlhDsaParameters& parameters, absl::string_view public_key_bytes,\n    absl::optional<int>
      id_requirement, PartialKeyAccessToken token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const SlhDsaPublicKey*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:89,1
    - Dst: GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:93,1
    - Dst: SlhDsaPublicKey*::GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: SlhDsaPublicKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc
    functionUses: 0
    functionsReached:
    - GetParameters
    - SlhDsaPublicKey*::GetParameters
    - dynamic_cast<const SlhDsaPublicKey*>
    linkageType: ''
    returnType: bool
    signature: bool SlhDsaPublicKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - output_prefix_type
    argTypes:
    - OutputPrefixType
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: crypto::tink::ToVariant
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 29
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParameters::Variant>
    signature: "util::StatusOr<SlhDsaParameters::Variant> ToVariant(\n    OutputPrefixType
      output_prefix_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - variant
    argTypes:
    - SlhDsaParameters::Variant
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: crypto::tink::ToOutputPrefixType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 38
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<OutputPrefixType>
    signature: "util::StatusOr<OutputPrefixType> ToOutputPrefixType(\n    SlhDsaParameters::Variant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - proto_hash_type
    argTypes:
    - SlhDsaHashType
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: crypto::tink::ToHashType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 5
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParameters::HashType>
    signature: "util::StatusOr<SlhDsaParameters::HashType> ToHashType(\n    SlhDsaHashType
      proto_hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - hash_type
    argTypes:
    - SlhDsaParameters::HashType
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: crypto::tink::ToProtoHashType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 9
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<SlhDsaHashType>
    signature: "util::StatusOr<SlhDsaHashType> ToProtoHashType(\n    SlhDsaParameters::HashType
      hash_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - proto_signature_type
    argTypes:
    - SlhDsaSignatureType
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: crypto::tink::ToSignatureType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParameters::SignatureType>
    signature: "util::StatusOr<SlhDsaParameters::SignatureType> ToSignatureType(\n
      \   SlhDsaSignatureType proto_signature_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - signature_type
    argTypes:
    - SlhDsaParameters::SignatureType
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: crypto::tink::ToProtoSignatureType
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: util::StatusOr<SlhDsaSignatureType>
    signature: "util::StatusOr<SlhDsaSignatureType> ToProtoSignatureType(\n    SlhDsaParameters::SignatureType
      signature_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:156,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:157,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:158,1
    - Dst: crypto::tink::ToHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:162,1
    - Dst: hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:162,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:163,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:164,1
    - Dst: crypto::tink::ToSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:168,1
    - Dst: sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:168,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:169,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:170,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:173,1
    - Dst: key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - output_prefix_type
    - ' params'
    argTypes:
    - OutputPrefixType
    - SlhDsaParams
    constantsTouched: []
    func_position:
      end: 175
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 175
    functionName: crypto::tink::ToParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 17
    functionsReached:
    - util::StatusOr::status
    - sig_type
    - key_size
    - util::StatusOr::ok
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::ToVariant
    - crypto::tink::ToSignatureType
    - crypto::tink::ToHashType
    - hash_type
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParameters>
    signature: "util::StatusOr<SlhDsaParameters> ToParameters(\n    OutputPrefixType
      output_prefix_type, const SlhDsaParams& params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToProtoHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:181,1
    - Dst: GetHashType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:181,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:182,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:183,1
    - Dst: crypto::tink::ToProtoSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:187,1
    - Dst: GetSignatureType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:187,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:188,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:189,1
    - Dst: SlhDsaParams::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:193,1
    - Dst: GetPrivateKeySizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:193,1
    - Dst: SlhDsaParams::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:194,1
    - Dst: SlhDsaParams::set_sig_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - SlhDsaParameters
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: crypto::tink::FromParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 12
    functionsReached:
    - GetSignatureType
    - crypto::tink::ToProtoSignatureType
    - SlhDsaParams::set_key_size
    - util::StatusOr::status
    - SlhDsaParams::set_sig_type
    - crypto::tink::ToProtoHashType
    - SlhDsaParams::set_hash_type
    - util::StatusOr::ok
    - GetHashType
    - GetPrivateKeySizeInBytes
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParams>
    signature: "util::StatusOr<SlhDsaParams> FromParameters(\n    const SlhDsaParameters&
      parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:202,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:203,1
    - Dst: SlhDsaKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:208,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:209,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:210,1
    - Dst: SlhDsaKeyFormat::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:213,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:214,1
    - Dst: SlhDsaKeyFormat::has_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:218,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:219,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:223,1
    - Dst: GetKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:223,1
    - Dst: SlhDsaKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ' serialization'
    argTypes:
    - internal::ProtoParametersSerialization
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: crypto::tink::ParseParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaKeyFormat::ParseFromString
    - crypto::tink::internal::ExtractStatus
    - SlhDsaKeyFormat::params
    - crypto::tink::ToParameters
    - GetKeyTemplate
    - SlhDsaKeyFormat::version
    - SlhDsaKeyFormat::has_params
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParameters>
    signature: "util::StatusOr<SlhDsaParameters> ParseParameters(\n    const internal::ProtoParametersSerialization&
      serialization)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:230,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:231,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:236,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:237,1
    - Dst: GetSecret
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:238,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:238,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:239,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:242,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:243,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:248,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:248,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:248,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:249,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:250,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:253,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:253,1
    - Dst: IdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:254,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: crypto::tink::ParsePublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::SlhDsaPublicKey::params
    - google::crypto::tink::SlhDsaPublicKey::key_value
    - util::StatusOr::status
    - GetSecret
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::SlhDsaPublicKey::Create
    - crypto::tink::InsecureSecretKeyAccess::Get
    - google::crypto::tink::SlhDsaPublicKey::ParseFromString
    - google::crypto::tink::SlhDsaPublicKey::version
    - crypto::tink::ToParameters
    - util::StatusOr::ok
    - GetOutputPrefixType
    - SerializedKeyProto
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<SlhDsaPublicKey>
    signature: "util::StatusOr<SlhDsaPublicKey> ParsePublicKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TypeUrl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:261,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:262,1
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:265,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:266,1
    - Dst: SerializedKeyProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:270,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:271,1
    - Dst: GetSecret
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:271,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:272,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:275,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:276,1
    - Dst: crypto::tink::ToParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:280,1
    - Dst: GetOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:281,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:281,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:282,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:283,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:286,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:287,1
    - Dst: IdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:288,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:288,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:289,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:290,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:293,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:294,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:294,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ' serialization'
    - token
    argTypes:
    - internal::ProtoKeySerialization
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 296
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 296
    functionName: crypto::tink::ParsePrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - google::crypto::tink::SlhDsaPrivateKey::public_key
    - IdRequirement
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::SlhDsaPrivateKey::Create
    - util::StatusOr::status
    - GetSecret
    - google::crypto::tink::SlhDsaPrivateKey::version
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::SlhDsaPublicKey::Create
    - RestrictedData
    - crypto::tink::ToParameters
    - absl::optional<SecretKeyAccessToken>::has_value
    - util::StatusOr::ok
    - google::crypto::tink::SlhDsaPrivateKey::ParseFromString
    - GetOutputPrefixType
    - SerializedKeyProto
    - google::crypto::tink::SlhDsaPrivateKey::key_value
    - TypeUrl
    linkageType: ''
    returnType: util::StatusOr<SlhDsaPrivateKey>
    signature: "util::StatusOr<SlhDsaPrivateKey> ParsePrivateKey(\n    const internal::ProtoKeySerialization&
      serialization,\n    absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:301,1
    - Dst: GetVariant
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:301,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:302,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:303,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:306,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:307,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:308,1
    - Dst: SlhDsaKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:311,1
    - Dst: SlhDsaKeyFormat::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:312,1
    - Dst: crypto::tink::internal::ProtoParametersSerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:314,1
    - Dst: SlhDsaKeyFormat::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' parameters'
    argTypes:
    - SlhDsaParameters
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: crypto::tink::SerializeParameters
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - SlhDsaKeyFormat::SerializeAsString
    - GetVariant
    - util::StatusOr::ok
    - SlhDsaKeyFormat::mutable_params
    - SlhDsaKeyFormat::set_version
    - crypto::tink::internal::ProtoParametersSerialization::Create
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoParametersSerialization>
    signature: "util::StatusOr<internal::ProtoParametersSerialization> SerializeParameters(\n
      \   const SlhDsaParameters& parameters)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:321,1
    - Dst: GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:321,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:322,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:323,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:327,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:328,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:329,1
    - Dst: GetPublicKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:329,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:329,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:332,1
    - Dst: GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:332,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:333,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:334,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:337,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:338,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:338,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:339,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - SlhDsaPublicKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: crypto::tink::SerializePublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - GetParameters
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::ToOutputPrefixType
    - crypto::tink::internal::ProtoKeySerialization::Create
    - RestrictedData
    - google::crypto::tink::SlhDsaPublicKey::SerializeAsString
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - crypto::tink::InsecureSecretKeyAccess::Get
    - util::StatusOr::ok
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - GetIdRequirement
    - GetPublicKeyBytes
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePublicKey(\n
      \   const SlhDsaPublicKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::optional<SecretKeyAccessToken>::has_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:346,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:347,1
    - Dst: GetPrivateKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:351,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:351,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:352,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:353,1
    - Dst: crypto::tink::FromParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:357,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:357,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:358,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:359,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:363,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:364,1
    - Dst: google::crypto::tink::SlhDsaPublicKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:365,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:366,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:366,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:369,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:370,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:371,1
    - Dst: util::StatusOr::GetSecret
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:371,1
    - Dst: crypto::tink::ToOutputPrefixType
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:374,1
    - Dst: GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:374,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:375,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:376,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:380,1
    - Dst: google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:380,1
    - Dst: crypto::tink::internal::ProtoKeySerialization::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:381,1
    - Dst: GetIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ' key'
    - token
    argTypes:
    - SlhDsaPrivateKey
    - absl::optional<SecretKeyAccessToken>
    constantsTouched: []
    func_position:
      end: 384
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 384
    functionName: crypto::tink::SerializePrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::internal::ProtoKeySerialization::Create
    - crypto::tink::ToOutputPrefixType
    - google::crypto::tink::SlhDsaPrivateKey::set_version
    - google::crypto::tink::SlhDsaPublicKey::set_key_value
    - GetPublicKey
    - util::StatusOr::GetSecret
    - util::StatusOr::ok
    - GetIdRequirement
    - RestrictedData
    - google::crypto::tink::SlhDsaPrivateKey::set_key_value
    - absl::optional<SecretKeyAccessToken>::has_value
    - google::crypto::tink::SlhDsaPublicKey::mutable_params
    - crypto::tink::GetPartialKeyAccess
    - google::crypto::tink::SlhDsaPrivateKey::SerializeAsString
    - util::StatusOr::status
    - crypto::tink::FromParameters
    - crypto::tink::internal::ExtractStatus
    - GetPrivateKeyBytes
    - google::crypto::tink::SlhDsaPrivateKey::mutable_public_key
    - google::crypto::tink::SlhDsaPublicKey::set_version
    linkageType: ''
    returnType: util::StatusOr<internal::ProtoKeySerialization>
    signature: "util::StatusOr<internal::ProtoKeySerialization> SerializePrivateKey(\n
      \   const SlhDsaPrivateKey& key, absl::optional<SecretKeyAccessToken> token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SlhDsaProtoParametersParserImpl::SlhDsaProtoParametersParserImpl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: crypto::tink::SlhDsaProtoParametersParser
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaProtoParametersParserImpl::SlhDsaProtoParametersParserImpl
    linkageType: ''
    returnType: SlhDsaProtoParametersParserImpl
    signature: SlhDsaProtoParametersParserImpl & SlhDsaProtoParametersParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SlhDsaProtoParametersSerializerImpl::SlhDsaProtoParametersSerializerImpl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: crypto::tink::SlhDsaProtoParametersSerializer
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaProtoParametersSerializerImpl::SlhDsaProtoParametersSerializerImpl
    linkageType: ''
    returnType: SlhDsaProtoParametersSerializerImpl
    signature: SlhDsaProtoParametersSerializerImpl & SlhDsaProtoParametersSerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SlhDsaProtoPublicKeyParserImpl::SlhDsaProtoPublicKeyParserImpl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: crypto::tink::SlhDsaProtoPublicKeyParser
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaProtoPublicKeyParserImpl::SlhDsaProtoPublicKeyParserImpl
    linkageType: ''
    returnType: SlhDsaProtoPublicKeyParserImpl
    signature: SlhDsaProtoPublicKeyParserImpl & SlhDsaProtoPublicKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SlhDsaProtoPublicKeySerializerImpl::SlhDsaProtoPublicKeySerializerImpl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: crypto::tink::SlhDsaProtoPublicKeySerializer
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaProtoPublicKeySerializerImpl::SlhDsaProtoPublicKeySerializerImpl
    linkageType: ''
    returnType: SlhDsaProtoPublicKeySerializerImpl
    signature: SlhDsaProtoPublicKeySerializerImpl & SlhDsaProtoPublicKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SlhDsaProtoPrivateKeyParserImpl::SlhDsaProtoPrivateKeyParserImpl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: crypto::tink::SlhDsaProtoPrivateKeyParser
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaProtoPrivateKeyParserImpl::SlhDsaProtoPrivateKeyParserImpl
    linkageType: ''
    returnType: SlhDsaProtoPrivateKeyParserImpl
    signature: SlhDsaProtoPrivateKeyParserImpl & SlhDsaProtoPrivateKeyParser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SlhDsaProtoPrivateKeySerializerImpl::SlhDsaProtoPrivateKeySerializerImpl
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: crypto::tink::SlhDsaProtoPrivateKeySerializer
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 0
    functionsReached:
    - SlhDsaProtoPrivateKeySerializerImpl::SlhDsaProtoPrivateKeySerializerImpl
    linkageType: ''
    returnType: SlhDsaProtoPrivateKeySerializerImpl
    signature: SlhDsaProtoPrivateKeySerializerImpl & SlhDsaProtoPrivateKeySerializer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:426,1
    - Dst: crypto::tink::SlhDsaProtoParametersParser
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:427,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:428,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:433,1
    - Dst: crypto::tink::SlhDsaProtoParametersSerializer
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:434,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:435,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:439,1
    - Dst: crypto::tink::SlhDsaProtoPublicKeyParser
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:440,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:441,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:445,1
    - Dst: crypto::tink::SlhDsaProtoPublicKeySerializer
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:446,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:447,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:451,1
    - Dst: crypto::tink::SlhDsaProtoPrivateKeyParser
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:452,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:453,1
    - Dst: internal::MutableSerializationRegistry::GlobalInstance
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:457,1
    - Dst: crypto::tink::SlhDsaProtoPrivateKeySerializer
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 459
    functionName: crypto::tink::RegisterSlhDsaProtoSerialization
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
    functionUses: 19
    functionsReached:
    - util::Status::ok
    - crypto::tink::SlhDsaProtoPublicKeySerializer
    - internal::MutableSerializationRegistry::GlobalInstance
    - crypto::tink::SlhDsaProtoPrivateKeyParser
    - crypto::tink::SlhDsaProtoPublicKeyParser
    - crypto::tink::SlhDsaProtoParametersSerializer
    - crypto::tink::SlhDsaProtoPrivateKeySerializer
    - crypto::tink::SlhDsaProtoParametersParser
    linkageType: ''
    returnType: util::Status
    signature: util::Status RegisterSlhDsaProtoSerialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:66,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:68,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:72,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:72,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:75,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:77,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:79,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:79,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:79,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:80,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:80,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:83,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:84,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:85,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:85,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:88,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:88,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:89,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:90,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:91,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:91,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:93,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:93,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:93,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:94,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:94,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:94,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:95,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:95,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:96,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:96,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:97,1
    - Dst: util::StatusOr::GetPrivateKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:97,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:97,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - std::string::resize
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - util::StatusOr::GetParameters
    - util::StatusOr::GetPublicKey
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - util::StatusOr::GetPrivateKeyBytes
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - GetParam
    - crypto::tink::SlhDsaPrivateKey::Create
    - reinterpret_cast<uint8_t *>
    - RestrictedData
    - Eq
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - util::StatusOr::GetIdRequirement
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaPrivateKeyTest, CreateSucceeds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:107,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:107,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:109,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:110,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:111,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:112,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:112,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:114,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:115,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:116,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:117,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:118,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:120,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - crypto::tink::SlhDsaPrivateKey::Create
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPrivateKeyTest, CreateWithInvalidPrivateKeyLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:126,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:131,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:134,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:136,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:138,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:138,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:138,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:139,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:139,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:142,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:143,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:144,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:144,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:147,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:147,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:147,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:148,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:148,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:150,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:150,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:153,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:154,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:155,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:157,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - crypto::tink::SlhDsaPrivateKey::Create
    - std::string::resize
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - reinterpret_cast<uint8_t *>
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - SPX_generate_key
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPrivateKeyTest, CreateWithMismatchedPairFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:167,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:167,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:170,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:172,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:174,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:174,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:174,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:175,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:175,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:178,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:179,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:180,1
    - Dst: std::string::replace
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:183,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:184,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:186,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:186,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:188,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:189,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:190,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:192,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 194
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - crypto::tink::SlhDsaPrivateKey::Create
    - std::string::resize
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - reinterpret_cast<uint8_t *>
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - SPX_generate_key
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - std::string::replace
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPrivateKeyTest, CreateWithModifiedPrivateKeyFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:197,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:203,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:206,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:208,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:210,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:210,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:210,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:211,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:211,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:214,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:216,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:219,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:219,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:220,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:221,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:222,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:224,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:226,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:228,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:229,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:230,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 232
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - crypto::tink::SlhDsaPrivateKey::Create
    - std::string::resize
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - reinterpret_cast<uint8_t *>
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - crypto::tink::SlhDsaParameters::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaPrivateKeyTest, KeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:235,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:240,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:243,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:245,1
    - Dst: util::StatusOr::GetPrivateKeySizeInBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:245,1
    - Dst: SPX_generate_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:247,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:247,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:247,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:248,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:248,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:251,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:252,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:253,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:253,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:256,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:257,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:258,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:258,1
    - Dst: RestrictedData
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:261,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:261,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:263,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:264,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:265,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:265,1
    - Dst: crypto::tink::SlhDsaPrivateKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:267,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:268,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:269,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:269,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:271,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:272,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:273,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 275
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetPrivateKeySizeInBytes
    - crypto::tink::GetPartialKeyAccess
    - std::string::data
    - crypto::tink::SlhDsaPrivateKey::Create
    - std::string::resize
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - reinterpret_cast<uint8_t *>
    - RestrictedData
    - crypto::tink::InsecureSecretKeyAccess::Get
    - ASSERT_THAT
    - SPX_generate_key
    - crypto::tink::SlhDsaParameters::Create
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPrivateKeyTest, DifferentPublicKeyNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FalconKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:64,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - private_key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 12
    functionsReached:
    - FalconKeyFormat::set_key_size
    - FalconSignKeyManager
    linkageType: ''
    returnType: StatusOr<FalconPrivateKey>
    signature: StatusOr<FalconPrivateKey> CreateValidPrivateKey(int32_t private_key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:72,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:74,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:74,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - private_key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 30
    functionsReached:
    - StatusOr::ok
    - FalconSignKeyManager
    - StatusOr::status
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: StatusOr<FalconPublicKey>
    signature: StatusOr<FalconPublicKey> CreateValidPublicKey(int32_t private_key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:79,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:79,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:79,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:80,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:80,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:81,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:82,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:82,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - FalconVerifyKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(FalconVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:87,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:87,1
    - Dst: FalconPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:87,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - FalconPublicKey
    - IsOk
    - Not
    - EXPECT_THAT
    - FalconVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(FalconVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:92,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:95,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:96,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:98,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:98,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - FalconVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:102,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:106,1
    - Dst: StatusOr::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:109,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:109,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:109,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::set_version
    - IsOk
    - Not
    - ASSERT_THAT
    - FalconVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:113,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:117,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:121,1
    - Dst: crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:124,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:125,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:125,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:129,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:132,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:133,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:133,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:137,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:138,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:138,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 139
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
    - IsOk
    - FalconSignKeyManager
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - FalconVerifyKeyManager
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:142,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:146,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:150,1
    - Dst: StatusOr::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:153,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:156,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:157,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:157,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - FalconSignKeyManager
    - Not
    - ASSERT_THAT
    - FalconVerifyKeyManager
    - EXPECT_THAT
    - GetParam
    - StatusOr::set_key_value
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyKeyManagerTest, CreateInvalidPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:161,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:164,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:165,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:165,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:170,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:173,1
    - Dst: crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:176,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:177,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:177,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:180,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:181,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:181,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:185,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:188,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:189,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:190,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:190,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
    - IsOk
    - FalconSignKeyManager
    - Not
    - ASSERT_THAT
    - crypto::tink::util::SecretDataFromStringView
    - FalconVerifyKeyManager
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyKeyManagerTest, CreateDifferentPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:60,1
    - Dst: crypto::tink::DilithiumSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:60,1
    - Dst: DilithiumPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:62,1
    - Dst: DilithiumPublicKey*::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:63,1
    - Dst: crypto::tink::DilithiumSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:63,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:67,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:68,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:69,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:69,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:70,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:71,1
    - Dst: DilithiumPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:74,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:75,1
    - Dst: util::StatusOr::first::GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:75,1
    - Dst: DilithiumPublicKey*::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:76,1
    - Dst: util::StatusOr::second::GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:76,1
    - Dst: DilithiumPublicKey*::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:77,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - DilithiumKeyFormat
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: crypto::tink::DilithiumSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - DilithiumPrivateKey::set_version
    - DilithiumPrivateKey::mutable_public_key
    - DilithiumPublicKey*::set_version
    - util::StatusOr::status
    - DilithiumPrivateKey::set_key_value
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - params
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - util::StatusOr::first::GetKeyData
    - util::StatusOr::second::GetKeyData
    - DilithiumPublicKey*::mutable_params
    - crypto::tink::DilithiumSignKeyManager::get_version
    - DilithiumPublicKey*::set_key_value
    linkageType: ''
    returnType: StatusOr<DilithiumPrivateKey>
    signature: "StatusOr<DilithiumPrivateKey> DilithiumSignKeyManager::CreateKey(\n
      \   const DilithiumKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:86,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:86,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:89,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:90,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:91,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:93,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:93,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - DilithiumPrivateKey
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: "DilithiumSignKeyManager::PublicKeySignFactory::Create(\n    const
      DilithiumPrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
    - util::StatusOr::status
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - key_value
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> DilithiumSignKeyManager::PublicKeySignFactory::Create(\n
      \   const DilithiumPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:100,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:100,1
    - Dst: crypto::tink::DilithiumSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:100,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:101,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:102,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:103,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:104,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:105,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - DilithiumPrivateKey
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: crypto::tink::DilithiumSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status::ok
    - ValidateVersion
    - key_value
    - version
    - Status
    - crypto::tink::DilithiumSignKeyManager::get_version
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status DilithiumSignKeyManager::ValidateKey(\n    const DilithiumPrivateKey&
      key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:114,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:115,1
    - Dst: DilithiumVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:118,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - DilithiumKeyFormat
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: crypto::tink::DilithiumSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    - DilithiumVerifyKeyManager
    - has_params
    - params
    linkageType: ''
    returnType: Status
    signature: "Status DilithiumSignKeyManager::ValidateKeyFormat(\n    const DilithiumKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SphincsKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:115,1
    - Dst: SphincsParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:116,1
    - Dst: SphincsParams*::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:117,1
    - Dst: SphincsParams*::set_variant
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:118,1
    - Dst: SphincsParams*::set_sig_length_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:119,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - private_key_size
    - hash_type
    - variant
    - type
    argTypes:
    - int32_t
    - SphincsHashType
    - SphincsVariant
    - SphincsSignatureType
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: crypto::tink::CreateValidPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 16
    functionsReached:
    - SphincsParams*::set_variant
    - SphincsSignKeyManager
    - SphincsParams*::set_key_size
    - SphincsKeyFormat::mutable_params
    - SphincsParams*::set_hash_type
    - SphincsParams*::set_sig_length_type
    linkageType: ''
    returnType: StatusOr<SphincsPrivateKey>
    signature: "StatusOr<SphincsPrivateKey> CreateValidPrivateKey(int32_t private_key_size,\n
      \                                                 SphincsHashType hash_type,\n
      \                                                 SphincsVariant variant,\n
      \                                                 SphincsSignatureType type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:130,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:132,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:132,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - private_key_size
    - hash_type
    - variant
    - type
    argTypes:
    - int32_t
    - SphincsHashType
    - SphincsVariant
    - SphincsSignatureType
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: crypto::tink::CreateValidPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 32
    functionsReached:
    - StatusOr::ok
    - StatusOr::status
    - SphincsSignKeyManager
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: StatusOr<SphincsPublicKey>
    signature: "StatusOr<SphincsPublicKey> CreateValidPublicKey(int32_t private_key_size,\n
      \                                               SphincsHashType hash_type,\n
      \                                               SphincsVariant variant,\n                                                SphincsSignatureType
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:137,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:137,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:137,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:138,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:138,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:139,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:140,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:140,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_THAT
    - Eq
    - SphincsVerifyKeyManager
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsVerifyKeyManagerTest, Basics)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:145,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:145,1
    - Dst: SphincsPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:145,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SphincsPublicKey
    - IsOk
    - Not
    - SphincsVerifyKeyManager
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsVerifyKeyManagerTest, ValidateEmptyKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:150,1
    - Dst: SphincsKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:153,1
    - Dst: SphincsParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:154,1
    - Dst: SphincsParams*::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:155,1
    - Dst: SphincsParams*::set_variant
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:156,1
    - Dst: SphincsParams*::set_sig_length_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:157,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:159,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:159,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:159,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SphincsParams*::set_hash_type
    - Not
    - IsOk
    - SphincsParams*::set_variant
    - SphincsVerifyKeyManager
    - SphincsParams*::set_key_size
    - SphincsKeyFormat::mutable_params
    - EXPECT_THAT
    - GetParam
    - SphincsParams*::set_sig_length_type
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyKeyManagerTest, InvalidParam)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:163,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:166,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:168,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:170,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - ASSERT_THAT
    - SphincsVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyKeyManagerTest, PublicKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:174,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:178,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsVerifyKeyManagerTest, PublicKeyInvalidParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:182,1
    - Dst: crypto::tink::CreateValidPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:185,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:187,1
    - Dst: StatusOr::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:189,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:190,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:190,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::set_version
    - IsOk
    - Not
    - ASSERT_THAT
    - SphincsVerifyKeyManager
    - EXPECT_THAT
    - crypto::tink::CreateValidPublicKey
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyKeyManagerTest, PublicKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:194,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:197,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:199,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:203,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:206,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:207,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:209,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:212,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:212,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:217,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:221,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:224,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:225,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:226,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 227
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - IsOk
    - SphincsSignKeyManager
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - SphincsVerifyKeyManager
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:230,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:233,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:235,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:238,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:239,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:239,1
    - Dst: StatusOr::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:242,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:245,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:246,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - Not
    - SphincsSignKeyManager
    - ASSERT_THAT
    - SphincsVerifyKeyManager
    - EXPECT_THAT
    - GetParam
    - StatusOr::set_key_value
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyKeyManagerTest, CreateInvalidPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:250,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:253,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:255,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:255,1
    - Dst: crypto::tink::CreateValidPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:259,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:261,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:261,1
    - Dst: SphincsSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:263,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:264,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:264,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:267,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:268,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:270,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:273,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:273,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:277,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:278,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:278,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:281,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:282,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:282,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:285,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:286,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:286,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:287,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:287,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:287,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 288
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - IsOk
    - Not
    - SphincsSignKeyManager
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - SphincsVerifyKeyManager
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - crypto::tink::CreateValidPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyKeyManagerTest, CreateDifferentPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyTemplate::KeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:48,1
    - Dst: KeyTemplate*::set_type_url
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:49,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:50,1
    - Dst: DilithiumPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:50,1
    - Dst: KeyTemplate*::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:51,1
    - Dst: DilithiumKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:54,1
    - Dst: DilithiumParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:55,1
    - Dst: DilithiumParams*::set_seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:56,1
    - Dst: DilithiumKeyFormat::SerializeToString
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:57,1
    - Dst: KeyTemplate*::mutable_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key_size
    - seed_expansion
    argTypes:
    - int32_t
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: crypto::tink::NewDilithiumKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - DilithiumParams*::set_seed_expansion
    - DilithiumParams*::set_key_size
    - DilithiumKeyFormat::mutable_params
    - KeyTemplate*::mutable_value
    - KeyTemplate*::set_type_url
    - absl::StrCat
    - DilithiumPrivateKey
    - KeyTemplate::KeyTemplate
    - KeyTemplate*::set_output_prefix_type
    - DilithiumKeyFormat::SerializeToString
    linkageType: ''
    returnType: KeyTemplate
    signature: "KeyTemplate * NewDilithiumKeyTemplate(int32_t key_size,\n                                     DilithiumSeedExpansion
      seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewDilithiumKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: crypto::tink::Dilithium2KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewDilithiumKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Dilithium2KeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewDilithiumKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: crypto::tink::Dilithium3KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewDilithiumKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Dilithium3KeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewDilithiumKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: crypto::tink::Dilithium5KeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewDilithiumKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Dilithium5KeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewDilithiumKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: crypto::tink::Dilithium2AesKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewDilithiumKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Dilithium2AesKeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewDilithiumKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: crypto::tink::Dilithium3AesKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewDilithiumKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Dilithium3AesKeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::NewDilithiumKeyTemplate
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: crypto::tink::Dilithium5AesKeyTemplate
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::NewDilithiumKeyTemplate
    linkageType: ''
    returnType: google::crypto::tink::KeyTemplate
    signature: google::crypto::tink::KeyTemplate & Dilithium5AesKeyTemplate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::DilithiumVerifyKeyManager::DilithiumVerifyKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void DilithiumVerifyKeyManager()
  - 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: crypto::tink::DilithiumVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::DilithiumVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::Registry::Reset
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc: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: crypto::tink::PcqSignatureConfigTest::SetUp
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Reset
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:54,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:54,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:55,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:58,1
    - Dst: crypto::tink::PqSignatureConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:58,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::PqSignatureConfigRegister
    - crypto::tink::internal::IsFipsModeEnabled
    - EXPECT_THAT
    - GTEST_SKIP
    - crypto::tink::internal::IsFipsEnabledInSsl
    linkageType: ''
    returnType: void
    signature: void TEST_F(PcqSignatureConfigTest, CheckStatus)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:64,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:64,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:65,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:68,1
    - Dst: crypto::tink::PqSignatureConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:68,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:68,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:71,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:72,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:73,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeySign>>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:75,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:76,1
    - Dst: absl::make_unique<DummyPublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:77,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:79,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:79,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:82,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:82,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:83,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:83,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:86,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:89,1
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:94,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - DummyPublicKeySign
    - std::move
    - ASSERT_THAT
    - crypto::tink::PqSignatureConfigRegister
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::make_unique<PrimitiveSet<PublicKeySign>>
    - absl::StrCat
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::make_unique<DummyPublicKeySign>
    - IsOk
    - auto::AddPrimitive
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - Sign
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - EXPECT_EQ
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - auto::set_primary
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(PcqSignatureConfigTest, PublicKeySignWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:100,1
    - Dst: crypto::tink::internal::IsFipsEnabledInSsl
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:104,1
    - Dst: crypto::tink::PqSignatureConfigRegister
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:104,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_status
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:107,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:108,1
    - Dst: google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:109,1
    - Dst: absl::make_unique<PrimitiveSet<PublicKeyVerify>>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:111,1
    - Dst: auto::AddPrimitive
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:112,1
    - Dst: absl::make_unique<DummyPublicKeyVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:115,1
    - Dst: auto::set_primary
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:115,1
    - Dst: crypto::tink::Registry::Wrap
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:118,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:118,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:119,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:119,1
    - Dst: crypto::tink::CryptoFormat::GetOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:122,1
    - Dst: DummyPublicKeySign
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:125,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:127,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:127,1
    - Dst: absl::StrCat
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:127,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 129
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::Registry::Wrap
    - DummyPublicKeySign
    - std::move
    - ASSERT_THAT
    - crypto::tink::PqSignatureConfigRegister
    - crypto::tink::internal::IsFipsModeEnabled
    - absl::StrCat
    - crypto::tink::internal::IsFipsEnabledInSsl
    - absl::make_unique<DummyPublicKeyVerify>
    - IsOk
    - auto::AddPrimitive
    - Verify
    - GTEST_SKIP
    - google::crypto::tink::KeysetInfo::KeyInfo::set_output_prefix_type
    - crypto::tink::CryptoFormat::GetOutputPrefix
    - google::crypto::tink::KeysetInfo::KeyInfo::set_status
    - auto::set_primary
    - absl::make_unique<PrimitiveSet<PublicKeyVerify>>
    - google::crypto::tink::KeysetInfo::KeyInfo::set_key_id
    linkageType: ''
    returnType: void
    signature: void TEST_F(PcqSignatureConfigTest, PublicKeyVerifyWrapperRegistered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:59,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:60,1
    - Dst: key_template::type_url
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:61,1
    - Dst: key_template::output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:65,1
    - Dst: FalconKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:65,1
    - Dst: key_template::value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:66,1
    - Dst: FalconKeyFormat::key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc
    functionUses: 0
    functionsReached:
    - FalconKeyFormat::ParseFromString
    - EXPECT_TRUE
    - EXPECT_EQ
    - key_template::output_prefix_type
    - key_template::value
    - FalconKeyFormat::key_size
    - key_template::type_url
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconKeyTemplateTest, CheckKeyTemplateValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:70,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconKeyTemplateTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:80,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:83,1
    - Dst: FalconKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:84,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:87,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:88,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc
    functionUses: 0
    functionsReached:
    - FalconKeyFormat::set_key_size
    - IsOk
    - EXPECT_THAT
    - internal::MakePrivateKeyManager<PublicKeySign>
    - std::unique_ptr::get_key_factory
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconKeyTemplateTest, KeyManagerCompatibility)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:47,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:47,1
    - Dst: StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:49,1
    - Dst: StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:50,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - FalconPublicKey
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: "FalconVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
      FalconPublicKey& public_key) const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - StatusOr::ok
    - key_value
    - StatusOr::status
    - crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "StatusOr<std::unique_ptr<PublicKeyVerify>> FalconVerifyKeyManager::PublicKeyVerifyFactory::Create(\n
      \   const FalconPublicKey& public_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:57,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:57,1
    - Dst: crypto::tink::FalconVerifyKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:57,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:58,1
    - Dst: crypto::tink::subtle::ValidateFalconPublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:62,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:62,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:63,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - FalconPublicKey
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: crypto::tink::FalconVerifyKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateFalconPublicKeySize
    - Status::ok
    - crypto::tink::FalconVerifyKeyManager::get_version
    - ValidateVersion
    - key_value
    - version
    - crypto::tink::util::OkStatus
    linkageType: ''
    returnType: Status
    signature: Status FalconVerifyKeyManager::ValidateKey(const FalconPublicKey& key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc:32,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc:38,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc:45,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc:52,1
    - Dst: crypto::tink::SlhDsaParameters::SlhDsaParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - hash_type
    - private_key_size_in_bytes
    - signature_type
    - variant
    argTypes:
    - HashType
    - int
    - SignatureType
    - Variant
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: crypto::tink::SlhDsaParameters::Create
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc
    functionUses: 25
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::SlhDsaParameters::SlhDsaParameters
    linkageType: ''
    returnType: util::StatusOr<SlhDsaParameters>
    signature: "util::StatusOr<SlhDsaParameters> SlhDsaParameters::Create(\n    HashType
      hash_type, int private_key_size_in_bytes,\n    SignatureType signature_type,
      Variant variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const SlhDsaParameters*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Parameters
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: SlhDsaParameters::operator==(const Parameters& other) const
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const SlhDsaParameters*>
    linkageType: ''
    returnType: bool
    signature: bool SlhDsaParameters::operator==(const Parameters& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::SphincsVerifyKeyManager::SphincsVerifyKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void SphincsVerifyKeyManager()
  - 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: crypto::tink::SphincsVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::SphincsVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DilithiumKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:80,1
    - Dst: DilithiumParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:81,1
    - Dst: DilithiumParams*::set_seed_expansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - private_key_size
    - seed_expansion
    argTypes:
    - int32_t
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 39
    functionsReached:
    - DilithiumParams*::set_seed_expansion
    - DilithiumParams*::set_key_size
    - DilithiumKeyFormat::mutable_params
    linkageType: ''
    returnType: StatusOr<DilithiumKeyFormat>
    signature: "StatusOr<DilithiumKeyFormat> CreateValidKeyFormat(\n    int32_t private_key_size,
      DilithiumSeedExpansion seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:88,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:88,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:88,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:89,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:89,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:90,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:91,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:91,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - DilithiumSignKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:96,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:100,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:102,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - DilithiumSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, ValidateKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:106,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:108,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:110,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:113,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:114,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:114,1
    - Dst: StatusOr::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:116,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:117,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:117,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::set_version
    - IsOk
    - DilithiumSignKeyManager
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, PrivateKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:121,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:123,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:125,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:129,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:131,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:131,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:131,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:132,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:132,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:132,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:132,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:133,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:133,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:134,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:134,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::key_value
    - IsOk
    - DilithiumSignKeyManager
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - GetParam
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, CreateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:139,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:141,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:143,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:143,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:146,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:147,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:147,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:148,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:148,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - DilithiumSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:152,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:156,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:156,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:163,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:164,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:164,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:166,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::key_value
    - absl::flat_hash_set::insert
    - IsOk
    - DilithiumSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, CreateKeyAlwaysNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:170,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:174,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:178,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:181,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:182,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:182,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:184,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:184,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:185,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:185,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:186,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:186,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:187,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - IsOk
    - DilithiumSignKeyManager
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - GetParam
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:191,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:193,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:195,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:198,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:199,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:199,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:203,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:206,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:207,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:208,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:211,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:212,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:212,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:215,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:216,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:217,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - IsOk
    - DilithiumSignKeyManager
    - util::StatusOr::public_key
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, Create)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:221,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:223,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:225,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:225,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:228,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:229,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:229,1
    - Dst: DilithiumSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:232,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:233,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:233,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:237,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:239,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:241,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:242,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:242,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:245,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:246,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:246,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:247,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:247,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:247,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 248
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - IsOk
    - DilithiumSignKeyManager
    - Not
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - EXPECT_THAT
    - Verify
    - GetParam
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumSignKeyManagerTest, CreateDifferentKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:50,1
    - Dst: key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:50,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:52,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:53,1
    - Dst: FalconPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:57,1
    - Dst: crypto::tink::FalconSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:57,1
    - Dst: FalconPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:58,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:59,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:59,1
    - Dst: FalconPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:61,1
    - Dst: FalconPublicKey*::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:62,1
    - Dst: crypto::tink::FalconSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:62,1
    - Dst: FalconPublicKey*::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:63,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - FalconKeyFormat
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: crypto::tink::FalconSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - FalconPublicKey*::set_version
    - crypto::tink::util::SecretDataAsStringView
    - FalconPublicKey*::set_key_value
    - util::StatusOr::GetPublicKey
    - util::StatusOr::status
    - FalconPrivateKey::mutable_public_key
    - util::StatusOr::GetPrivateKey
    - FalconPrivateKey::set_key_value
    - FalconPrivateKey::set_version
    - key_size
    - crypto::tink::subtle::GenerateFalconKeyPair
    - crypto::tink::FalconSignKeyManager::get_version
    linkageType: ''
    returnType: StatusOr<FalconPrivateKey>
    signature: "StatusOr<FalconPrivateKey> FalconSignKeyManager::CreateKey(\n    const
      FalconKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:72,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:72,1
    - Dst: crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:75,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:77,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:78,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - FalconPrivateKey
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: "FalconSignKeyManager::PublicKeySignFactory::Create(\n    const
      FalconPrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
    - key_value
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::FalconSign::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> FalconSignKeyManager::PublicKeySignFactory::Create(\n
      \   const FalconPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:85,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:85,1
    - Dst: crypto::tink::FalconSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:85,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:86,1
    - Dst: crypto::tink::subtle::ValidateFalconPrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:90,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:90,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:91,1
    - Dst: FalconVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:95,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - FalconPrivateKey
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: crypto::tink::FalconSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateFalconPrivateKeySize
    - Status::ok
    - public_key
    - ValidateVersion
    - key_value
    - version
    - FalconVerifyKeyManager
    - crypto::tink::FalconSignKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: Status FalconSignKeyManager::ValidateKey(const FalconPrivateKey& key)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ValidateFalconPrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:100,1
    - Dst: key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:100,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:101,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - FalconKeyFormat
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: crypto::tink::FalconSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateFalconPrivateKeySize
    - Status::ok
    - crypto::tink::util::OkStatus
    - key_size
    linkageType: ''
    returnType: Status
    signature: "Status FalconSignKeyManager::ValidateKeyFormat(\n    const FalconKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FalconKeyFormat::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - private_key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: crypto::tink::CreateValidKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 47
    functionsReached:
    - FalconKeyFormat::set_key_size
    linkageType: ''
    returnType: StatusOr<FalconKeyFormat>
    signature: StatusOr<FalconKeyFormat> CreateValidKeyFormat(int32_t private_key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:70,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:70,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:71,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:71,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:73,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - FalconSignKeyManager
    - EXPECT_THAT
    - Eq
    linkageType: ''
    returnType: void
    signature: void TEST(FalconSignKeyManagerTest, Basic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:78,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:81,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:82,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:82,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:84,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - FalconSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, ValidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:88,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:89,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:91,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:91,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - FalconSignKeyManager
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST(FalconSignKeyManagerTest, InvalidKeyFormat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:96,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:99,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:100,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:100,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:103,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:104,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:104,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:106,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:106,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:107,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:107,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:107,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:108,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:108,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:108,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:108,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:109,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:109,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::key_value
    - IsOk
    - FalconSignKeyManager
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - GetParam
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, CreateKeyValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:113,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:117,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:120,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:121,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:121,1
    - Dst: StatusOr::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:124,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:124,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:124,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::set_version
    - IsOk
    - FalconSignKeyManager
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, PrivateKeyWrongVersion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:128,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:131,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:132,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:132,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:138,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:139,1
    - Dst: absl::flat_hash_set::insert
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:140,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:142,1
    - Dst: SizeIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - SizeIs
    - StatusOr::key_value
    - absl::flat_hash_set::insert
    - IsOk
    - FalconSignKeyManager
    - ASSERT_THAT
    - EXPECT_THAT
    - GetParam
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, CreateKeyAlwaysNew)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:146,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:150,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:154,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:154,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:158,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:160,1
    - Dst: StatusOr::version
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:160,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:160,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:160,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:161,1
    - Dst: StatusOr::key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:161,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:162,1
    - Dst: StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - StatusOr::key_value
    - IsOk
    - FalconSignKeyManager
    - ASSERT_THAT
    - StatusOr::public_key
    - EXPECT_THAT
    - StatusOr::version
    - GetParam
    - Eq
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, GetPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:166,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:169,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:170,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:170,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:174,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:174,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:178,1
    - Dst: crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:181,1
    - Dst: util::StatusOr::public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:183,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:186,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:187,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:187,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:190,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:191,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:191,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:192,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 193
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - IsOk
    - FalconSignKeyManager
    - util::StatusOr::public_key
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
    - GetParam
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, CreateValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:196,1
    - Dst: crypto::tink::CreateValidKeyFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:199,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:200,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:200,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:203,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:204,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:204,1
    - Dst: FalconSignKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:207,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:208,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:208,1
    - Dst: crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:214,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:214,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:216,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:217,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:217,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:221,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:222,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:222,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:222,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 223
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - IsOk
    - FalconSignKeyManager
    - Not
    - ASSERT_THAT
    - EXPECT_THAT
    - Verify
    - crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
    - GetParam
    - Sign
    - crypto::tink::CreateValidKeyFormat
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignKeyManagerTest, CreateBadPublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPrivateKey
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlhDsaPrivateKey(const SlhDsaPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPrivateKey
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: '& operator=(const SlhDsaPrivateKey& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaPrivateKey
    signature: SlhDsaPrivateKey & operator=(const SlhDsaPrivateKey& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPrivateKey
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SlhDsaPrivateKey(SlhDsaPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SlhDsaPrivateKey
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: '& operator=(SlhDsaPrivateKey&& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaPrivateKey
    signature: SlhDsaPrivateKey & operator=(SlhDsaPrivateKey&& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - token
    argTypes:
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: '& GetPrivateKeyBytes(PartialKeyAccessToken token) const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RestrictedData
    signature: RestrictedData & GetPrivateKeyBytes(PartialKeyAccessToken token) 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: '& GetPublicKey() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SlhDsaPublicKey
    signature: SlhDsaPublicKey & GetPublicKey() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    argTypes:
    - SlhDsaPublicKey
    - RestrictedData
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SlhDsaPrivateKey(const SlhDsaPublicKey& public_key,\n                             const
      RestrictedData& private_key_bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:55,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:55,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:56,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:56,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:58,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:58,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:59,1
    - Dst: GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:62,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:64,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:65,1
    - Dst: SphincsPrivateKey::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:69,1
    - Dst: crypto::tink::SphincsSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:69,1
    - Dst: SphincsPrivateKey::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:70,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:71,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:71,1
    - Dst: SphincsPrivateKey::mutable_public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:74,1
    - Dst: SphincsPublicKey*::set_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:75,1
    - Dst: crypto::tink::SphincsSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:75,1
    - Dst: SphincsPublicKey*::set_key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:76,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:76,1
    - Dst: SphincsPublicKey*::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:77,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - SphincsKeyFormat
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: crypto::tink::SphincsSignKeyManager::CreateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - SphincsPrivateKey::mutable_public_key
    - util::StatusOr::GetPublicKey
    - util::StatusOr::status
    - SphincsPrivateKey::set_key_value
    - params
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - SphincsPublicKey*::set_version
    - SphincsPrivateKey::set_version
    - crypto::tink::SphincsSignKeyManager::get_version
    - SphincsPublicKey*::set_key_value
    - GenerateSphincsKeyPair
    - SphincsPublicKey*::mutable_params
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: StatusOr<SphincsPrivateKey>
    signature: "StatusOr<SphincsPrivateKey> SphincsSignKeyManager::CreateKey(\n    const
      SphincsKeyFormat& key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:86,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:86,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:88,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:89,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:90,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:91,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:92,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:93,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:94,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - SphincsPrivateKey
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: "SphincsSignKeyManager::PublicKeySignFactory::Create(\n    const
      SphincsPrivateKey& private_key) const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - public_key
    - key_value
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::SphincsSign::New
    linkageType: ''
    returnType: StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "StatusOr<std::unique_ptr<PublicKeySign>> SphincsSignKeyManager::PublicKeySignFactory::Create(\n
      \   const SphincsPrivateKey& private_key) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateVersion
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:103,1
    - Dst: version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:103,1
    - Dst: crypto::tink::SphincsSignKeyManager::get_version
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:103,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:104,1
    - Dst: crypto::tink::subtle::ValidatePrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:108,1
    - Dst: key_value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:108,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:109,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:113,1
    - Dst: public_key
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - SphincsPrivateKey
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: crypto::tink::SphincsSignKeyManager::ValidateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidatePrivateKeySize
    - Status::ok
    - public_key
    - ValidateVersion
    - key_value
    - version
    - SphincsVerifyKeyManager
    - crypto::tink::SphincsSignKeyManager::get_version
    linkageType: ''
    returnType: Status
    signature: Status SphincsSignKeyManager::ValidateKey(const SphincsPrivateKey&
      key) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:118,1
    - Dst: Status
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:119,1
    - Dst: SphincsVerifyKeyManager
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:122,1
    - Dst: params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_format'
    argTypes:
    - SphincsKeyFormat
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: crypto::tink::SphincsSignKeyManager::ValidateKeyFormat
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc
    functionUses: 0
    functionsReached:
    - Status
    - has_params
    - params
    - SphincsVerifyKeyManager
    linkageType: ''
    returnType: Status
    signature: "Status SphincsSignKeyManager::ValidateKeyFormat(\n    const SphincsKeyFormat&
      key_format) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:59,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:61,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:64,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:64,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:66,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:68,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:70,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:72,1
    - Dst: util::StatusOr::GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:72,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:72,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:73,1
    - Dst: util::StatusOr::GetIdRequirement
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:73,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:73,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:74,1
    - Dst: util::StatusOr::GetOutputPrefix
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:74,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:74,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:75,1
    - Dst: util::StatusOr::GetPublicKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:75,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:75,1
    - Dst: Eq
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetOutputPrefix
    - crypto::tink::GetPartialKeyAccess
    - util::StatusOr::GetIdRequirement
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - util::StatusOr::GetPublicKeyBytes
    - GetParam
    - Eq
    - util::StatusOr::GetParameters
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaPublicKeyTest, CreatePublicKeyWorks)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:84,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:84,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:86,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:88,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:89,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:90,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:92,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 94
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPublicKeyTest, CreateWithInvalidPublicKeyLengthFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:97,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:101,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:103,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:105,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:105,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:107,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:109,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPublicKeyTest, CreateKeyWithNoIdRequirementWithTinkParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:116,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:120,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:122,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:124,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:125,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:126,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:128,1
    - Dst: HasSubstr
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - StatusIs
    - ASSERT_THAT
    - HasSubstr
    - EXPECT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPublicKeyTest, CreateKeyWithIdRequirementWithNoPrefixParamsFails)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:134,1
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:136,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:139,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:139,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:141,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:144,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:146,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:149,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:151,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:153,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:155,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 157
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - ASSERT_THAT
    - crypto::tink::subtle::Random::GetRandomBytes
    - crypto::tink::SlhDsaParameters::Create
    - GetParam
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SlhDsaPublicKeyTest, PublicKeyEquals)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:161,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:166,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:167,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:169,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:171,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:172,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:172,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:174,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:176,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:177,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:177,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:179,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:180,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:181,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - ASSERT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPublicKeyTest, DifferentPublicKeyBytesNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::SlhDsaParameters::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:187,1
    - Dst: crypto::tink::subtle::Random::GetRandomBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:192,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:194,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:197,1
    - Dst: crypto::tink::SlhDsaPublicKey::Create
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:199,1
    - Dst: crypto::tink::GetPartialKeyAccess
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:202,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:204,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:205,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:206,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 208
    functionName: crypto::tink::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::GetPartialKeyAccess
    - EXPECT_TRUE
    - IsOk
    - crypto::tink::SlhDsaPublicKey::Create
    - ASSERT_THAT
    - crypto::tink::SlhDsaParameters::Create
    - crypto::tink::subtle::Random::GetRandomBytes
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SlhDsaPublicKeyTest, DifferentIdRequirementNotEqual)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:43,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:44,1
    - Dst: GetParameters
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:48,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:49,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:50,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:55,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:57,1
    - Dst: GetSecret
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:60,1
    - Dst: crypto::tink::InsecureSecretKeyAccess::Get
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:60,1
    - Dst: SPX_generate_key_from_seed
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:61,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:62,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:62,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:63,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:63,1
    - Dst: reinterpret_cast<const uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:65,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:65,1
    - Dst: GetPublicKeyBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:68,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:70,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:71,1
    - Dst: CRYPTO_memcmp
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:72,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:72,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:73,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:75,1
    - Dst: crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ' public_key'
    - ' private_key_bytes'
    - token
    argTypes:
    - SlhDsaPublicKey
    - RestrictedData
    - PartialKeyAccessToken
    constantsTouched: []
    func_position:
      end: 80
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 80
    functionName: crypto::tink::SlhDsaPrivateKey::Create
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc
    functionUses: 10
    functionsReached:
    - CRYPTO_memcmp
    - std::string::data
    - SPX_generate_key_from_seed
    - std::string::resize
    - GetParameters
    - GetSecret
    - size
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::InsecureSecretKeyAccess::Get
    - crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
    - reinterpret_cast<uint8_t*>
    - absl::string_view::data
    - reinterpret_cast<const uint8_t*>
    - GetPublicKeyBytes
    linkageType: ''
    returnType: util::StatusOr<SlhDsaPrivateKey>
    signature: "util::StatusOr<SlhDsaPrivateKey> SlhDsaPrivateKey::Create(\n    const
      SlhDsaPublicKey& public_key, const RestrictedData& private_key_bytes,\n    PartialKeyAccessToken
      token)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const SlhDsaPrivateKey*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - Key
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: SlhDsaPrivateKey::operator==(const Key& other) const
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc
    functionUses: 0
    functionsReached:
    - dynamic_cast<const SlhDsaPrivateKey*>
    linkageType: ''
    returnType: bool
    signature: bool SlhDsaPrivateKey::operator==(const Key& other) const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::make_unique<PublicKeyVerifyFactory>
      Src: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::FalconVerifyKeyManager::FalconVerifyKeyManager
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.h
    functionUses: 0
    functionsReached:
    - absl::make_unique<PublicKeyVerifyFactory>
    linkageType: ''
    returnType: void
    signature: void FalconVerifyKeyManager()
  - 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: crypto::tink::FalconVerifyKeyManager::get_version
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_version() const override
  - 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: crypto::tink::FalconVerifyKeyManager::key_material_type
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: google::crypto::tink::KeyData::KeyMaterialType
    signature: "google::crypto::tink::KeyData::KeyMaterialType key_material_type()\n
      \     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: '& get_key_type() const override'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get_key_type() const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:105,1
    - Dst: key_template::type_url
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:106,1
    - Dst: key_template::output_prefix_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:107,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:110,1
    - Dst: SphincsKeyFormat::ParseFromString
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:110,1
    - Dst: key_template::value
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:111,1
    - Dst: SphincsKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:112,1
    - Dst: SphincsKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:113,1
    - Dst: SphincsKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:114,1
    - Dst: SphincsKeyFormat::params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc
    functionUses: 0
    functionsReached:
    - SphincsKeyFormat::ParseFromString
    - EXPECT_TRUE
    - SphincsKeyFormat::params
    - EXPECT_EQ
    - key_template::output_prefix_type
    - key_template::value
    - key_template::type_url
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsKeyTemplateTest, CheckKeyTemplateValid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:118,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc
    functionUses: 0
    functionsReached:
    - GetParam
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsKeyTemplateTest, SameReference)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::MakePrivateKeyManager<PublicKeySign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:128,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:131,1
    - Dst: SphincsKeyFormat::mutable_params
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:133,1
    - Dst: SphincsParams*::set_key_size
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:134,1
    - Dst: SphincsParams*::set_hash_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:135,1
    - Dst: SphincsParams*::set_variant
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:136,1
    - Dst: SphincsParams*::set_sig_length_type
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:137,1
    - Dst: std::unique_ptr::get_key_factory
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:140,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: crypto::tink::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc
    functionUses: 0
    functionsReached:
    - SphincsParams*::set_hash_type
    - IsOk
    - SphincsParams*::set_variant
    - SphincsParams*::set_key_size
    - SphincsKeyFormat::mutable_params
    - EXPECT_THAT
    - internal::MakePrivateKeyManager<PublicKeySign>
    - std::unique_ptr::get_key_factory
    - GetParam
    - SphincsParams*::set_sig_length_type
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsKeyTemplateTest, KeyManagerCompatibility)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FalconPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::FalconPrivateKeyPqclean::FalconPrivateKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FalconPrivateKeyPqclean(const FalconPrivateKeyPqclean& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FalconPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: '& operator=(const FalconPrivateKeyPqclean& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FalconPrivateKeyPqclean
    signature: FalconPrivateKeyPqclean & operator=(const FalconPrivateKeyPqclean&
      other)
  - 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: '& GetKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData & GetKey() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: crypto::tink::subtle::FalconPrivateKeyPqclean::FalconPrivateKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FalconPrivateKeyPqclean(const util::SecretData& key_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FalconPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 73
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 73
    functionName: crypto::tink::subtle::FalconPublicKeyPqclean::FalconPublicKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FalconPublicKeyPqclean(const FalconPublicKeyPqclean& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FalconPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: '& operator=(const FalconPublicKeyPqclean& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FalconPublicKeyPqclean
    signature: FalconPublicKeyPqclean & operator=(const FalconPublicKeyPqclean& other)
  - 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: '& GetKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GetKey() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: crypto::tink::subtle::FalconPublicKeyPqclean::FalconPublicKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void FalconPublicKeyPqclean(absl::string_view key_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h:90,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - FalconPrivateKeyPqclean
    - FalconPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: crypto::tink::subtle::FalconKeyPair::FalconKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void FalconKeyPair(FalconPrivateKeyPqclean private_key,\n                FalconPublicKeyPqclean
      public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FalconKeyPair
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: crypto::tink::subtle::FalconKeyPair::FalconKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FalconKeyPair(const FalconKeyPair& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - FalconKeyPair
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: '& operator=(const FalconKeyPair& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FalconKeyPair
    signature: FalconKeyPair & operator=(const FalconKeyPair& other)
  - 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: '& GetPrivateKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FalconPrivateKeyPqclean
    signature: FalconPrivateKeyPqclean & GetPrivateKey() const
  - 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: '& GetPublicKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FalconPublicKeyPqclean
    signature: FalconPublicKeyPqclean & GetPublicKey() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: crypto::tink::subtle::SphincsHaraka128FRobustPqclean::SphincsHaraka128FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka128FRobustPqclean()
  - 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: ~SphincsHaraka128FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka128FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: crypto::tink::subtle::SphincsHaraka128FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: crypto::tink::subtle::SphincsHaraka128FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: crypto::tink::subtle::SphincsHaraka128FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: crypto::tink::subtle::SphincsHaraka128SRobustPqclean::SphincsHaraka128SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka128SRobustPqclean()
  - 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: ~SphincsHaraka128SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka128SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: crypto::tink::subtle::SphincsHaraka128SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: crypto::tink::subtle::SphincsHaraka128SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: crypto::tink::subtle::SphincsHaraka128SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: crypto::tink::subtle::SphincsHaraka128FSimplePqclean::SphincsHaraka128FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka128FSimplePqclean()
  - 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: ~SphincsHaraka128FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka128FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: crypto::tink::subtle::SphincsHaraka128FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: crypto::tink::subtle::SphincsHaraka128FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: crypto::tink::subtle::SphincsHaraka128FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: crypto::tink::subtle::SphincsHaraka128SSimplePqclean::SphincsHaraka128SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka128SSimplePqclean()
  - 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: ~SphincsHaraka128SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka128SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: crypto::tink::subtle::SphincsHaraka128SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: crypto::tink::subtle::SphincsHaraka128SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA128SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: crypto::tink::subtle::SphincsHaraka128SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA128SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: crypto::tink::subtle::SphincsHaraka192FRobustPqclean::SphincsHaraka192FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka192FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ~SphincsHaraka192FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka192FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: crypto::tink::subtle::SphincsHaraka192FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: crypto::tink::subtle::SphincsHaraka192FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: crypto::tink::subtle::SphincsHaraka192FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: crypto::tink::subtle::SphincsHaraka192SRobustPqclean::SphincsHaraka192SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka192SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: ~SphincsHaraka192SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka192SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: crypto::tink::subtle::SphincsHaraka192SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: crypto::tink::subtle::SphincsHaraka192SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: crypto::tink::subtle::SphincsHaraka192SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: crypto::tink::subtle::SphincsHaraka192FSimplePqclean::SphincsHaraka192FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka192FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 236
    functionName: ~SphincsHaraka192FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka192FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: crypto::tink::subtle::SphincsHaraka192FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: crypto::tink::subtle::SphincsHaraka192FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: crypto::tink::subtle::SphincsHaraka192FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: crypto::tink::subtle::SphincsHaraka192SSimplePqclean::SphincsHaraka192SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka192SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: ~SphincsHaraka192SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka192SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: crypto::tink::subtle::SphincsHaraka192SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: crypto::tink::subtle::SphincsHaraka192SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA192SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 278
    functionName: crypto::tink::subtle::SphincsHaraka192SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA192SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: crypto::tink::subtle::SphincsHaraka256FRobustPqclean::SphincsHaraka256FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka256FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 288
    functionName: ~SphincsHaraka256FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka256FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: crypto::tink::subtle::SphincsHaraka256FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: crypto::tink::subtle::SphincsHaraka256FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: crypto::tink::subtle::SphincsHaraka256FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: crypto::tink::subtle::SphincsHaraka256SRobustPqclean::SphincsHaraka256SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka256SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 314
    functionName: ~SphincsHaraka256SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka256SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: crypto::tink::subtle::SphincsHaraka256SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: crypto::tink::subtle::SphincsHaraka256SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: crypto::tink::subtle::SphincsHaraka256SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: crypto::tink::subtle::SphincsHaraka256FSimplePqclean::SphincsHaraka256FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka256FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: ~SphincsHaraka256FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka256FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: crypto::tink::subtle::SphincsHaraka256FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: crypto::tink::subtle::SphincsHaraka256FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: crypto::tink::subtle::SphincsHaraka256FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: crypto::tink::subtle::SphincsHaraka256SSimplePqclean::SphincsHaraka256SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHaraka256SSimplePqclean()
  - 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: ~SphincsHaraka256SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHaraka256SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: crypto::tink::subtle::SphincsHaraka256SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: crypto::tink::subtle::SphincsHaraka256SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSHARAKA256SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: crypto::tink::subtle::SphincsHaraka256SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSHARAKA256SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: crypto::tink::subtle::SphincsSHA256128FRobustPqclean::SphincsSHA256128FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256128FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: ~SphincsSHA256128FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256128FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: crypto::tink::subtle::SphincsSHA256128FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: crypto::tink::subtle::SphincsSHA256128FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    functionName: crypto::tink::subtle::SphincsSHA256128FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: crypto::tink::subtle::SphincsSHA256128SRobustPqclean::SphincsSHA256128SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256128SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 418
    functionName: ~SphincsSHA256128SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256128SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: crypto::tink::subtle::SphincsSHA256128SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: crypto::tink::subtle::SphincsSHA256128SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: crypto::tink::subtle::SphincsSHA256128SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: crypto::tink::subtle::SphincsSHA256128FSimplePqclean::SphincsSHA256128FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256128FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 444
    functionName: ~SphincsSHA256128FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256128FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 450
    functionName: crypto::tink::subtle::SphincsSHA256128FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: crypto::tink::subtle::SphincsSHA256128FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: crypto::tink::subtle::SphincsSHA256128FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: crypto::tink::subtle::SphincsSHA256128SSimplePqclean::SphincsSHA256128SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256128SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: ~SphincsSHA256128SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256128SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 476
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 476
    functionName: crypto::tink::subtle::SphincsSHA256128SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 482
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 482
    functionName: crypto::tink::subtle::SphincsSHA256128SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256128SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: crypto::tink::subtle::SphincsSHA256128SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256128SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: crypto::tink::subtle::SphincsSHA256192FRobustPqclean::SphincsSHA256192FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256192FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 496
    functionName: ~SphincsSHA256192FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256192FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: crypto::tink::subtle::SphincsSHA256192FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: crypto::tink::subtle::SphincsSHA256192FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: crypto::tink::subtle::SphincsSHA256192FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: crypto::tink::subtle::SphincsSHA256192SRobustPqclean::SphincsSHA256192SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256192SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 522
    functionName: ~SphincsSHA256192SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256192SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: crypto::tink::subtle::SphincsSHA256192SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: crypto::tink::subtle::SphincsSHA256192SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: crypto::tink::subtle::SphincsSHA256192SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 546
    functionName: crypto::tink::subtle::SphincsSHA256192FSimplePqclean::SphincsSHA256192FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256192FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: ~SphincsSHA256192FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256192FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: crypto::tink::subtle::SphincsSHA256192FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: crypto::tink::subtle::SphincsSHA256192FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: crypto::tink::subtle::SphincsSHA256192FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: crypto::tink::subtle::SphincsSHA256192SSimplePqclean::SphincsSHA256192SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256192SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 574
    functionName: ~SphincsSHA256192SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256192SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 580
    functionName: crypto::tink::subtle::SphincsSHA256192SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 586
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 586
    functionName: crypto::tink::subtle::SphincsSHA256192SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256192SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: crypto::tink::subtle::SphincsSHA256192SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256192SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: crypto::tink::subtle::SphincsSHA256256FRobustPqclean::SphincsSHA256256FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256256FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 600
    functionName: ~SphincsSHA256256FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256256FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: crypto::tink::subtle::SphincsSHA256256FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 612
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 612
    functionName: crypto::tink::subtle::SphincsSHA256256FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: crypto::tink::subtle::SphincsSHA256256FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: crypto::tink::subtle::SphincsSHA256256SRobustPqclean::SphincsSHA256256SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256256SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 626
    functionName: ~SphincsSHA256256SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256256SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 632
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 632
    functionName: crypto::tink::subtle::SphincsSHA256256SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: crypto::tink::subtle::SphincsSHA256256SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: crypto::tink::subtle::SphincsSHA256256SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 650
    functionName: crypto::tink::subtle::SphincsSHA256256FSimplePqclean::SphincsSHA256256FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256256FSimplePqclean()
  - 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: ~SphincsSHA256256FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256256FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: crypto::tink::subtle::SphincsSHA256256FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: crypto::tink::subtle::SphincsSHA256256FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 668
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 668
    functionName: crypto::tink::subtle::SphincsSHA256256FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: crypto::tink::subtle::SphincsSHA256256SSimplePqclean::SphincsSHA256256SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHA256256SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 678
    functionName: ~SphincsSHA256256SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHA256256SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: crypto::tink::subtle::SphincsSHA256256SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: crypto::tink::subtle::SphincsSHA256256SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHA256256SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 694
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 694
    functionName: crypto::tink::subtle::SphincsSHA256256SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHA256256SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::SphincsSHAKE256128FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256128FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 704
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 704
    functionName: ~SphincsSHAKE256128FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256128FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::SphincsSHAKE256128SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256128SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 730
    functionName: ~SphincsSHAKE256128SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256128SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::SphincsSHAKE256128FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256128FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 756
    functionName: ~SphincsSHAKE256128FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256128FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::SphincsSHAKE256128SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256128SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 782
    functionName: ~SphincsSHAKE256128SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256128SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 788
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 788
    functionName: crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 794
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 794
    functionName: crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256128SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 798
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 798
    functionName: crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256128SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::SphincsSHAKE256192FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256192FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 808
    functionName: ~SphincsSHAKE256192FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256192FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 814
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 814
    functionName: crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::SphincsSHAKE256192SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256192SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 834
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 834
    functionName: ~SphincsSHAKE256192SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256192SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 840
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 840
    functionName: crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 846
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 846
    functionName: crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 850
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 850
    functionName: crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::SphincsSHAKE256192FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256192FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 860
    functionName: ~SphincsSHAKE256192FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256192FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 872
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 872
    functionName: crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    functionName: crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::SphincsSHAKE256192SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256192SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 886
    functionName: ~SphincsSHAKE256192SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256192SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 898
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 898
    functionName: crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256192SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 902
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 902
    functionName: crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256192SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::SphincsSHAKE256256FRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256256FRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 912
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 912
    functionName: ~SphincsSHAKE256256FRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256256FRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256FROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 918
    functionName: crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256FROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256FROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 924
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 924
    functionName: crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256FROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256FROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256FROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 936
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 936
    functionName: crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::SphincsSHAKE256256SRobustPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256256SRobustPqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 938
    functionName: ~SphincsSHAKE256256SRobustPqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256256SRobustPqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256SROBUST_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256SROBUST_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256SROBUST_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256SROBUST_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256SROBUST_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    functionName: crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256SROBUST_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 962
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 962
    functionName: crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::SphincsSHAKE256256FSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256256FSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 964
    functionName: ~SphincsSHAKE256256FSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256256FSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256FSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 970
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 970
    functionName: crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256FSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256FSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256FSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256FSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256FSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::SphincsSHAKE256256SSimplePqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsSHAKE256256SSimplePqclean()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 990
    functionName: ~SphincsSHAKE256256SSimplePqclean() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSHAKE256256SSimplePqclean() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256SSIMPLE_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - sk
    argTypes:
    - uint8_t*
    - size_t*
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256SSIMPLE_crypto_sign_signature
    linkageType: ''
    returnType: int
    signature: "int Sign(uint8_t *sig, size_t *siglen, const uint8_t *m, size_t mlen,\n
      \          const uint8_t *sk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256SSIMPLE_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sig
    - siglen
    - m
    - mlen
    - pk
    argTypes:
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256SSIMPLE_crypto_sign_verify
    linkageType: ''
    returnType: int
    signature: "int Verify(const uint8_t *sig, size_t siglen, const uint8_t *m, size_t
      mlen,\n             const uint8_t *pk) const override"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_SPHINCSSHAKE256256SSIMPLE_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pk
    - sk
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1006
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1006
    functionName: crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::Keygen
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - PQCLEAN_SPHINCSSHAKE256256SSIMPLE_crypto_sign_keypair
    linkageType: ''
    returnType: int
    signature: int Keygen(uint8_t *pk, uint8_t *sk) const override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1013,1
    - Dst: absl::make_unique<SphincsHaraka128FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1014,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1015,1
    - Dst: absl::make_unique<SphincsHaraka128SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1016,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1017,1
    - Dst: absl::make_unique<SphincsHaraka128FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1018,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1019,1
    - Dst: absl::make_unique<SphincsHaraka128SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1020,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1021,1
    - Dst: absl::make_unique<SphincsHaraka192FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1022,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1023,1
    - Dst: absl::make_unique<SphincsHaraka192SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1024,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1025,1
    - Dst: absl::make_unique<SphincsHaraka192FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1026,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1027,1
    - Dst: absl::make_unique<SphincsHaraka192SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1028,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1029,1
    - Dst: absl::make_unique<SphincsHaraka256FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1030,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1031,1
    - Dst: absl::make_unique<SphincsHaraka256SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1032,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1033,1
    - Dst: absl::make_unique<SphincsHaraka256FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1034,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1035,1
    - Dst: absl::make_unique<SphincsHaraka256SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1036,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1038,1
    - Dst: absl::make_unique<SphincsSHA256128FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1039,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1040,1
    - Dst: absl::make_unique<SphincsSHA256128SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1041,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1042,1
    - Dst: absl::make_unique<SphincsSHA256128FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1043,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1044,1
    - Dst: absl::make_unique<SphincsSHA256128SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1045,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1046,1
    - Dst: absl::make_unique<SphincsSHA256192FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1047,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1048,1
    - Dst: absl::make_unique<SphincsSHA256192SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1049,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1050,1
    - Dst: absl::make_unique<SphincsSHA256192FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1051,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1052,1
    - Dst: absl::make_unique<SphincsSHA256192SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1053,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1054,1
    - Dst: absl::make_unique<SphincsSHA256256FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1055,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1056,1
    - Dst: absl::make_unique<SphincsSHA256256SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1057,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1058,1
    - Dst: absl::make_unique<SphincsSHA256256FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1059,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1060,1
    - Dst: absl::make_unique<SphincsSHA256256SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1061,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1063,1
    - Dst: absl::make_unique<SphincsSHAKE256128FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1064,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1065,1
    - Dst: absl::make_unique<SphincsSHAKE256128SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1066,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1067,1
    - Dst: absl::make_unique<SphincsSHAKE256128FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1068,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1069,1
    - Dst: absl::make_unique<SphincsSHAKE256128SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1070,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1071,1
    - Dst: absl::make_unique<SphincsSHAKE256192FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1072,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1073,1
    - Dst: absl::make_unique<SphincsSHAKE256192SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1074,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1075,1
    - Dst: absl::make_unique<SphincsSHAKE256192FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1076,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1077,1
    - Dst: absl::make_unique<SphincsSHAKE256192SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1078,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1079,1
    - Dst: absl::make_unique<SphincsSHAKE256256FRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1080,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1081,1
    - Dst: absl::make_unique<SphincsSHAKE256256SRobustPqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1082,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1083,1
    - Dst: absl::make_unique<SphincsSHAKE256256FSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1084,1
    - Dst: std::vector::push_back
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1085,1
    - Dst: absl::make_unique<SphincsSHAKE256256SSimplePqclean>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1089
    functionName: crypto::tink::subtle::GetSphincsPqcleanHelperArray
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - absl::make_unique<SphincsHaraka256SRobustPqclean>
    - absl::make_unique<SphincsSHAKE256256FRobustPqclean>
    - absl::make_unique<SphincsHaraka128SRobustPqclean>
    - absl::make_unique<SphincsHaraka192SSimplePqclean>
    - absl::make_unique<SphincsSHA256192SRobustPqclean>
    - absl::make_unique<SphincsSHA256192FSimplePqclean>
    - absl::make_unique<SphincsSHAKE256128FSimplePqclean>
    - absl::make_unique<SphincsSHAKE256128SSimplePqclean>
    - absl::make_unique<SphincsSHAKE256192FRobustPqclean>
    - absl::make_unique<SphincsSHA256256SSimplePqclean>
    - absl::make_unique<SphincsSHAKE256256SSimplePqclean>
    - absl::make_unique<SphincsSHA256128FRobustPqclean>
    - absl::make_unique<SphincsSHA256192FRobustPqclean>
    - absl::make_unique<SphincsSHAKE256128SRobustPqclean>
    - absl::make_unique<SphincsHaraka192FRobustPqclean>
    - absl::make_unique<SphincsSHAKE256192FSimplePqclean>
    - absl::make_unique<SphincsHaraka128FSimplePqclean>
    - absl::make_unique<SphincsSHA256128FSimplePqclean>
    - absl::make_unique<SphincsHaraka256SSimplePqclean>
    - absl::make_unique<SphincsSHAKE256192SSimplePqclean>
    - absl::make_unique<SphincsSHAKE256128FRobustPqclean>
    - absl::make_unique<SphincsSHA256128SRobustPqclean>
    - absl::make_unique<SphincsSHA256256SRobustPqclean>
    - absl::make_unique<SphincsHaraka192SRobustPqclean>
    - absl::make_unique<SphincsHaraka128FRobustPqclean>
    - absl::make_unique<SphincsSHA256128SSimplePqclean>
    - absl::make_unique<SphincsSHA256256FSimplePqclean>
    - std::vector::push_back
    - absl::make_unique<SphincsHaraka128SSimplePqclean>
    - absl::make_unique<SphincsHaraka192FSimplePqclean>
    - absl::make_unique<SphincsSHAKE256256SRobustPqclean>
    - absl::make_unique<SphincsSHA256256FRobustPqclean>
    - absl::make_unique<SphincsSHAKE256256FSimplePqclean>
    - absl::make_unique<SphincsHaraka256FRobustPqclean>
    - absl::make_unique<SphincsSHAKE256192SRobustPqclean>
    - absl::make_unique<SphincsSHA256192SSimplePqclean>
    - absl::make_unique<SphincsHaraka256FSimplePqclean>
    linkageType: ''
    returnType: std::vector<std::unique_ptr<SphincsHelperPqclean>>
    signature: std::vector<std::unique_ptr<SphincsHelperPqclean>> GetSphincsPqcleanHelperArray()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::GetSphincsPqcleanHelperArray
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1095,1
    - Dst: std::vector::vector
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1095,1
    - Dst: std::vector*::at
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - hash_type
    - variant
    - key_size
    - signature_length
    argTypes:
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1104
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1104
    functionName: crypto::tink::subtle::GetSphincsHelperPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GetSphincsPqcleanHelperArray
    - std::vector::vector
    - std::vector*::at
    linkageType: ''
    returnType: SphincsHelperPqclean
    signature: "SphincsHelperPqclean &GetSphincsHelperPqclean(int hash_type, int variant,\n
      \                                                   int key_size,\n                                                    int
      signature_length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:98,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:99,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:102,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:113,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:117,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:118,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:122,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:123,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:126,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:127,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - IsFipsModeEnabled
    - EXPECT_EQ
    - size
    - IsOk
    - EXPECT_NE
    - ASSERT_THAT
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignTest, SignatureLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:131,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:132,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:135,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:146,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:150,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:151,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:154,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:155,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:160,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:163,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:164,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:168,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:168,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:170,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:171,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:171,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 175
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - IsFipsModeEnabled
    - EXPECT_EQ
    - size
    - IsOk
    - EXPECT_NE
    - ASSERT_THAT
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignTest, NonDeterminism)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:178,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:179,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:182,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:192,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:193,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:193,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:196,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:196,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:196,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - GetParam
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsSignTest, FipsMode)
  - 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: ~DilithiumAvx2Sign() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DilithiumAvx2Sign() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - DilithiumPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::DilithiumAvx2Sign::DilithiumAvx2Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void DilithiumAvx2Sign(DilithiumPrivateKeyPqclean private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:66,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:67,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:80,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:81,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumAvx2SignTest, InvalidPrivateKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:89,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:90,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:93,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:98,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:101,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:105,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:106,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:106,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:110,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:110,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:111,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:111,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:114,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:115,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - EXPECT_EQ
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - std::move
    - EXPECT_NE
    - size
    - ASSERT_THAT
    - GTEST_SKIP
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2SignTest, SignatureLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:119,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:120,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:123,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:128,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:131,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:131,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:136,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:139,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:140,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:140,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:145,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:146,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:149,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:150,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:154,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:157,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 161
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - EXPECT_EQ
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - std::move
    - EXPECT_NE
    - size
    - ASSERT_THAT
    - GTEST_SKIP
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2SignTest, Determinism)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:164,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:165,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:168,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:173,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:176,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:176,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:179,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:179,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2SignTest, FipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - DilithiumPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: crypto::tink::subtle::DilithiumAvx2Verify::DilithiumAvx2Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumAvx2Verify(DilithiumPublicKeyPqclean public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:90,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:100,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:101,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:101,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:104,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:104,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:106,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - util::StatusOr::GetPublicKey
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - GetParam
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsUtilsTest, SphincsKeysLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:111,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:121,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:122,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:122,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:125,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:125,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:125,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - crypto::tink::util::SecretDataAsStringView
    - util::StatusOr::GetPublicKey
    - IsOk
    - EXPECT_NE
    - ASSERT_THAT
    - GetParam
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsUtilsTest, DifferentContent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:137,1
    - Dst: crypto::tink::subtle::ValidatePrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidatePrivateKeySize
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsUtilsTest, InvalidPrivateKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:149,1
    - Dst: crypto::tink::subtle::ValidatePublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::subtle::ValidatePublicKeySize
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsUtilsTest, InvalidPublicKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:163,1
    - Dst: crypto::tink::subtle::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateParams
    - GetParam
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsUtilsTest, ValidParams)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:174,1
    - Dst: crypto::tink::subtle::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateParams
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsUtilsTest, InvalidHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:185,1
    - Dst: crypto::tink::subtle::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateParams
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsUtilsTest, InvalidVariant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:196,1
    - Dst: crypto::tink::subtle::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateParams
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(SphincsUtilsTest, InvalidSignatureType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: crypto::tink::subtle::DilithiumPublicKeyPqclean::DilithiumPublicKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumPublicKeyPqclean(const DilithiumPublicKeyPqclean& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: '& operator=(const DilithiumPublicKeyPqclean& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPublicKeyPqclean
    signature: DilithiumPublicKeyPqclean & operator=(const DilithiumPublicKeyPqclean&
      other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_data
    - seed_expansion
    argTypes:
    - absl::string_view
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::DilithiumPublicKeyPqclean::DilithiumPublicKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DilithiumPublicKeyPqclean(absl::string_view key_data,\n                            DilithiumSeedExpansion
      seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: crypto::tink::subtle::DilithiumPrivateKeyPqclean::DilithiumPrivateKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DilithiumPrivateKeyPqclean(const DilithiumPrivateKeyPqclean& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - DilithiumPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: "& operator=(\n      const DilithiumPrivateKeyPqclean& other)"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumPrivateKeyPqclean
    signature: "DilithiumPrivateKeyPqclean & operator=(\n      const DilithiumPrivateKeyPqclean&
      other)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_data
    - seed_expansion
    argTypes:
    - util::SecretData
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: crypto::tink::subtle::DilithiumPrivateKeyPqclean::DilithiumPrivateKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void DilithiumPrivateKeyPqclean(util::SecretData key_data,\n                             DilithiumSeedExpansion
      seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::DilithiumPrivateKeyPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key_data
    - seed_expansion
    argTypes:
    - util::SecretData
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::DilithiumPrivateKeyPqclean
    linkageType: ''
    returnType: util::StatusOr<DilithiumPrivateKeyPqclean>
    signature: "util::StatusOr<DilithiumPrivateKeyPqclean> DilithiumPrivateKeyPqclean::NewPrivateKey(\n
      \   util::SecretData key_data, DilithiumSeedExpansion seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:57,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:65,1
    - Dst: PQCLEAN_DILITHIUM2AES_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:66,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:67,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:67,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:68,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:68,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:72,1
    - Dst: PQCLEAN_DILITHIUM2_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:73,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:74,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:74,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:75,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:79,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:89,1
    - Dst: PQCLEAN_DILITHIUM3AES_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:90,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:91,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:91,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:92,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:92,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:96,1
    - Dst: PQCLEAN_DILITHIUM3_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:97,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:98,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:98,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:99,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:103,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:113,1
    - Dst: PQCLEAN_DILITHIUM5AES_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:114,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:115,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:115,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:116,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:116,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:120,1
    - Dst: PQCLEAN_DILITHIUM5_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:121,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:122,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:122,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:123,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:123,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:135,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:137,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:147,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:150,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:150,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:153,1
    - Dst: std::make_pair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:155,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - private_key_size
    - seed_expansion
    argTypes:
    - int32_t
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 156
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 156
    functionName: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - std::string::data
    - PQCLEAN_DILITHIUM5_crypto_sign_keypair
    - std::string::resize
    - PQCLEAN_DILITHIUM2AES_crypto_sign_keypair
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
    - PQCLEAN_DILITHIUM3_crypto_sign_keypair
    - crypto::tink::internal::ExtractStatus
    - std::make_pair
    - std::move
    - crypto::tink::util::SecretDataFromStringView
    - PQCLEAN_DILITHIUM5AES_crypto_sign_keypair
    - absl::StrFormat
    - reinterpret_cast<uint8_t*>
    - PQCLEAN_DILITHIUM2_crypto_sign_keypair
    - PQCLEAN_DILITHIUM3AES_crypto_sign_keypair
    linkageType: ''
    returnType: util::StatusOr<std::pair<DilithiumPrivateKeyPqclean, DilithiumPublicKeyPqclean>>
    signature: "util::StatusOr<std::pair<DilithiumPrivateKeyPqclean, DilithiumPublicKeyPqclean>>
      DilithiumPrivateKeyPqclean::GenerateKeyPair(\n    int32_t private_key_size,
      DilithiumSeedExpansion seed_expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: '& DilithiumPrivateKeyPqclean::GetKeyData() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData & DilithiumPrivateKeyPqclean::GetKeyData() 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: "& DilithiumPrivateKeyPqclean::GetSeedExpansion()\n    const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumSeedExpansion
    signature: "DilithiumSeedExpansion & DilithiumPrivateKeyPqclean::GetSeedExpansion()\n
      \   const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::DilithiumPublicKeyPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key_data
    - seed_expansion
    argTypes:
    - absl::string_view
    - DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 4
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::DilithiumPublicKeyPqclean
    linkageType: ''
    returnType: util::StatusOr<DilithiumPublicKeyPqclean>
    signature: "util::StatusOr<DilithiumPublicKeyPqclean> DilithiumPublicKeyPqclean::NewPublicKey(absl::string_view
      key_data,\n                                        DilithiumSeedExpansion seed_expansion)"
  - 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: '& DilithiumPublicKeyPqclean::GetKeyData() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & DilithiumPublicKeyPqclean::GetKeyData() const
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: "& DilithiumPublicKeyPqclean::GetSeedExpansion()\n    const"
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: DilithiumSeedExpansion
    signature: "DilithiumSeedExpansion & DilithiumPublicKeyPqclean::GetSeedExpansion()\n
      \   const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<DilithiumAvx2Verify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:53,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:61,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:63,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:70,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:70,1
    - Dst: DilithiumAvx2Verify::DilithiumAvx2Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - DilithiumPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: crypto::tink::subtle::DilithiumAvx2Verify::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc
    functionUses: 3
    functionsReached:
    - internal::CheckFipsCompatibility<DilithiumAvx2Verify>
    - auto::ok
    - DilithiumAvx2Verify::DilithiumAvx2Verify
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - absl::StrFormat
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> DilithiumAvx2Verify::New(\n
      \   DilithiumPublicKeyPqclean public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSeedExpansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:80,1
    - Dst: PQCLEAN_DILITHIUM2AES_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:82,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:83,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:83,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:84,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:84,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:84,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:85,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:86,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:87,1
    - Dst: PQCLEAN_DILITHIUM2_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:92,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:93,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:93,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:94,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:94,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:94,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:95,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:96,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:97,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:101,1
    - Dst: GetSeedExpansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:108,1
    - Dst: PQCLEAN_DILITHIUM3AES_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:110,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:111,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:111,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:112,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:112,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:112,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:113,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:114,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:115,1
    - Dst: PQCLEAN_DILITHIUM3_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:119,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:120,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:120,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:121,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:121,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:121,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:122,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:123,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:124,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:128,1
    - Dst: GetSeedExpansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:135,1
    - Dst: PQCLEAN_DILITHIUM5AES_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:137,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:138,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:138,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:139,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:139,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:139,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:140,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:141,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:142,1
    - Dst: PQCLEAN_DILITHIUM5_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:146,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:147,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:147,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:148,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:148,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:148,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:149,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:150,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:151,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:155,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:162,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:166,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 171
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 171
    functionName: crypto::tink::subtle::DilithiumAvx2Verify::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - GetSeedExpansion
    - GetKeyData
    - PQCLEAN_DILITHIUM2_crypto_sign_verify
    - crypto::tink::internal::ExtractStatus
    - PQCLEAN_DILITHIUM5_crypto_sign_verify
    - PQCLEAN_DILITHIUM3_crypto_sign_verify
    - PQCLEAN_DILITHIUM3AES_crypto_sign_verify
    - PQCLEAN_DILITHIUM5AES_crypto_sign_verify
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    - PQCLEAN_DILITHIUM2AES_crypto_sign_verify
    linkageType: ''
    returnType: util::Status
    signature: "util::Status DilithiumAvx2Verify::Verify(absl::string_view signature,\n
      \                                        absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:56,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:57,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:60,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:64,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:65,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:69,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:70,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:74,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:75,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:75,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:78,1
    - Dst: EXPECT_LE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:79,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - IsFipsModeEnabled
    - size
    - IsOk
    - EXPECT_NE
    - ASSERT_THAT
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignTest, ValidSignatureLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:83,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:84,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:87,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:91,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:92,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:92,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:96,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:96,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:97,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:97,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:101,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:102,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:102,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:104,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:105,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:105,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:108,1
    - Dst: EXPECT_LE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:109,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:109,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:111,1
    - Dst: EXPECT_LE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:112,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 116
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_LE
    - IsFipsModeEnabled
    - size
    - IsOk
    - EXPECT_NE
    - ASSERT_THAT
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignTest, NonDeterminism)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:119,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:120,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:123,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:127,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:128,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:131,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:131,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:131,1
    - Dst: test::StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - test::StatusIs
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - GetParam
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconSignTest, FipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:62,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:63,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:66,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:70,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:71,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:71,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:75,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:75,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:76,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:76,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:80,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:81,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:85,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:85,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:86,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:86,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:89,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:90,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 91
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - EXPECT_THAT
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyTest, BasicSignVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:94,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:95,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:98,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:102,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:103,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:103,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:107,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:108,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:108,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:112,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:113,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:113,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:117,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:117,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:118,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:118,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:122,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:123,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - EXPECT_FALSE
    - Status::ok
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyTest, FailsWithWrongSignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:127,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:128,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:131,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:135,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:136,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:136,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:140,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:140,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:141,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:141,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:145,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:146,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:146,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:150,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:150,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:151,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:151,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:154,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:155,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 156
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - EXPECT_FALSE
    - Status::ok
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyTest, FailsWithWrongMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:159,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:160,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:163,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:168,1
    - Dst: crypto::tink::subtle::FalconSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:172,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:172,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:173,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:173,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:178,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:178,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:182,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:182,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:183,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:183,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:189,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:190,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 191
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - EXPECT_FALSE
    - Status::ok
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::FalconSign::New
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyTest, FailsWithBytesFlipped)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:194,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:195,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:198,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:202,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:203,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:203,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:206,1
    - Dst: crypto::tink::subtle::FalconVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:206,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:206,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::FalconVerify::New
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - GetParam
    - crypto::tink::subtle::GenerateFalconKeyPair
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconVerifyTest, FipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:57,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:62,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:65,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:65,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:68,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:69,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - GetKeyData
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - ASSERT_THAT
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumKeyTest, DilithiumKeysLength)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:73,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:78,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:81,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:81,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:84,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:84,1
    - Dst: util::StatusOr::first::GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:84,1
    - Dst: util::StatusOr::second::GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - IsOk
    - EXPECT_NE
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - util::StatusOr::first::GetKeyData
    - ASSERT_THAT
    - util::StatusOr::second::GetKeyData
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumKeyTest, DifferentContent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<DilithiumAvx2Sign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:53,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:54,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:61,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:63,1
    - Dst: DilithiumPrivateKeyPqclean::GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:65,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:71,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:71,1
    - Dst: DilithiumAvx2Sign::DilithiumAvx2Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - DilithiumPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: crypto::tink::subtle::DilithiumAvx2Sign::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc
    functionUses: 7
    functionsReached:
    - internal::CheckFipsCompatibility<DilithiumAvx2Sign>
    - auto::ok
    - crypto::tink::internal::ExtractStatus
    - std::move
    - absl::WrapUnique
    - DilithiumPrivateKeyPqclean::GetKeyData
    - absl::StrFormat
    - DilithiumAvx2Sign::DilithiumAvx2Sign
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> DilithiumAvx2Sign::New(\n
      \   DilithiumPrivateKeyPqclean private_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetSeedExpansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:83,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:85,1
    - Dst: PQCLEAN_DILITHIUM2AES_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:86,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:87,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:87,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:88,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:88,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:88,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:89,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:90,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:94,1
    - Dst: PQCLEAN_DILITHIUM2_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:95,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:96,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:96,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:97,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:97,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:97,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:98,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:99,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:104,1
    - Dst: GetSeedExpansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:111,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:113,1
    - Dst: PQCLEAN_DILITHIUM3AES_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:114,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:115,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:115,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:116,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:116,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:116,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:117,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:118,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:122,1
    - Dst: PQCLEAN_DILITHIUM3_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:123,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:124,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:124,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:125,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:125,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:125,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:126,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:131,1
    - Dst: GetSeedExpansion
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:138,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:140,1
    - Dst: PQCLEAN_DILITHIUM5AES_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:141,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:142,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:142,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:143,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:143,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:143,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:144,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:145,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:149,1
    - Dst: PQCLEAN_DILITHIUM5_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:150,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:151,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:151,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:152,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:152,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:152,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:153,1
    - Dst: GetKeyData
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:154,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:158,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:165,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc:169,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 173
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 173
    functionName: crypto::tink::subtle::DilithiumAvx2Sign::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - PQCLEAN_DILITHIUM3_crypto_sign_signature
    - std::string::resize
    - GetSeedExpansion
    - reinterpret_cast<const uint8_t *>
    - absl::string_view::size
    - GetKeyData
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - PQCLEAN_DILITHIUM5_crypto_sign_signature
    - PQCLEAN_DILITHIUM5AES_crypto_sign_signature
    - PQCLEAN_DILITHIUM3AES_crypto_sign_signature
    - PQCLEAN_DILITHIUM2AES_crypto_sign_signature
    - absl::string_view::data
    - PQCLEAN_DILITHIUM2_crypto_sign_signature
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: "util::StatusOr<std::string> DilithiumAvx2Sign::Sign(\n    absl::string_view
      data) const"
  - 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: ~SphincsSign() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsSign() override
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - SphincsPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: crypto::tink::subtle::SphincsSign::SphincsSign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SphincsSign(SphincsPrivateKeyPqclean key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<FalconVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:47,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:48,1
    - Dst: absl::WrapUnique<FalconVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:51,1
    - Dst: FalconVerify::FalconVerify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - FalconPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: crypto::tink::subtle::FalconVerify::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc
    functionUses: 8
    functionsReached:
    - FalconVerify::FalconVerify
    - auto::ok
    - internal::CheckFipsCompatibility<FalconVerify>
    - absl::WrapUnique<FalconVerify>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> FalconVerify::New(\n
      \   const FalconPublicKeyPqclean& public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PQCLEAN_FALCON512_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:61,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:62,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:62,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:62,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:63,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:63,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:63,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:64,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:64,1
    - Dst: PQCLEAN_FALCON1024_crypto_sign_verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:68,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:69,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:69,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:69,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:70,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:70,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:70,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:71,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:71,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:75,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:80,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: crypto::tink::subtle::FalconVerify::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc
    functionUses: 0
    functionsReached:
    - absl::string_view::size
    - reinterpret_cast<const uint8_t *>
    - PQCLEAN_FALCON512_crypto_sign_verify
    - GetKey
    - crypto::tink::internal::ExtractStatus
    - PQCLEAN_FALCON1024_crypto_sign_verify
    - crypto::tink::util::OkStatus
    - absl::string_view::data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status FalconVerify::Verify(absl::string_view signature,\n                                  absl::string_view
      data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<FalconSign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:48,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:49,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:51,1
    - Dst: FalconSign::FalconSign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' key'
    argTypes:
    - FalconPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: crypto::tink::subtle::FalconSign::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc
    functionUses: 10
    functionsReached:
    - internal::CheckFipsCompatibility<FalconSign>
    - FalconSign::FalconSign
    - auto::ok
    - absl::WrapUnique
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> FalconSign::New(\n
      \   const FalconPrivateKeyPqclean& key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:62,1
    - Dst: PQCLEAN_FALCON512_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:63,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:64,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:64,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:65,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:65,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:65,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:66,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:66,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:73,1
    - Dst: PQCLEAN_FALCON1024_crypto_sign_signature
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:74,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:75,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:75,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:76,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:76,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:76,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:77,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:84,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:89,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 94
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 94
    functionName: crypto::tink::subtle::FalconSign::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc
    functionUses: 0
    functionsReached:
    - std::string::data
    - std::string::resize
    - reinterpret_cast<const uint8_t *>
    - absl::string_view::size
    - PQCLEAN_FALCON1024_crypto_sign_signature
    - GetKey
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - PQCLEAN_FALCON512_crypto_sign_signature
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> FalconSign::Sign(absl::string_view data)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<SphincsSign>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:44,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:45,1
    - Dst: ValidatePrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:47,1
    - Dst: SphincsPrivateKeyPqclean::GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:47,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:48,1
    - Dst: ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:52,1
    - Dst: SphincsPrivateKeyPqclean::GetParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:52,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:53,1
    - Dst: absl::WrapUnique
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:57,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:57,1
    - Dst: SphincsSign::SphincsSign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - SphincsPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::SphincsSign::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc
    functionUses: 6
    functionsReached:
    - SphincsPrivateKeyPqclean::GetKey
    - util::Status::ok
    - auto::ok
    - std::move
    - ValidateParams
    - absl::WrapUnique
    - internal::CheckFipsCompatibility<SphincsSign>
    - ValidatePrivateKeySize
    - SphincsPrivateKeyPqclean::GetParams
    - SphincsSign::SphincsSign
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeySign>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeySign>> SphincsSign::New(\n
      \   SphincsPrivateKeyPqclean key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SphincsKeySizeToIndex
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:62,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:62,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:63,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:64,1
    - Dst: GetParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:68,1
    - Dst: GetSphincsHelperPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:70,1
    - Dst: SphincsHelperPqclean::GetSignatureLength
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:72,1
    - Dst: SphincsHelperPqclean::Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:74,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:75,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:75,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:76,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:76,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:76,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:77,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:77,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: crypto::tink::subtle::SphincsSign::Sign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc
    functionUses: 0
    functionsReached:
    - SphincsKeySizeToIndex
    - std::string::data
    - absl::string_view::size
    - GetParams
    - util::StatusOr::status
    - reinterpret_cast<const uint8_t *>
    - GetKey
    - crypto::tink::internal::ExtractStatus
    - reinterpret_cast<uint8_t *>
    - SphincsHelperPqclean::Sign
    - util::StatusOr::ok
    - SphincsHelperPqclean::GetSignatureLength
    - GetSphincsHelperPqclean
    - absl::string_view::data
    linkageType: ''
    returnType: util::StatusOr<std::string>
    signature: util::StatusOr<std::string> SphincsSign::Sign(absl::string_view data)
      const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:100,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:101,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:104,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:115,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:119,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:120,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:125,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:129,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:129,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:130,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:130,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:133,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:134,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - EXPECT_THAT
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyTest, BasicSignVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:138,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:139,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:142,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:152,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:153,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:153,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:157,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:157,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:158,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:158,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:162,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:163,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:163,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:167,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:167,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:168,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:168,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:173,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 174
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - util::StatusOr::GetPublicKey
    - Status::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyTest, FailsWithWrongSignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:177,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:178,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:181,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:191,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:192,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:192,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:196,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:196,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:197,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:197,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:201,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:202,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:202,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:206,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:206,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:207,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:207,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:210,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:211,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 212
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - util::StatusOr::GetPublicKey
    - Status::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyTest, FailsWithWrongMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:215,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:216,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:219,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:229,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:230,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:230,1
    - Dst: crypto::tink::subtle::SphincsSign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:234,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:234,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:235,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:235,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:239,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:240,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:240,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:244,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:244,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:245,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:245,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:251,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:252,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 253
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - util::StatusOr::GetPublicKey
    - Status::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - ASSERT_THAT
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    - crypto::tink::subtle::SphincsSign::New
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyTest, FailsWithBytesFlipped)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:256,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:257,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:260,1
    - Dst: crypto::tink::subtle::GenerateSphincsKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:270,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:271,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:271,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:274,1
    - Dst: crypto::tink::subtle::SphincsVerify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:274,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:274,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 276
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::GenerateSphincsKeyPair
    - util::StatusOr::GetPublicKey
    - IsFipsModeEnabled
    - crypto::tink::subtle::SphincsVerify::New
    - IsOk
    - ASSERT_THAT
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(SphincsVerifyTest, FipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h:75,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_data
    - params
    argTypes:
    - util::SecretData
    - SphincsParamsPqclean
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::SphincsPrivateKeyPqclean::SphincsPrivateKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SphincsPrivateKeyPqclean(util::SecretData key_data,\n                                    SphincsParamsPqclean
      params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SphincsPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: crypto::tink::subtle::SphincsPrivateKeyPqclean::SphincsPrivateKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsPrivateKeyPqclean(const SphincsPrivateKeyPqclean& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SphincsPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: '& operator=(const SphincsPrivateKeyPqclean& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsPrivateKeyPqclean
    signature: SphincsPrivateKeyPqclean & operator=(const SphincsPrivateKeyPqclean&
      other)
  - 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: '& GetKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: util::SecretData
    signature: util::SecretData & GetKey() 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: '& GetParams() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsParamsPqclean
    signature: SphincsParamsPqclean & GetParams() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h:93,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key_data
    - params
    argTypes:
    - std::string
    - SphincsParamsPqclean
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: crypto::tink::subtle::SphincsPublicKeyPqclean::SphincsPublicKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SphincsPublicKeyPqclean(std::string key_data, SphincsParamsPqclean
      params)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SphincsPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: crypto::tink::subtle::SphincsPublicKeyPqclean::SphincsPublicKeyPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsPublicKeyPqclean(const SphincsPublicKeyPqclean& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SphincsPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: '& operator=(const SphincsPublicKeyPqclean& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsPublicKeyPqclean
    signature: SphincsPublicKeyPqclean & operator=(const SphincsPublicKeyPqclean&
      other)
  - 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: '& GetKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & GetKey() 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: '& GetParams() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsParamsPqclean
    signature: SphincsParamsPqclean & GetParams() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h:111,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - SphincsPrivateKeyPqclean
    - SphincsPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: crypto::tink::subtle::SphincsKeyPair::SphincsKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void SphincsKeyPair(SphincsPrivateKeyPqclean private_key,\n                 SphincsPublicKeyPqclean
      public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SphincsKeyPair
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: crypto::tink::subtle::SphincsKeyPair::SphincsKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsKeyPair(const SphincsKeyPair& other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - ' other'
    argTypes:
    - SphincsKeyPair
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: '& operator=(const SphincsKeyPair& other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsKeyPair
    signature: SphincsKeyPair & operator=(const SphincsKeyPair& other)
  - 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: '& GetPrivateKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsPrivateKeyPqclean
    signature: SphincsPrivateKeyPqclean & GetPrivateKey() 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: '& GetPublicKey() const'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsPublicKeyPqclean
    signature: SphincsPublicKeyPqclean & GetPublicKey() const
  - 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: ~FalconSign() override
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FalconSign() override
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' private_key'
    argTypes:
    - FalconPrivateKeyPqclean
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: crypto::tink::subtle::FalconSign::FalconSign
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FalconSign(const FalconPrivateKeyPqclean& private_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - public_key_size
    - signature_length
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: crypto::tink::subtle::SphincsHelperPqclean::SphincsHelperPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHelperPqclean(int public_key_size, int signature_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SphincsHelperPqclean
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: crypto::tink::subtle::SphincsHelperPqclean::SphincsHelperPqclean
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SphincsHelperPqclean(const SphincsHelperPqclean &other)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - other
    argTypes:
    - SphincsHelperPqclean
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: '&operator=(const SphincsHelperPqclean &other)'
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SphincsHelperPqclean
    signature: SphincsHelperPqclean &operator=(const SphincsHelperPqclean &other)
  - 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: ~SphincsHelperPqclean()
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SphincsHelperPqclean()
  - 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: crypto::tink::subtle::SphincsHelperPqclean::GetPublicKeySize
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetPublicKeySize() 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: crypto::tink::subtle::SphincsHelperPqclean::GetSignatureLength
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetSignatureLength() const
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateFalconPrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:44,1
    - Dst: size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:44,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:45,1
    - Dst: crypto::tink::subtle::FalconPrivateKeyPqclean::FalconPrivateKeyPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' key_data'
    argTypes:
    - util::SecretData
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::subtle::FalconPrivateKeyPqclean::FalconPrivateKeyPqclean
    - util::Status::ok
    - ValidateFalconPrivateKeySize
    - size
    linkageType: ''
    returnType: util::StatusOr<FalconPrivateKeyPqclean>
    signature: "util::StatusOr<FalconPrivateKeyPqclean> FalconPrivateKeyPqclean::NewPrivateKey(\n
      \   const util::SecretData& key_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidateFalconPublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:55,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:55,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:56,1
    - Dst: crypto::tink::subtle::FalconPublicKeyPqclean::FalconPublicKeyPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_data
    argTypes:
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc
    functionUses: 3
    functionsReached:
    - crypto::tink::subtle::FalconPublicKeyPqclean::FalconPublicKeyPqclean
    - util::Status::ok
    - ValidateFalconPublicKeySize
    - absl::string_view::size
    linkageType: ''
    returnType: util::StatusOr<FalconPublicKeyPqclean>
    signature: "util::StatusOr<FalconPublicKeyPqclean> FalconPublicKeyPqclean::NewPublicKey(\n
      \   absl::string_view key_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:71,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:72,1
    - Dst: PQCLEAN_FALCON512_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:73,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:74,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:74,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:75,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:75,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:80,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:81,1
    - Dst: PQCLEAN_FALCON1024_crypto_sign_keypair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:82,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:83,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:83,1
    - Dst: reinterpret_cast<uint8_t*>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:84,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:84,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:89,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:91,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:99,1
    - Dst: crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:102,1
    - Dst: crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:104,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:106,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:106,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - private_key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 113
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 113
    functionName: crypto::tink::subtle::GenerateFalconKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc
    functionUses: 9
    functionsReached:
    - std::string::data
    - PQCLEAN_FALCON512_crypto_sign_keypair
    - std::string::resize
    - crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
    - crypto::tink::internal::ExtractStatus
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    - absl::StrFormat
    - reinterpret_cast<uint8_t*>
    - crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
    - PQCLEAN_FALCON1024_crypto_sign_keypair
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<FalconKeyPair>
    signature: "crypto::tink::util::StatusOr<FalconKeyPair> GenerateFalconKeyPair(\n
      \   int32_t private_key_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:119,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:121,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: crypto::tink::subtle::ValidateFalconPrivateKeySize
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrFormat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateFalconPrivateKeySize(int32_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:133,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:135,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: crypto::tink::subtle::ValidateFalconPublicKeySize
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrFormat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateFalconPublicKeySize(int32_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' public_key'
    argTypes:
    - FalconPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: crypto::tink::subtle::FalconVerify::FalconVerify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FalconVerify(const FalconPublicKeyPqclean& public_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - SphincsPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: crypto::tink::subtle::SphincsVerify::SphincsVerify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void SphincsVerify(SphincsPublicKeyPqclean key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:50,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:54,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:55,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:58,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:58,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:60,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::GetPublicKey
    - EXPECT_EQ
    - IsOk
    - ASSERT_THAT
    - GetParam
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconUtilsTest, FalconKeyGeneration)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:65,1
    - Dst: crypto::tink::subtle::GenerateFalconKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:69,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:70,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:70,1
    - Dst: EXPECT_NE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:73,1
    - Dst: crypto::tink::util::SecretDataAsStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:73,1
    - Dst: util::StatusOr::GetPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:73,1
    - Dst: util::StatusOr::GetPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::util::SecretDataAsStringView
    - util::StatusOr::GetPublicKey
    - IsOk
    - EXPECT_NE
    - ASSERT_THAT
    - GetParam
    - crypto::tink::subtle::GenerateFalconKeyPair
    - util::StatusOr::GetPrivateKey
    linkageType: ''
    returnType: void
    signature: void TEST_P(FalconUtilsTest, DifferentContent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:78,1
    - Dst: crypto::tink::subtle::ValidateFalconPrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:78,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:78,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:79,1
    - Dst: crypto::tink::subtle::ValidateFalconPrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:79,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::ValidateFalconPrivateKeySize
    - IsOk
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(FalconUtilsTest, ValidPrivateKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:89,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:90,1
    - Dst: crypto::tink::subtle::ValidateFalconPrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::subtle::ValidateFalconPrivateKeySize
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FalconUtilsTest, InvalidPrivateKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:95,1
    - Dst: crypto::tink::subtle::ValidateFalconPublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:95,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:95,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:96,1
    - Dst: crypto::tink::subtle::ValidateFalconPublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:96,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - IsOk
    - crypto::tink::subtle::ValidateFalconPublicKeySize
    - EXPECT_THAT
    linkageType: ''
    returnType: void
    signature: void TEST(FalconUtilsTest, ValidPublicKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:106,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:107,1
    - Dst: crypto::tink::subtle::ValidateFalconPublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - crypto::tink::subtle::ValidateFalconPublicKeySize
    - std::vector::size
    linkageType: ''
    returnType: void
    signature: void TEST(FalconUtilsTest, InvalidPublicKeySize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:114,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:115,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:117,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:117,1
    - Dst: testing::Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:117,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - util::StatusOr::status
    - crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
    - IsOk
    - crypto::tink::util::SecretDataFromStringView
    - EXPECT_THAT
    - testing::Not
    linkageType: ''
    returnType: void
    signature: void TEST(FalconUtilsTest, InvalidPrivateKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:123,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:125,1
    - Dst: Not
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc: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: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
    functionUses: 0
    functionsReached:
    - Not
    - IsOk
    - EXPECT_THAT
    - crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
    linkageType: ''
    returnType: void
    signature: void TEST(FalconUtilsTest, InvalidPubliceKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:69,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:70,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:75,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:76,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:77,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:90,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:90,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - GTEST_SKIP
    - EXPECT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumAvx2VerifyTest, InvalidPublicKeys)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:98,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:99,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:102,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:107,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:110,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:110,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:115,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:115,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:119,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:120,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:120,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:124,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:124,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:125,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:125,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:128,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:129,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 130
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - Verify
    - GTEST_SKIP
    - EXPECT_THAT
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2VerifyTest, BasicSignVerify)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:133,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:134,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:137,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:142,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:145,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:145,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:149,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:150,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:150,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:154,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:155,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:155,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:159,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:159,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:160,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:160,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:163,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:164,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Status::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2VerifyTest, FailsWithWrongMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:168,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:169,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:172,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:177,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:180,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:180,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:185,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:185,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:189,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:190,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:190,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:194,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:194,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:195,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:195,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:199,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:200,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 201
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Status::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2VerifyTest, FailsWithWrongSignature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:204,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:205,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:208,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:213,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:216,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:216,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Sign::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:220,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:221,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:221,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:226,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:226,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:230,1
    - Dst: Sign
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:231,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:231,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:237,1
    - Dst: EXPECT_FALSE
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:238,1
    - Dst: Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 239
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Status::ok
    - IsFipsModeEnabled
    - crypto::tink::subtle::DilithiumAvx2Sign::New
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - std::move
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - Verify
    - GTEST_SKIP
    - GetParam
    - Sign
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2VerifyTest, FailsWithByteFlipped)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsFipsModeEnabled
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:242,1
    - Dst: GTEST_SKIP
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:243,1
    - Dst: GetParam
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:246,1
    - Dst: crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:251,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:254,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:254,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:256,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:256,1
    - Dst: StatusIs
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: crypto::tink::subtle::TEST_P
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - IsFipsModeEnabled
    - IsOk
    - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - EXPECT_THAT
    - GTEST_SKIP
    - StatusIs
    - GetParam
    linkageType: ''
    returnType: void
    signature: void TEST_P(DilithiumAvx2VerifyTest, FipsMode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:271,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:316,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:319,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:397,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:482,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:485,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:631,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:716,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:719,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:869,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:869,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:871,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:871,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:874,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:875,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 877
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 877
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - IsOk
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - Verify
    - EXPECT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumAvx2VerifyTest, Vectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:883,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:928,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:931,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1011,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1076,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1079,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1186,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1271,1
    - Dst: absl::HexStringToBytes
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1274,1
    - Dst: crypto::tink::subtle::DilithiumAvx2Verify::New
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1425,1
    - Dst: crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1425,1
    - Dst: ASSERT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1427,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1427,1
    - Dst: Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1430,1
    - Dst: EXPECT_THAT
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1431,1
    - Dst: IsOk
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc:1431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 1433
    functionName: crypto::tink::subtle::TEST
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
    functionUses: 0
    functionsReached:
    - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
    - IsOk
    - ASSERT_THAT
    - crypto::tink::subtle::DilithiumAvx2Verify::New
    - Verify
    - EXPECT_THAT
    - absl::HexStringToBytes
    linkageType: ''
    returnType: void
    signature: void TEST(DilithiumAvx2VerifyTest, AesVectors)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::subtle::ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:38,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:39,1
    - Dst: crypto::tink::subtle::SphincsKeySizeToIndex
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:44,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:45,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:46,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:51,1
    - Dst: crypto::tink::subtle::GetSphincsHelperPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:54,1
    - Dst: std::string::resize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:56,1
    - Dst: SphincsHelperPqclean::GetPublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:56,1
    - Dst: SphincsHelperPqclean::Keygen
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:58,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:59,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:59,1
    - Dst: reinterpret_cast<uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:60,1
    - Dst: std::string::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:60,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:61,1
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - params
    argTypes:
    - SphincsParamsPqclean
    constantsTouched: []
    func_position:
      end: 71
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 71
    functionName: crypto::tink::subtle::GenerateSphincsKeyPair
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc
    functionUses: 10
    functionsReached:
    - std::string::data
    - util::Status::ok
    - util::StatusOr::status
    - std::string::resize
    - SphincsHelperPqclean::GetPublicKeySize
    - SphincsHelperPqclean::Keygen
    - crypto::tink::subtle::GetSphincsHelperPqclean
    - reinterpret_cast<uint8_t *>
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::subtle::SphincsKeySizeToIndex
    - crypto::tink::subtle::ValidateParams
    - util::StatusOr::ok
    - crypto::tink::util::SecretDataFromStringView
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<SphincsKeyPair>
    signature: "crypto::tink::util::StatusOr<SphincsKeyPair> GenerateSphincsKeyPair(\n
      \   SphincsParamsPqclean params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:78,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:80,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: crypto::tink::subtle::ValidatePrivateKeySize
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrFormat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidatePrivateKeySize(int32_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:94,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:96,1
    - Dst: absl::StrFormat
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: crypto::tink::subtle::ValidatePublicKeySize
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc
    functionUses: 2
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - absl::StrFormat
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidatePublicKeySize(int32_t key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - key_size
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: crypto::tink::subtle::SphincsKeySizeToIndex
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc
    functionUses: 1
    functionsReached:
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::StatusOr<int32_t>
    signature: crypto::tink::util::StatusOr<int32_t> SphincsKeySizeToIndex(int32_t
      key_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:127,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:138,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:149,1
    - Dst: crypto::tink::subtle::ValidatePrivateKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - params
    argTypes:
    - SphincsParamsPqclean
    constantsTouched: []
    func_position:
      end: 155
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 155
    functionName: crypto::tink::subtle::ValidateParams
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc
    functionUses: 6
    functionsReached:
    - crypto::tink::subtle::ValidatePrivateKeySize
    - crypto::tink::internal::ExtractStatus
    linkageType: ''
    returnType: crypto::tink::util::Status
    signature: crypto::tink::util::Status ValidateParams(SphincsParamsPqclean params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal::CheckFipsCompatibility<SphincsVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:43,1
    - Dst: auto::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:44,1
    - Dst: ValidatePublicKeySize
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:46,1
    - Dst: SphincsPublicKeyPqclean::GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:46,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:47,1
    - Dst: ValidateParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:51,1
    - Dst: SphincsPublicKeyPqclean::GetParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:51,1
    - Dst: util::Status::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:52,1
    - Dst: absl::WrapUnique<SphincsVerify>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:56,1
    - Dst: std::move
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:57,1
    - Dst: SphincsVerify::SphincsVerify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - SphincsPublicKeyPqclean
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: crypto::tink::subtle::SphincsVerify::New
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc
    functionUses: 8
    functionsReached:
    - util::Status::ok
    - auto::ok
    - SphincsPublicKeyPqclean::GetParams
    - internal::CheckFipsCompatibility<SphincsVerify>
    - SphincsVerify::SphincsVerify
    - std::move
    - ValidateParams
    - ValidatePublicKeySize
    - SphincsPublicKeyPqclean::GetKey
    - absl::WrapUnique<SphincsVerify>
    linkageType: ''
    returnType: util::StatusOr<std::unique_ptr<PublicKeyVerify>>
    signature: "util::StatusOr<std::unique_ptr<PublicKeyVerify>> SphincsVerify::New(\n
      \   SphincsPublicKeyPqclean public_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GetParams
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:62,1
    - Dst: SphincsKeySizeToIndex
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:64,1
    - Dst: util::StatusOr::ok
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:65,1
    - Dst: util::StatusOr::status
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:66,1
    - Dst: GetSphincsHelperPqclean
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:70,1
    - Dst: SphincsHelperPqclean::Verify
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:73,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:74,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:74,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:74,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:75,1
    - Dst: absl::string_view::data
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:75,1
    - Dst: absl::string_view::size
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:75,1
    - Dst: reinterpret_cast<const uint8_t *>
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:76,1
    - Dst: GetKey
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:76,1
    - Dst: crypto::tink::internal::ExtractStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:77,1
    - Dst: crypto::tink::util::OkStatus
      Src: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - signature
    - data
    argTypes:
    - absl::string_view
    - absl::string_view
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: crypto::tink::subtle::SphincsVerify::Verify
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc
    functionUses: 0
    functionsReached:
    - SphincsHelperPqclean::Verify
    - SphincsKeySizeToIndex
    - absl::string_view::size
    - util::StatusOr::status
    - GetParams
    - reinterpret_cast<const uint8_t *>
    - GetKey
    - crypto::tink::internal::ExtractStatus
    - crypto::tink::util::OkStatus
    - util::StatusOr::ok
    - GetSphincsHelperPqclean
    - absl::string_view::data
    linkageType: ''
    returnType: util::Status
    signature: "util::Status SphincsVerify::Verify(absl::string_view signature,\n
      \                                  absl::string_view data) const"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:35,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:36,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:38,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:39,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:41,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:45,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:48,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:49,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:51,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:52,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:58,1
    - Dst: pb::DilithiumSeedExpansion_IsValid
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:60,1
    - Dst: static_cast<pb::DilithiumSeedExpansion>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:62,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:63,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:63,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 69
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - pb::DilithiumSeedExpansion_IsValid
    - EXPECT_EQ
    - static_cast<pb::DilithiumSeedExpansion>
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::util::EnumsPqcrypto::SubtleToProto
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, DilithiumSeedExpansion)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:72,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:74,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:76,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:77,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:78,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:79,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:82,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:83,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:84,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:85,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:86,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:87,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:88,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:90,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:95,1
    - Dst: pb::SphincsHashType_IsValid
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:96,1
    - Dst: static_cast<pb::SphincsHashType>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:98,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:98,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:99,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<pb::SphincsHashType>
    - EXPECT_EQ
    - pb::SphincsHashType_IsValid
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::util::EnumsPqcrypto::SubtleToProto
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, SphincsHashType)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:107,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:109,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:111,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:112,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:115,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:117,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:118,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:119,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:121,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:126,1
    - Dst: pb::SphincsVariant_IsValid
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:127,1
    - Dst: static_cast<pb::SphincsVariant>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:129,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:129,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:130,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 135
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::util::EnumsPqcrypto::SubtleToProto
    - static_cast<int>
    - pb::SphincsVariant_IsValid
    - static_cast<pb::SphincsVariant>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, SphincsVariant)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:138,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:141,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:142,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:144,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:145,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:148,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:151,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:154,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:155,1
    - Dst: static_cast<int>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:161,1
    - Dst: pb::SphincsSignatureType_IsValid
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:162,1
    - Dst: static_cast<pb::SphincsSignatureType>
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:164,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:165,1
    - Dst: crypto::tink::util::EnumsPqcrypto::SubtleToProto
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:165,1
    - Dst: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 171
    functionName: crypto::tink::TEST_F
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc
    functionUses: 0
    functionsReached:
    - static_cast<pb::SphincsSignatureType>
    - pb::SphincsSignatureType_IsValid
    - EXPECT_EQ
    - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    - crypto::tink::util::EnumsPqcrypto::SubtleToProto
    - static_cast<int>
    linkageType: ''
    returnType: void
    signature: void TEST_F(EnumsTest, SphincsSignatureType)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - expansion
    argTypes:
    - subtle::DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: crypto::tink::util::EnumsPqcrypto::SubtleToProto
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::DilithiumSeedExpansion
    signature: "pb::DilithiumSeedExpansion EnumsPqcrypto::SubtleToProto(\n    subtle::DilithiumSeedExpansion
      expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - expansion
    argTypes:
    - pb::DilithiumSeedExpansion
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: subtle::DilithiumSeedExpansion
    signature: "subtle::DilithiumSeedExpansion EnumsPqcrypto::ProtoToSubtle(\n    pb::DilithiumSeedExpansion
      expansion)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - subtle::SphincsHashType
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: crypto::tink::util::EnumsPqcrypto::SubtleToProto
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::SphincsHashType
    signature: pb::SphincsHashType EnumsPqcrypto::SubtleToProto(subtle::SphincsHashType
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - pb::SphincsHashType
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: subtle::SphincsHashType
    signature: subtle::SphincsHashType EnumsPqcrypto::ProtoToSubtle(pb::SphincsHashType
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - variant
    argTypes:
    - subtle::SphincsVariant
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: crypto::tink::util::EnumsPqcrypto::SubtleToProto
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::SphincsVariant
    signature: "pb::SphincsVariant EnumsPqcrypto::SubtleToProto(\n    subtle::SphincsVariant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - variant
    argTypes:
    - pb::SphincsVariant
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: subtle::SphincsVariant
    signature: "subtle::SphincsVariant EnumsPqcrypto::ProtoToSubtle(\n    pb::SphincsVariant
      variant)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - subtle::SphincsSignatureType
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: crypto::tink::util::EnumsPqcrypto::SubtleToProto
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pb::SphincsSignatureType
    signature: "pb::SphincsSignatureType EnumsPqcrypto::SubtleToProto(\n    subtle::SphincsSignatureType
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - pb::SphincsSignatureType
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
    functionSourceFile: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: subtle::SphincsSignatureType
    signature: "subtle::SphincsSignatureType EnumsPqcrypto::ProtoToSubtle(\n    pb::SphincsSignatureType
      type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::tink::util::SecretDataFromStringView
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:22,1
    - Dst: crypto::tink::subtle::AesSivBoringSsl::New
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:23,1
    - Dst: std::move
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:24,1
    - Dst: auto::ValueOrDie
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:24,1
    - Dst: auto::EncryptDeterministically
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:27,1
    - Dst: auto::DecryptDeterministically
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:28,1
    - Dst: auto::ValueOrDie
      Src: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc
    functionUses: 0
    functionsReached:
    - auto::DecryptDeterministically
    - std::move
    - auto::ValueOrDie
    - crypto::tink::util::SecretDataFromStringView
    - crypto::tink::subtle::AesSivBoringSsl::New
    - auto::EncryptDeterministically
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
Fuzzer filename: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc
Fuzzing method: LLVMFuzzerTestOneInput
report: name
sources:
- function_names:
  - crypto::tink::ReadTillEnd
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/python/tink/cc/python_input_stream_test.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/cc_hpke_config.h
- function_names:
  - crypto::tink::WriteToStream
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/python/tink/cc/python_output_stream_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/python/tink/cc/cc_streaming_aead_wrappers_test.cc
- function_names:
  - crypto::tink::GetInputStreamAdapter
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/python/tink/cc/input_stream_adapter_test.cc
- function_names:
  - crypto::tink::test::TestWritableObject::Write
  - crypto::tink::test::TestWritableObject::Close
  - crypto::tink::test::TestWritableObject::Read
  - crypto::tink::test::TestWritableObject::GetBuffer
  - crypto::tink::test::TestReadableObject::TestReadableObject
  - crypto::tink::test::TestReadableObject::Write
  - crypto::tink::test::TestReadableObject::Close
  - crypto::tink::test::TestReadableObject::Read
  - crypto::tink::test::DummyStreamingAead::DummyStreamingAead
  - crypto::tink::test::DummyStreamingAead::NewEncryptingStream
  - crypto::tink::test::DummyStreamingAead::NewDecryptingStream
  - crypto::tink::test::DummyStreamingAead::NewDecryptingRandomAccessStream
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::DummyEncryptingStream
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::DummyDecryptingStream
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::DummyDecryptingRandomAccessStream
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  source_file: /src/tink/python/tink/cc/test_util.h
- function_names:
  - ~PythonFileObjectAdapter()
  source_file: /src/tink/python/tink/cc/python_file_object_adapter.h
- function_names:
  - crypto::tink::CcKeyManager::GetFromCcRegistry
  - crypto::tink::CcKeyManager::CcKeyManager
  - crypto::tink::CcKeyManager::GetPrimitive
  - crypto::tink::CcKeyManager::NewKeyData
  - crypto::tink::CcKeyManager::GetPublicKeyData
  - crypto::tink::CcKeyManager::KeyType
  source_file: /src/tink/python/tink/cc/cc_key_manager.h
- function_names:
  - crypto::tink::CcTinkConfigRegister
  source_file: /src/tink/python/tink/cc/cc_tink_config.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/python_output_stream.h
- function_names:
  - crypto::tink::NewCcEncryptingStream
  - crypto::tink::NewCcDecryptingStream
  source_file: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/cc_tink_config.h
- function_names:
  - crypto::tink::OutputStreamAdapter::Write
  - crypto::tink::OutputStreamAdapter::Close
  source_file: /src/tink/python/tink/cc/output_stream_adapter.cc
- function_names:
  - crypto::tink::PythonOutputStream::PythonOutputStream
  - crypto::tink::PythonOutputStream::Next
  - crypto::tink::PythonOutputStream::BackUp
  - PythonOutputStream::~PythonOutputStream()
  - crypto::tink::PythonOutputStream::Close
  - crypto::tink::PythonOutputStream::Position
  source_file: /src/tink/python/tink/cc/python_output_stream.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/python_input_stream.h
- function_names:
  - crypto::tink::GetOutputStreamAdapter
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/python/tink/cc/output_stream_adapter_test.cc
- function_names:
  - crypto::tink::CcHpkeConfigRegister
  source_file: /src/tink/python/tink/cc/cc_hpke_config.cc
- function_names:
  - crypto::tink::CcJwtConfigRegister
  source_file: /src/tink/python/tink/cc/cc_jwt_config.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/cc_jwt_config.h
- function_names:
  - crypto::tink::InputStreamAdapter::InputStreamAdapter
  source_file: /src/tink/python/tink/cc/input_stream_adapter.h
- function_names:
  - crypto::tink::is_eof
  - crypto::tink::PythonInputStream::PythonInputStream
  - crypto::tink::PythonInputStream::Next
  - crypto::tink::PythonInputStream::BackUp
  - PythonInputStream::~PythonInputStream()
  - crypto::tink::PythonInputStream::Position
  source_file: /src/tink/python/tink/cc/python_input_stream.cc
- function_names:
  - crypto::tink::OutputStreamAdapter::OutputStreamAdapter
  source_file: /src/tink/python/tink/cc/output_stream_adapter.h
- function_names:
  - crypto::tink::InputStreamAdapter::Read
  source_file: /src/tink/python/tink/cc/input_stream_adapter.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/cc_streaming_aead_wrappers.h
- function_names:
  - crypto::tink::PybindRegisterMac
  source_file: /src/tink/python/tink/cc/pybind/mac.cc
- function_names:
  - crypto::tink::PybindRegisterHybridDecrypt
  source_file: /src/tink/python/tink/cc/pybind/hybrid_decrypt.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/cc_hpke_config.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/public_key_verify.h
- function_names:
  - crypto::tink::py_thin_wrappers::WrapCcKeyManager
  - crypto::tink::PybindRegisterCcKeyManager
  source_file: /src/tink/python/tink/cc/pybind/cc_key_manager.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/aead.h
- function_names:
  - crypto::tink::PybindRegisterDeterministicAead
  source_file: /src/tink/python/tink/cc/pybind/deterministic_aead.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/hybrid_encrypt.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/python_file_object_adapter.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/cc_key_manager.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/deterministic_aead.h
- function_names:
  - crypto::tink::PybindRegisterPrf
  source_file: /src/tink/python/tink/cc/pybind/prf.cc
- function_names:
  - crypto::tink::ImportTinkPythonModule
  source_file: /src/tink/python/tink/cc/pybind/import_helper.cc
- function_names:
  - crypto::tink::PybindRegisterCcTinkConfig
  source_file: /src/tink/python/tink/cc/pybind/cc_tink_config.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/import_helper.h
- function_names:
  - crypto::tink::PybindRegisterCcStreamingAeadWrappers
  source_file: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/prf.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/cc_tink_config.h
- function_names:
  - crypto::tink::PybindRegisterOutputStreamAdapter
  source_file: /src/tink/python/tink/cc/pybind/output_stream_adapter.cc
- function_names:
  - crypto::tink::PybindRegisterCcHpkeConfig
  source_file: /src/tink/python/tink/cc/pybind/cc_hpke_config.cc
- function_names:
  - crypto::tink::PybindRegisterCcJwtConfig
  source_file: /src/tink/python/tink/cc/pybind/cc_jwt_config.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/hybrid_decrypt.h
- function_names:
  - crypto::tink::PYBIND11_MODULE
  source_file: /src/tink/python/tink/cc/pybind/tink_bindings.cc
- function_names:
  - crypto::tink::PybindRegisterHybridEncrypt
  source_file: /src/tink/python/tink/cc/pybind/hybrid_encrypt.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/cc_jwt_config.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/input_stream_adapter.h
- function_names:
  - crypto::tink::PybindRegisterPublicKeySign
  source_file: /src/tink/python/tink/cc/pybind/public_key_sign.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/public_key_sign.h
- function_names:
  - crypto::tink::PybindRegisterPublicKeyVerify
  source_file: /src/tink/python/tink/cc/pybind/public_key_verify.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/output_stream_adapter.h
- function_names:
  - crypto::tink::PybindRegisterAead
  source_file: /src/tink/python/tink/cc/pybind/aead.cc
- function_names:
  - crypto::tink::PybindRegisterStreamingAead
  source_file: /src/tink/python/tink/cc/pybind/streaming_aead.cc
- function_names:
  - pybind11::google_tink::TinkException::TinkException
  - pybind11::google_tink::TinkException::error_code
  - pybind11::google_tink::TinkException::what
  source_file: /src/tink/python/tink/cc/pybind/tink_exception.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/streaming_aead.h
- function_names:
  - crypto::tink::TinkStreamFinishedException::TinkStreamFinishedException
  - crypto::tink::TinkStreamFinishedException::error_code
  - crypto::tink::TinkStreamFinishedException::what
  - crypto::tink::PybindRegisterInputStreamAdapter
  source_file: /src/tink/python/tink/cc/pybind/input_stream_adapter.cc
- function_names:
  - crypto::tink::Pybind11PythonFileObjectAdapter::Write
  - crypto::tink::Pybind11PythonFileObjectAdapter::Close
  - crypto::tink::Pybind11PythonFileObjectAdapter::Read
  - crypto::tink::PybindRegisterPythonFileObjectAdapter
  source_file: /src/tink/python/tink/cc/pybind/python_file_object_adapter.cc
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/cc_streaming_aead_wrappers.h
- function_names: []
  source_file: /src/tink/python/tink/cc/pybind/mac.h
- function_names:
  - crypto::tink::KeysetManager::KeysetManager
  source_file: /src/tink/cc/keyset_manager.h
- function_names:
  - crypto::tink::InputStream::InputStream
  - ~InputStream()
  source_file: /src/tink/cc/input_stream.h
- function_names:
  - crypto::tink::BinaryKeysetReader::BinaryKeysetReader
  source_file: /src/tink/cc/binary_keyset_reader.h
- function_names:
  - crypto::tink::Key::Key
  - crypto::tink::Key::Key
  - '& operator=(const Key& other)'
  - crypto::tink::Key::Key
  - '& operator=(Key&& other)'
  - operator!=(const Key& other) const
  - ~Key()
  source_file: /src/tink/cc/key.h
- function_names: []
  source_file: /src/tink/cc/streaming_aead_key_templates.h
- function_names:
  - crypto::tink::GetPartialKeyAccess
  source_file: /src/tink/cc/partial_key_access.h
- function_names:
  - crypto::tink::internal::ExtractStatus
  - crypto::tink::internal::ExtractStatus
  - crypto::tink::OutputStreamWithResult::OutputStreamWithResult
  - ~OutputStreamWithResult() override
  - crypto::tink::OutputStreamWithResult::GetResult
  - crypto::tink::OutputStreamWithResult::CloseAndGetResult
  - crypto::tink::OutputStreamWithResult::Close
  - crypto::tink::OutputStreamWithResult::Next
  source_file: /src/tink/cc/output_stream_with_result.h
- function_names:
  - crypto::tink::RestrictedData::RestrictedData
  - '& operator=(const RestrictedData& other)'
  - crypto::tink::RestrictedData::RestrictedData
  - '& operator=(RestrictedData&& other)'
  - crypto::tink::RestrictedData::RestrictedData
  - crypto::tink::RestrictedData::GetSecret
  - crypto::tink::RestrictedData::size
  - operator!=(const RestrictedData& other) const
  source_file: /src/tink/cc/restricted_data.h
- function_names:
  - crypto::tink::BigInteger::BigInteger
  - '& operator=(const BigInteger& other)'
  - crypto::tink::BigInteger::BigInteger
  - '& operator=(BigInteger&& other)'
  - crypto::tink::BigInteger::GetValue
  - crypto::tink::BigInteger::SizeInBytes
  - operator!=(const BigInteger& other) const
  source_file: /src/tink/cc/big_integer.h
- function_names:
  - ~PublicKeyVerify()
  source_file: /src/tink/cc/public_key_verify.h
- function_names: []
  source_file: /src/tink/cc/key_status.h
- function_names:
  - ~KmsClient()
  source_file: /src/tink/cc/kms_client.h
- function_names:
  - crypto::tink::PartialKeyAccessToken::PartialKeyAccessToken
  - '& operator=(const PartialKeyAccessToken& other)'
  - crypto::tink::PartialKeyAccessToken::PartialKeyAccessToken
  - '& operator=(PartialKeyAccessToken&& other)'
  - crypto::tink::PartialKeyAccessToken::PartialKeyAccessToken
  source_file: /src/tink/cc/partial_key_access_token.h
- function_names:
  - ~Aead()
  source_file: /src/tink/cc/aead.h
- function_names: []
  source_file: /src/tink/cc/signature_config.h
- function_names:
  - ~KeysetReader()
  source_file: /src/tink/cc/keyset_reader.h
- function_names: []
  source_file: /src/tink/cc/aead_config.h
- function_names: []
  source_file: /src/tink/cc/mac_key_templates.h
- function_names: []
  source_file: /src/tink/cc/streaming_aead_config.h
- function_names:
  - crypto::tink::KmsClients::Add
  - crypto::tink::KmsClients::Get
  - crypto::tink::KmsClients::KmsClients
  source_file: /src/tink/cc/kms_clients.h
- function_names:
  - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
  - '& operator=(KeysetHandleBuilder&& other)'
  - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
  - '& operator=(const KeysetHandleBuilder& other)'
  - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
  - crypto::tink::KeysetHandleBuilder::Entry::Entry
  - '& operator=(Entry&& other)'
  - crypto::tink::KeysetHandleBuilder::Entry::Entry
  - '& operator=(const Entry& other)'
  - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableKey
  - crypto::tink::KeysetHandleBuilder::Entry::CreateFromCopyableParams
  - crypto::tink::KeysetHandleBuilder::Entry::SetStatus
  - crypto::tink::KeysetHandleBuilder::Entry::GetStatus
  - crypto::tink::KeysetHandleBuilder::Entry::SetFixedId
  - crypto::tink::KeysetHandleBuilder::Entry::SetRandomId
  - crypto::tink::KeysetHandleBuilder::Entry::SetPrimary
  - crypto::tink::KeysetHandleBuilder::Entry::UnsetPrimary
  - crypto::tink::KeysetHandleBuilder::Entry::IsPrimary
  - crypto::tink::KeysetHandleBuilder::Entry::Entry
  - crypto::tink::KeysetHandleBuilder::Entry::HasRandomId
  - crypto::tink::KeysetHandleBuilder::Entry::GetKeyIdStrategy
  - crypto::tink::KeysetHandleBuilder::Entry::CreateKeysetKey
  - crypto::tink::KeysetHandleBuilder::size
  - '& operator[](int index)'
  source_file: /src/tink/cc/keyset_handle_builder.h
- function_names: []
  source_file: /src/tink/cc/public_key_verify_factory.h
- function_names:
  - ~HybridEncrypt()
  source_file: /src/tink/cc/hybrid_encrypt.h
- function_names: []
  source_file: /src/tink/cc/aead_factory.h
- function_names: []
  source_file: /src/tink/cc/proto_keyset_format.h
- function_names: []
  source_file: /src/tink/cc/deterministic_aead_key_templates.h
- function_names:
  - crypto::tink::KeyGenConfiguration::KeyGenConfiguration
  - crypto::tink::KeyGenConfiguration::KeyGenConfiguration
  - '& operator=(const KeyGenConfiguration&)'
  source_file: /src/tink/cc/key_gen_configuration.h
- function_names: []
  source_file: /src/tink/cc/private_key.h
- function_names:
  - crypto::tink::EcPoint::EcPoint
  - '& GetX() const'
  - '& GetY() const'
  - operator==(const EcPoint& other) const
  - operator!=(const EcPoint& other) const
  source_file: /src/tink/cc/ec_point.h
- function_names: []
  source_file: /src/tink/cc/crypto_format.h
- function_names: []
  source_file: /src/tink/cc/mac_config.h
- function_names:
  - ~ChunkedMacComputation()
  - ~ChunkedMacVerification()
  - ~ChunkedMac()
  source_file: /src/tink/cc/chunked_mac.h
- function_names:
  - ~DeterministicAead()
  source_file: /src/tink/cc/deterministic_aead.h
- function_names: []
  source_file: /src/tink/cc/tink_config.h
- function_names:
  - crypto::tink::SerializeKeysetToProtoKeysetFormatTest::SetUp
  - crypto::tink::CmacParameters
  - crypto::tink::EcdsaParameters
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/proto_keyset_format_test.cc
- function_names:
  - crypto::tink::Entry::New
  - '& get_primitive() const'
  - '& get_identifier() const'
  - crypto::tink::Entry::get_status
  - crypto::tink::Entry::get_key_id
  - crypto::tink::Entry::get_output_prefix_type
  - crypto::tink::Entry::get_key_type_url
  - crypto::tink::Entry::Entry
  - crypto::tink::SetPrimaryImpl
  - crypto::tink::AddPrimitiveImpl
  - "& AddPrimitive(\n        std::unique_ptr<P> primitive,\n        const google::crypto::tink::KeysetInfo::KeyInfo&
    key_info) &"
  - "&& AddPrimitive(\n        std::unique_ptr<P> primitive,\n        const google::crypto::tink::KeysetInfo::KeyInfo&
    key_info) &&"
  - "& AddPrimaryPrimitive(\n        std::unique_ptr<P> primitive,\n        const
    google::crypto::tink::KeysetInfo::KeyInfo& key_info) &"
  - "&& AddPrimaryPrimitive(\n        std::unique_ptr<P> primitive,\n        const
    google::crypto::tink::KeysetInfo::KeyInfo& key_info) &&"
  - "& AddAnnotations(\n        absl::flat_hash_map<std::string, std::string> annotations)
    &"
  - "&& AddAnnotations(\n        absl::flat_hash_map<std::string, std::string> annotations)
    &&"
  - crypto::tink::Builder::Build
  - crypto::tink::PrimitiveSet
  - '& operator=(PrimitiveSet&&)'
  - crypto::tink::PrimitiveSet
  - '& operator=(const PrimitiveSet&)'
  - crypto::tink::PrimitiveSet
  - crypto::tink::PrimitiveSet
  - crypto::tink::AddPrimitive
  - crypto::tink::get_primitives
  - crypto::tink::get_raw_primitives
  - crypto::tink::set_primary
  - crypto::tink::get_primary
  - crypto::tink::get_all
  - crypto::tink::get_all_in_keyset_order
  - crypto::tink::get_annotations
  - crypto::tink::is_mutable
  source_file: /src/tink/cc/primitive_set.h
- function_names: []
  source_file: /src/tink/cc/public_key_sign_factory.h
- function_names:
  - crypto::tink::InsecureSecretKeyAccess::Get
  - crypto::tink::InsecureSecretKeyAccess::InsecureSecretKeyAccess
  source_file: /src/tink/cc/insecure_secret_key_access.h
- function_names:
  - crypto::tink::KeyAccess::PublicAccess
  - crypto::tink::KeyAccess::CanAccessSecret
  - crypto::tink::KeyAccess::KeyAccess
  - '& operator=(const KeyAccess&)'
  - crypto::tink::KeyAccess::KeyAccess
  - '& operator=(KeyAccess&& other)'
  - crypto::tink::KeyAccess::KeyAccess
  - crypto::tink::KeyAccess::KeyAccess
  source_file: /src/tink/cc/key_access.h
- function_names:
  - crypto::tink::Entry::GetKey
  - crypto::tink::Entry::GetStatus
  - crypto::tink::Entry::GetId
  - crypto::tink::Entry::IsPrimary
  - crypto::tink::Entry::Entry
  - crypto::tink::KeysetHandle
  - crypto::tink::KeysetHandle
  - crypto::tink::KeysetHandle
  - '& operator=(const KeysetHandle&)'
  - '& operator=(KeysetHandle&&)'
  - crypto::tink::size
  - crypto::tink::GenerateNew
  - crypto::tink::GenerateNew
  - crypto::tink::GetPublicKeysetHandle
  - crypto::tink::GetPrimitive
  - crypto::tink::KeysetHandle
  - crypto::tink::KeysetHandle
  - crypto::tink::KeysetHandle
  - crypto::tink::KeysetHandle
  - crypto::tink::get_keyset
  - crypto::KeysetHandle::GetPrimitives
  - crypto::KeysetHandle::GetPrimitive
  - crypto::KeysetHandle::GetPrimitive
  source_file: /src/tink/cc/keyset_handle.h
- function_names:
  - crypto::tink::Registry::RegisterKeyManager
  - crypto::tink::Registry::RegisterKeyTypeManager
  - crypto::tink::Registry::RegisterAsymmetricKeyManagers
  - crypto::tink::Registry::RegisterPrimitiveWrapper
  - crypto::tink::Registry::get_key_manager
  - crypto::tink::Registry::GetPrimitive
  - crypto::tink::Registry::NewKeyData
  - crypto::tink::Registry::GetPublicKeyData
  - crypto::tink::Registry::Wrap
  - crypto::tink::Registry::Reset
  source_file: /src/tink/cc/registry.h
- function_names:
  - crypto::tink::SecretKeyAccessToken::SecretKeyAccessToken
  - '& operator=(const SecretKeyAccessToken& other)'
  - crypto::tink::SecretKeyAccessToken::SecretKeyAccessToken
  - '& operator=(SecretKeyAccessToken&& other)'
  - crypto::tink::SecretKeyAccessToken::SecretKeyAccessToken
  source_file: /src/tink/cc/secret_key_access_token.h
- function_names:
  - crypto::tink::JsonKeysetReader::JsonKeysetReader
  - crypto::tink::JsonKeysetReader::JsonKeysetReader
  source_file: /src/tink/cc/json_keyset_reader.h
- function_names:
  - crypto::tink::SecretKeyAccess::SecretAccess
  source_file: /src/tink/cc/secret_key_access.h
- function_names:
  - ~KeysetWriter()
  source_file: /src/tink/cc/keyset_writer.h
- function_names: []
  source_file: /src/tink/cc/hybrid_decrypt_factory.h
- function_names:
  - ~HybridDecrypt()
  source_file: /src/tink/cc/hybrid_decrypt.h
- function_names:
  - ~StreamingMac()
  source_file: /src/tink/cc/streaming_mac.h
- function_names:
  - crypto::tink::OutputStream::OutputStream
  - ~OutputStream()
  source_file: /src/tink/cc/output_stream.h
- function_names:
  - crypto::tink::ParseKeysetFromProtoKeysetFormat
  - crypto::tink::SerializeKeysetToProtoKeysetFormat
  - crypto::tink::ParseKeysetWithoutSecretFromProtoKeysetFormat
  - crypto::tink::SerializeKeysetWithoutSecretToProtoKeysetFormat
  source_file: /src/tink/cc/proto_keyset_format.cc
- function_names:
  - crypto::tink::RandomAccessStream::RandomAccessStream
  - ~RandomAccessStream()
  source_file: /src/tink/cc/random_access_stream.h
- function_names: []
  source_file: /src/tink/cc/deterministic_aead_config.h
- function_names: []
  source_file: /src/tink/cc/mac_factory.h
- function_names: []
  source_file: /src/tink/cc/hybrid_key_templates.h
- function_names: []
  source_file: /src/tink/cc/hybrid_config.h
- function_names: []
  source_file: /src/tink/cc/hybrid_encrypt_factory.h
- function_names: []
  source_file: /src/tink/cc/deterministic_aead_factory.h
- function_names:
  - ~PublicKeySign()
  source_file: /src/tink/cc/public_key_sign.h
- function_names:
  - crypto::tink::BinaryKeysetWriter::BinaryKeysetWriter
  source_file: /src/tink/cc/binary_keyset_writer.h
- function_names:
  - crypto::tink::RestrictedBigInteger::RestrictedBigInteger
  - '& operator=(const RestrictedBigInteger& other)'
  - crypto::tink::RestrictedBigInteger::RestrictedBigInteger
  - '& operator=(RestrictedBigInteger&& other)'
  - crypto::tink::RestrictedBigInteger::GetSecret
  - crypto::tink::RestrictedBigInteger::SizeInBytes
  - operator!=(const RestrictedBigInteger& other) const
  source_file: /src/tink/cc/restricted_big_integer.h
- function_names:
  - crypto::tink::Parameters::Parameters
  - crypto::tink::Parameters::Parameters
  - '& operator=(const Parameters& other)'
  - crypto::tink::Parameters::Parameters
  - '& operator=(Parameters&& other)'
  - operator!=(const Parameters& other) const
  - ~Parameters()
  source_file: /src/tink/cc/parameters.h
- function_names:
  - ~PrimitiveWrapper()
  source_file: /src/tink/cc/primitive_wrapper.h
- function_names: []
  source_file: /src/tink/cc/aead_key_templates.h
- function_names:
  - ~StreamingAead()
  source_file: /src/tink/cc/streaming_aead.h
- function_names:
  - crypto::tink::CleartextKeysetHandle::CleartextKeysetHandle
  source_file: /src/tink/cc/cleartext_keyset_handle.h
- function_names:
  - ~KeyFactory()
  - ~PrivateKeyFactory() override
  - crypto::tink::KeyManagerBase::DoesSupport
  - ~KeyManagerBase()
  source_file: /src/tink/cc/key_manager.h
- function_names: []
  source_file: /src/tink/cc/signature_key_templates.h
- function_names:
  - ~Mac()
  source_file: /src/tink/cc/mac.h
- function_names:
  - crypto::tink::JsonKeysetWriter::JsonKeysetWriter
  source_file: /src/tink/cc/json_keyset_writer.h
- function_names:
  - crypto::tink::Configuration::Configuration
  - crypto::tink::Configuration::Configuration
  - '& operator=(const Configuration&)'
  source_file: /src/tink/cc/configuration.h
- function_names:
  - ~RawKemEncapsulate()
  source_file: /src/tink/cc/kem/internal/raw_kem_encapsulate.h
- function_names:
  - ~RawKemDecapsulate()
  source_file: /src/tink/cc/kem/internal/raw_kem_decapsulate.h
- function_names: []
  source_file: /src/tink/cc/monitoring/monitoring_client_mocks.h
- function_names:
  - crypto::tink::MonitoringKeySetInfo::Entry::Entry
  - crypto::tink::MonitoringKeySetInfo::Entry::GetStatus
  - crypto::tink::MonitoringKeySetInfo::Entry::GetKeyId
  - crypto::tink::MonitoringKeySetInfo::Entry::GetKeyType
  - crypto::tink::MonitoringKeySetInfo::Entry::GetKeyPrefix
  - crypto::tink::MonitoringKeySetInfo::MonitoringKeySetInfo
  - '& GetAnnotations() const'
  - '& GetEntries() const'
  - crypto::tink::MonitoringKeySetInfo::GetPrimaryKeyId
  - crypto::tink::MonitoringContext::MonitoringContext
  - crypto::tink::MonitoringContext::GetPrimitive
  - crypto::tink::MonitoringContext::GetApi
  - '& GetKeySetInfo() const'
  - ~MonitoringClient()
  - ~MonitoringClientFactory()
  source_file: /src/tink/cc/monitoring/monitoring.h
- function_names:
  - crypto::tink::internal::AeadVariant::AeadVariant
  - crypto::tink::internal::AeadVariant::get
  - crypto::tink::internal::ExampleKeyTypeManager::AeadFactory::Create
  - crypto::tink::internal::ExampleKeyTypeManager::AeadVariantFactory::Create
  - crypto::tink::internal::ExampleKeyTypeManager::ExampleKeyTypeManager
  - crypto::tink::internal::ExampleKeyTypeManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::internal::ExampleKeyTypeManager::CreateKey
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::AeadFactory::Create
  - crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::AeadVariantFactory::Create
  - crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::ExampleKeyTypeManagerWithoutFactory
  - crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::key_material_type
  - crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::ExampleKeyTypeManagerWithoutFactory::ValidateKey
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/core/key_manager_impl_test.cc
- function_names:
  - crypto::tink::add_primitives
  - crypto::tink::add_primitives
  - crypto::tink::access_primitives
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::CreateKey
  - operator==(const MacIdAndTypeUrl& first, const MacIdAndTypeUrl& other)
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/primitive_set_test.cc
- function_names:
  - "crypto::tink::PrivateKeyTypeManager<KeyProto, KeyFormatProto, PublicKeyProto,\n
    \                           List<Primitives...>>::PrivateKeyTypeManager"
  source_file: /src/tink/cc/core/private_key_type_manager.h
- function_names:
  - crypto::tink::Encrypt
  - crypto::tink::Decrypt
  - crypto::tink::ValidateNoSecret
  - crypto::tink::ToProtoKeySerialization
  - crypto::tink::KeysetHandle::ValidateAt
  - crypto::tink::KeysetHandle::Validate
  - crypto::tink::KeysetHandle::GetPrimary
  - KeysetHandle::operator[](int index) const
  - crypto::tink::KeysetHandle::CreateEntryAt
  - crypto::tink::KeysetHandle::CreateEntry
  - crypto::tink::KeysetHandle::Read
  - crypto::tink::KeysetHandle::ReadWithAssociatedData
  - crypto::tink::KeysetHandle::ReadNoSecret
  - crypto::tink::KeysetHandle::Write
  - crypto::tink::KeysetHandle::WriteWithAssociatedData
  - crypto::tink::KeysetHandle::WriteNoSecret
  - crypto::tink::KeysetHandle::GenerateNew
  - crypto::tink::KeysetHandle::GenerateNew
  - crypto::tink::ExtractPublicKey
  - crypto::tink::KeysetHandle::GetPublicKeysetHandle
  - crypto::tink::KeysetHandle::AddToKeyset
  - crypto::tink::KeysetHandle::AddKey
  - crypto::tink::KeysetHandle::GetKeysetInfo
  - crypto::tink::KeysetHandle::GetEntriesFromKeyset
  source_file: /src/tink/cc/core/keyset_handle.cc
- function_names:
  - crypto::tink::BinaryKeysetReaderTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/binary_keyset_reader_test.cc
- function_names: []
  source_file: /src/tink/cc/core/version.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/restricted_big_integer_test.cc
- function_names:
  - crypto::tink::SetBuilderEntryAttributes
  - crypto::tink::KeysetHandleBuilder::KeysetHandleBuilder
  - "KeysetHandleBuilder::Entry::CreateFromKey(\n    std::shared_ptr<const Key> key,
    KeyStatus status, bool is_primary)"
  - "KeysetHandleBuilder::Entry::CreateFromParams(\n    std::shared_ptr<const Parameters>
    parameters, KeyStatus status,\n    bool is_primary, absl::optional<int> id)"
  - crypto::tink::KeysetHandleBuilder::NextIdFromKeyIdStrategy
  - crypto::tink::KeysetHandleBuilder::ClearPrimary
  - "& KeysetHandleBuilder::AddEntry(\n    KeysetHandleBuilder::Entry entry)"
  - '& KeysetHandleBuilder::RemoveEntry(int index)'
  - crypto::tink::KeysetHandleBuilder::CheckIdAssignments
  - "& KeysetHandleBuilder::SetMonitoringAnnotations(\n    const absl::flat_hash_map<std::string,
    std::string>&\n        monitoring_annotations)"
  - crypto::tink::KeysetHandleBuilder::Build
  source_file: /src/tink/cc/core/keyset_handle_builder.cc
- function_names:
  - crypto::tink::WriteProto
  - crypto::tink::BinaryKeysetWriter::New
  - crypto::tink::BinaryKeysetWriter::Write
  - crypto::tink::BinaryKeysetWriter::Write
  source_file: /src/tink/cc/core/binary_keyset_writer.cc
- function_names:
  - crypto::tink::KeysetManager::New
  - crypto::tink::KeysetManager::New
  - crypto::tink::KeysetManager::GetKeysetHandle
  - crypto::tink::KeysetManager::Add
  - crypto::tink::KeysetManager::Add
  - crypto::tink::KeysetManager::Rotate
  - crypto::tink::KeysetManager::Enable
  - crypto::tink::KeysetManager::Disable
  - crypto::tink::KeysetManager::Delete
  - crypto::tink::KeysetManager::Destroy
  - crypto::tink::KeysetManager::SetPrimary
  - crypto::tink::KeysetManager::KeyCount
  source_file: /src/tink/cc/core/keyset_manager.cc
- function_names:
  - crypto::tink::KeysetManagerTest::SetUp
  - crypto::tink::KeysetManagerTest::TearDown
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/keyset_manager_test.cc
- function_names:
  - crypto::tink::CleartextKeysetHandle::Read
  - crypto::tink::CleartextKeysetHandle::Write
  - crypto::tink::CleartextKeysetHandle::GetKeysetHandle
  - "& CleartextKeysetHandle::GetKeyset(\n    const KeysetHandle& keyset_handle)"
  source_file: /src/tink/cc/core/cleartext_keyset_handle.cc
- function_names:
  - crypto::tink::internal::PrivateKeyFactoryImpl::PrivateKeyFactoryImpl
  - crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
  - crypto::tink::internal::PrivateKeyFactoryImpl::NewKey
  - crypto::tink::internal::PrivateKeyFactoryImpl::NewKeyData
  - crypto::tink::internal::PrivateKeyFactoryImpl::GetPublicKeyData
  - "crypto::tink::internal::PrivateKeyManagerImpl<\n    Primitive,\n    PrivateKeyTypeManager<PrivateKeyProto,
    KeyFormatProto, PublicKeyProto,\n                          PrivatePrimitivesList>,\n
    \   KeyTypeManager<PublicKeyProto, void, PublicPrimitivesList>>::PrivateKeyManagerImpl"
  - '& get_key_factory() const override'
  - crypto::tink::internal::MakePrivateKeyManager
  source_file: /src/tink/cc/core/private_key_manager_impl.h
- function_names:
  - '& KmsClients::GlobalInstance()'
  - crypto::tink::KmsClients::LocalAdd
  - crypto::tink::KmsClients::LocalGet
  source_file: /src/tink/cc/core/kms_clients.cc
- function_names:
  - crypto::tink::AlwaysFailingKeyFactory::AlwaysFailingKeyFactory
  - crypto::tink::AlwaysFailingKeyFactory::AlwaysFailingKeyFactory
  - crypto::tink::AlwaysFailingKeyFactory::NewKey
  - crypto::tink::AlwaysFailingKeyFactory::NewKey
  - crypto::tink::AlwaysFailingKeyFactory::NewKeyData
  - crypto::tink::KeyFactory::AlwaysFailingFactory
  source_file: /src/tink/cc/core/key_manager.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/restricted_data_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/big_integer_test.cc
- function_names:
  - crypto::tink::JsonKeysetReaderTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/json_keyset_reader_test.cc
- function_names:
  - crypto::tink::uint32_as_big_endian
  - crypto::tink::CryptoFormat::GetOutputPrefix
  source_file: /src/tink/cc/core/crypto_format.cc
- function_names: []
  source_file: /src/tink/cc/core/template_util.h
- function_names:
  - "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto, KeyFormatProto,
    List<Primitives...>>>::KeyFactoryImpl"
  - "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto, KeyFormatProto,
    List<Primitives...>>>::NewKey"
  - "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto, KeyFormatProto,
    List<Primitives...>>>::NewKey"
  - "crypto::tink::internal::KeyFactoryImpl<\n    KeyTypeManager<KeyProto, KeyFormatProto,
    List<Primitives...>>>::NewKeyData"
  - crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto, void, List<Primitives...>>>::KeyFactoryImpl
  - crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto, void, List<Primitives...>>>::NewKey
  - crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto, void, List<Primitives...>>>::NewKey
  - crypto::tink::internal::KeyFactoryImpl<KeyTypeManager<KeyProto, void, List<Primitives...>>>::NewKeyData
  - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
    KeyFormatProto, List<Primitives...>>>::KeyManagerImpl"
  - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
    KeyFormatProto, List<Primitives...>>>::GetPrimitive"
  - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
    KeyFormatProto, List<Primitives...>>>::GetPrimitive"
  - "crypto::tink::internal::KeyManagerImpl<\n    Primitive, KeyTypeManager<KeyProto,
    KeyFormatProto, List<Primitives...>>>::get_version"
  - '& get_key_type() const override'
  - '& get_key_factory() const override'
  - crypto::tink::internal::MakeKeyManager
  - crypto::tink::internal::CreateDeriverFunctionFor
  - crypto::tink::internal::CreateDeriverFunctionFor
  source_file: /src/tink/cc/core/key_manager_impl.h
- function_names:
  - crypto::tink::KeysetHandleTest::SetUp
  - crypto::tink::FakeAeadKeyManager::AeadFactory::AeadFactory
  - crypto::tink::FakeAeadKeyManager::AeadFactory::Create
  - crypto::tink::FakeAeadKeyManager::FakeAeadKeyManager
  - crypto::tink::FakeAeadKeyManager::key_material_type
  - crypto::tink::FakeAeadKeyManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::FakeAeadKeyManager::ValidateKey
  - crypto::tink::FakeAeadKeyManager::ValidateKeyFormat
  - crypto::tink::FakeAeadKeyManager::CreateKey
  - crypto::tink::FakeAeadKeyManager::DeriveKey
  - crypto::tink::GetTestKeyset
  - crypto::tink::GetPublicTestKeyset
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::CompareKeyMetadata
  - crypto::tink::CreateEcdsaMultiKeyset
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/keyset_handle_test.cc
- function_names:
  - crypto::tink::JsonKeysetWriterTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/json_keyset_writer_test.cc
- function_names:
  - crypto::tink::internal::ExamplePrivateKeyTypeManager::PrivatePrimitiveFactory::Create
  - crypto::tink::internal::ExamplePrivateKeyTypeManager::ExamplePrivateKeyTypeManager
  - crypto::tink::internal::ExamplePrivateKeyTypeManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::internal::ExamplePrivateKeyTypeManager::CreateKey
  - crypto::tink::internal::ExamplePrivateKeyTypeManager::GetPublicKey
  - crypto::tink::internal::TestPublicKeyTypeManager::PublicPrimitiveFactory::Create
  - crypto::tink::internal::TestPublicKeyTypeManager::TestPublicKeyTypeManager
  - crypto::tink::internal::TestPublicKeyTypeManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/core/private_key_manager_impl_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/ec_point_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/key_manager_test.cc
- function_names:
  - crypto::tink::BinaryKeysetReader::New
  - crypto::tink::BinaryKeysetReader::New
  - crypto::tink::BinaryKeysetReader::Read
  - crypto::tink::BinaryKeysetReader::ReadEncrypted
  source_file: /src/tink/cc/core/binary_keyset_reader.cc
- function_names:
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/cleartext_keyset_handle_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/kms_clients_test.cc
- function_names:
  - crypto::tink::BinaryKeysetWriterTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/binary_keyset_writer_test.cc
- function_names:
  - crypto::tink::ToJson
  - crypto::tink::ToJson
  - crypto::tink::ToJsonString
  - crypto::tink::ToJson
  - crypto::tink::ToJson
  - crypto::tink::ToJsonString
  - crypto::tink::WriteData
  - crypto::tink::JsonKeysetWriter::New
  - crypto::tink::JsonKeysetWriter::Write
  - crypto::tink::JsonKeysetWriter::Write
  source_file: /src/tink/cc/core/json_keyset_writer.cc
- function_names:
  - crypto::tink::RestrictedData::RestrictedData
  - RestrictedData::operator==(const RestrictedData& other) const
  source_file: /src/tink/cc/core/restricted_data.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/key_access_test.cc
- function_names: []
  source_file: /src/tink/cc/core/template_util_test.cc
- function_names:
  - crypto::tink::RestrictedBigInteger::RestrictedBigInteger
  - RestrictedBigInteger::operator==(const RestrictedBigInteger& other) const
  source_file: /src/tink/cc/core/restricted_big_integer.cc
- function_names:
  - crypto::tink::ValidateEncryptedKeyset
  - crypto::tink::ValidateKeysetInfo
  - crypto::tink::ValidateKeyInfo
  - crypto::tink::KeyInfoFromJson
  - crypto::tink::KeysetInfoFromJson
  - crypto::tink::EncryptedKeysetFromJson
  - crypto::tink::ValidateKeyset
  - crypto::tink::ValidateKey
  - crypto::tink::ValidateKeyData
  - crypto::tink::KeyDataFromJson
  - crypto::tink::KeyFromJson
  - crypto::tink::KeysetFromJson
  - crypto::tink::JsonKeysetReader::New
  - crypto::tink::JsonKeysetReader::New
  - crypto::tink::JsonKeysetReader::Read
  - crypto::tink::JsonKeysetReader::ReadEncrypted
  source_file: /src/tink/cc/core/json_keyset_reader.cc
- function_names:
  - crypto::tink::AeadVariant::AeadVariant
  - crypto::tink::AeadVariant::get
  - crypto::tink::ExampleKeyTypeManager::AeadFactory::Create
  - crypto::tink::ExampleKeyTypeManager::AeadVariantFactory::Create
  - crypto::tink::ExampleKeyTypeManager::ExampleKeyTypeManager
  - crypto::tink::ExampleKeyTypeManager::key_material_type
  - crypto::tink::ExampleKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::ExampleKeyTypeManager::ValidateKey
  - crypto::tink::ExampleKeyTypeManager::ValidateKeyFormat
  - crypto::tink::ExampleKeyTypeManager::CreateKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::ExampleKeyTypeManagerWithoutFactory::AeadFactory::Create
  - crypto::tink::ExampleKeyTypeManagerWithoutFactory::AeadVariantFactory::Create
  - crypto::tink::ExampleKeyTypeManagerWithoutFactory::ExampleKeyTypeManagerWithoutFactory
  - crypto::tink::ExampleKeyTypeManagerWithoutFactory::key_material_type
  - crypto::tink::ExampleKeyTypeManagerWithoutFactory::get_version
  - '& get_key_type() const override'
  - crypto::tink::ExampleKeyTypeManagerWithoutFactory::ValidateKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/key_type_manager_test.cc
- function_names:
  - crypto::tink::KeysetHandleBuilderTest::SetUp
  - crypto::tink::CreateLegacyProtoParameters
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::FakeAeadKeyManager::AeadFactory::AeadFactory
  - crypto::tink::FakeAeadKeyManager::AeadFactory::Create
  - crypto::tink::FakeAeadKeyManager::FakeAeadKeyManager
  - crypto::tink::FakeAeadKeyManager::key_material_type
  - crypto::tink::FakeAeadKeyManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::FakeAeadKeyManager::ValidateKey
  - crypto::tink::FakeAeadKeyManager::ValidateKeyFormat
  - crypto::tink::FakeAeadKeyManager::CreateKey
  - crypto::tink::FakeAeadKeyManager::DeriveKey
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/keyset_handle_builder_test.cc
- function_names:
  - crypto::tink::BigInteger::BigInteger
  - BigInteger::operator==(const BigInteger& other) const
  source_file: /src/tink/cc/core/big_integer.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/partial_key_access_token_test.cc
- function_names:
  - ~InternalKeyFactory()
  - crypto::tink::internal::InternalKeyFactory::DeriveKey
  - ~InternalKeyFactory()
  - ~PrimitiveFactory()
  - crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::KeyTypeManager
  - crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::GetPrimitive
  - crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::FipsStatus
  - crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::GetPrimitiveImpl
  - crypto::tink::KeyTypeManager<KeyProtoParam, KeyFormatProtoParam, List<Primitives...>>::GetPrimitiveImpl
  source_file: /src/tink/cc/core/key_type_manager.h
- function_names:
  - crypto::tink::TestNonRawPrefix
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/core/crypto_format_test.cc
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/core/version_test.cc
- function_names:
  - crypto::tink::integration::gcpkms::RequiresDataForSign
  - crypto::tink::integration::gcpkms::GetDigestFromAlgorithm
  - crypto::tink::integration::gcpkms::ComputeDigest
  - crypto::tink::integration::gcpkms::BuildAsymmetricSignRequest
  - crypto::tink::integration::gcpkms::GcpKmsPublicKeySign::GcpKmsPublicKeySign
  - crypto::tink::integration::gcpkms::GcpKmsPublicKeySign::Sign
  - crypto::tink::integration::gcpkms::CreateGcpKmsPublicKeySign
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.cc
- function_names:
  - crypto::tink::integration::gcpkms::RunfilesPath
  - ~GcpKmsAeadIntegrationTestEnvironment() override
  - crypto::tink::integration::gcpkms::GcpKmsAeadIntegrationTestEnvironment::SetUp
  - crypto::tink::integration::gcpkms::TEST
  - crypto::tink::integration::gcpkms::ReadFile
  - crypto::tink::integration::gcpkms::TEST
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_aead_integration_test.cc
- function_names:
  - crypto::tink::integration::gcpkms::GcpKmsClient::GcpKmsClient
  - '& operator=(GcpKmsClient&& other)'
  - crypto::tink::integration::gcpkms::GcpKmsClient::GcpKmsClient
  - '& operator=(const GcpKmsClient&)'
  - crypto::tink::integration::gcpkms::GcpKmsClient::GcpKmsClient
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_client.h
- function_names:
  - crypto::tink::integration::gcpkms::ReadFile
  - crypto::tink::integration::gcpkms::GetCredentials
  - crypto::tink::integration::gcpkms::GetKeyName
  - crypto::tink::integration::gcpkms::GcpKmsClient::New
  - crypto::tink::integration::gcpkms::GcpKmsClient::DoesSupport
  - crypto::tink::integration::gcpkms::GcpKmsClient::GetAead
  - crypto::tink::integration::gcpkms::GcpKmsClient::RegisterNewClient
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_client.cc
- function_names:
  - crypto::tink::integration::gcpkms::TestGcpKmsAead::TestGcpKmsAead
  - crypto::tink::integration::gcpkms::TestGcpKmsAead::ExpectEncrypt
  - crypto::tink::integration::gcpkms::TestGcpKmsAead::ExpectDecrypt
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_aead_test.cc
- function_names:
  - crypto::tink::integration::gcpkms::NewGcpKmsAead
  - crypto::tink::integration::gcpkms::GcpKmsAead::New
  - crypto::tink::integration::gcpkms::GcpKmsAead::Encrypt
  - crypto::tink::integration::gcpkms::GcpKmsAead::Decrypt
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_aead.cc
- function_names: []
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign.h
- function_names:
  - crypto::tink::integration::gcpkms::TEST
  - crypto::tink::integration::gcpkms::TEST
  - crypto::tink::integration::gcpkms::TEST
  - crypto::tink::integration::gcpkms::TEST
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_client_test.cc
- function_names:
  - crypto::tink::integration::gcpkms::TestGcpKmsPublicKeySign::TestGcpKmsPublicKeySign
  - crypto::tink::integration::gcpkms::TestGcpKmsPublicKeySign::ExpectSign
  - crypto::tink::integration::gcpkms::TestGcpKmsPublicKeySign::ExpectGetPublicKey
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  - crypto::tink::integration::gcpkms::TEST_F
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_public_key_sign_test.cc
- function_names:
  - crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
  - '& operator=(GcpKmsAead&& other)'
  - crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
  - '& operator=(const GcpKmsAead&)'
  - crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
  - crypto::tink::integration::gcpkms::GcpKmsAead::GcpKmsAead
  source_file: /src/tink/cc/integration/gcpkms/gcp_kms_aead.h
- function_names:
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::ReadFile
  - crypto::tink::integration::awskms::GetValue
  - crypto::tink::integration::awskms::TEST
  source_file: /src/tink/cc/integration/awskms/aws_kms_aead_integration_test.cc
- function_names:
  - crypto::tink::integration::awskms::GetKeyArn
  - crypto::tink::integration::awskms::GetAwsClientConfig
  - crypto::tink::integration::awskms::ReadFile
  - crypto::tink::integration::awskms::GetValue
  - crypto::tink::integration::awskms::GetAwsCredentials
  - crypto::tink::integration::awskms::InitAwsApi
  - crypto::tink::integration::awskms::AwsKmsClient::New
  - crypto::tink::integration::awskms::AwsKmsClient::DoesSupport
  - crypto::tink::integration::awskms::AwsKmsClient::GetAead
  - crypto::tink::integration::awskms::AwsKmsClient::RegisterNewClient
  source_file: /src/tink/cc/integration/awskms/aws_kms_client.cc
- function_names:
  - crypto::tink::integration::awskms::AwsKmsAead::AwsKmsAead
  - '& operator=(AwsKmsAead&& other)'
  - crypto::tink::integration::awskms::AwsKmsAead::AwsKmsAead
  - '& operator=(const AwsKmsAead&)'
  - crypto::tink::integration::awskms::AwsKmsAead::AwsKmsAead
  source_file: /src/tink/cc/integration/awskms/aws_kms_aead.h
- function_names:
  - crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
  - '& operator=(AwsKmsClient&& other)'
  - crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
  - '& operator=(const AwsKmsClient&)'
  - crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
  - crypto::tink::integration::awskms::AwsKmsClient::AwsKmsClient
  source_file: /src/tink/cc/integration/awskms/aws_kms_client.h
- function_names:
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::TEST
  - crypto::tink::integration::awskms::TEST
  source_file: /src/tink/cc/integration/awskms/aws_kms_client_test.cc
- function_names:
  - crypto::tink::integration::awskms::AwsErrorToString
  - crypto::tink::integration::awskms::AwsKmsAead::New
  - crypto::tink::integration::awskms::AwsKmsAead::Encrypt
  - crypto::tink::integration::awskms::AwsKmsAead::Decrypt
  source_file: /src/tink/cc/integration/awskms/aws_kms_aead.cc
- function_names:
  - crypto::tink::integration::awskms::internal::RunfilesPath
  source_file: /src/tink/cc/integration/awskms/internal/test_file_util_bazel.cc
- function_names: []
  source_file: /src/tink/cc/integration/awskms/internal/test_file_util.h
- function_names:
  - crypto::tink::internal::FromKeyStatusType
  - crypto::tink::internal::ToKeyStatusType
  - crypto::tink::internal::ToKeyStatusName
  source_file: /src/tink/cc/internal/key_status_util.cc
- function_names:
  - ~KeySerializer()
  - crypto::tink::internal::KeySerializerImpl::KeySerializerImpl
  - crypto::tink::internal::KeySerializerImpl::SerializeKey
  - crypto::tink::internal::KeySerializerImpl::Index
  source_file: /src/tink/cc/internal/key_serializer.h
- function_names:
  - crypto::tink::internal::EnsureStringNonNull
  - crypto::tink::internal::BuffersOverlap
  - crypto::tink::internal::BuffersAreIdentical
  - crypto::tink::internal::IsPrintableAscii
  - crypto::tink::internal::LogFatal
  source_file: /src/tink/cc/internal/util.cc
- function_names:
  - crypto::tink::internal::KeyTypeInfoStore::KeyTypeInfoStore
  - crypto::tink::internal::KeyTypeInfoStore::KeyTypeInfoStore
  - '& operator=(KeyTypeInfoStore&& other)'
  - crypto::tink::internal::KeyTypeInfoStore::Info::Info
  - crypto::tink::internal::KeyTypeInfoStore::Info::Info
  - crypto::tink::internal::KeyTypeInfoStore::Info::Info
  - crypto::tink::internal::KeyTypeInfoStore::Info::GetPrimitive
  - crypto::tink::internal::KeyTypeInfoStore::Info::get_key_manager
  - '& key_manager_type_index() const'
  - "& public_key_type_manager_type_index()\n        const"
  - crypto::tink::internal::KeyTypeInfoStore::Info::new_key_allowed
  - crypto::tink::internal::KeyTypeInfoStore::Info::set_new_key_allowed
  - '& key_factory() const'
  - "&\n    key_deriver() const"
  - crypto::tink::internal::KeyTypeInfoStore::IsEmpty
  - crypto::tink::internal::KeyTypeInfoStore::Add
  - crypto::tink::internal::KeyTypeInfoStore::AddKeyManager
  - crypto::tink::internal::KeyTypeInfoStore::AddKeyTypeManager
  - crypto::tink::internal::KeyTypeInfoStore::AddAsymmetricKeyTypeManagers
  source_file: /src/tink/cc/internal/key_type_info_store.h
- function_names:
  - crypto::tink::internal::AesBlockSize
  source_file: /src/tink/cc/internal/aes_util.h
- function_names: []
  source_file: /src/tink/cc/internal/md_util.h
- function_names:
  - crypto::tink::internal::CreateTestFile
  - crypto::tink::internal::GetTestFileNamePrefix
  source_file: /src/tink/cc/internal/test_file_util.cc
- function_names:
  - crypto::tink::internal::KeyGenConfigurationImpl::AddKeyTypeManager
  - crypto::tink::internal::KeyGenConfigurationImpl::AddAsymmetricKeyManagers
  - crypto::tink::internal::KeyGenConfigurationImpl::AddLegacyKeyManager
  - crypto::tink::internal::KeyGenConfigurationImpl::GetKeyTypeInfoStore
  - crypto::tink::internal::KeyGenConfigurationImpl::SetGlobalRegistryMode
  - crypto::tink::internal::KeyGenConfigurationImpl::IsInGlobalRegistryMode
  source_file: /src/tink/cc/internal/key_gen_configuration_impl.h
- function_names: []
  source_file: /src/tink/cc/internal/bn_util.h
- function_names:
  - crypto::tink::internal::SslEcPointEncode
  - crypto::tink::internal::SslGetEcPointFromCoordinates
  - crypto::tink::internal::SslGetEcPointFromEncoded
  - crypto::tink::internal::SslGetEcPointCoordinates
  - crypto::tink::internal::ScalarSizeInBytes
  - crypto::tink::internal::SslEcFieldSizeInBytes
  - crypto::tink::internal::SslNewEvpKey
  - crypto::tink::internal::SslNewKeyPairFromEcKey
  - crypto::tink::internal::SslEcdsaSignatureToBytes
  - crypto::tink::internal::EcKeyFromSslEcKey
  - crypto::tink::internal::EcFieldSizeInBytes
  - crypto::tink::internal::EcPointEncodingSizeInBytes
  - crypto::tink::internal::NewEcKey
  - crypto::tink::internal::NewEcKey
  - crypto::tink::internal::NewX25519Key
  - crypto::tink::internal::EcKeyFromX25519Key
  - crypto::tink::internal::NewEd25519Key
  - crypto::tink::internal::NewEd25519Key
  - crypto::tink::internal::X25519KeyFromEcKey
  - crypto::tink::internal::ComputeX25519SharedSecret
  - crypto::tink::internal::X25519KeyFromPrivateKey
  - crypto::tink::internal::EcPointEncode
  - crypto::tink::internal::EcPointDecode
  - crypto::tink::internal::EcGroupFromCurveType
  - crypto::tink::internal::CurveTypeFromEcGroup
  - crypto::tink::internal::GetEcPoint
  - crypto::tink::internal::ComputeEcdhSharedSecret
  - crypto::tink::internal::EcSignatureIeeeToDer
  source_file: /src/tink/cc/internal/ec_util.cc
- function_names:
  - ~KeysetWrapper()
  source_file: /src/tink/cc/internal/keyset_wrapper.h
- function_names:
  - crypto::tink::internal::SerializerIndex::Create
  - crypto::tink::internal::SerializerIndex::Create
  - crypto::tink::internal::SerializerIndex::Create
  - operator==(const SerializerIndex& other) const
  - crypto::tink::internal::SerializerIndex::AbslHashValue
  - crypto::tink::internal::SerializerIndex::SerializerIndex
  source_file: /src/tink/cc/internal/serializer_index.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/call_with_core_dump_protection_test.cc
- function_names:
  - crypto::tink::internal::RunfilesPath
  source_file: /src/tink/cc/internal/test_file_util_bazel.cc
- function_names:
  - crypto::tink::internal::FakePrimitive::FakePrimitive
  - crypto::tink::internal::FakePrimitive::get
  - crypto::tink::internal::FakePrimitive2::FakePrimitive2
  - crypto::tink::internal::FakePrimitive2::get
  - crypto::tink::internal::FakeKeyTypeManager::FakePrimitiveFactory::Create
  - crypto::tink::internal::FakeKeyTypeManager::FakeKeyTypeManager
  - crypto::tink::internal::FakeKeyTypeManager::key_material_type
  - crypto::tink::internal::FakeKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeKeyTypeManager::ValidateKey
  - crypto::tink::internal::FakeKeyTypeManager::ValidateKeyFormat
  - crypto::tink::internal::FakeKeyTypeManager::CreateKey
  - crypto::tink::internal::FakeKeyTypeManager::DeriveKey
  - crypto::tink::internal::FakePrimitiveWrapper::Wrap
  - crypto::tink::internal::FakePrimitiveWrapper2::Wrap
  - crypto::tink::internal::AddAesGcmKeyToKeyset
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::FakeSignKeyManager::PublicKeySignFactory::Create
  - crypto::tink::internal::FakeSignKeyManager::FakeSignKeyManager
  - crypto::tink::internal::FakeSignKeyManager::key_material_type
  - crypto::tink::internal::FakeSignKeyManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeSignKeyManager::ValidateKey
  - crypto::tink::internal::FakeSignKeyManager::ValidateKeyFormat
  - crypto::tink::internal::FakeSignKeyManager::CreateKey
  - crypto::tink::internal::FakeSignKeyManager::DeriveKey
  - crypto::tink::internal::FakeSignKeyManager::GetPublicKey
  - crypto::tink::internal::FakeVerifyKeyManager::PublicKeyVerifyFactory::Create
  - crypto::tink::internal::FakeVerifyKeyManager::FakeVerifyKeyManager
  - crypto::tink::internal::FakeVerifyKeyManager::key_material_type
  - crypto::tink::internal::FakeVerifyKeyManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeVerifyKeyManager::ValidateKey
  - crypto::tink::internal::FakeVerifyKeyManager::ValidateParams
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/configuration_impl_test.cc
- function_names:
  - crypto::tink::internal::ParserIndex::Create
  - crypto::tink::internal::ParserIndex::Create
  - operator==(const ParserIndex& other) const
  - crypto::tink::internal::ParserIndex::AbslHashValue
  - crypto::tink::internal::ParserIndex::ParserIndex
  source_file: /src/tink/cc/internal/parser_index.h
- function_names:
  - crypto::tink::internal::CheckKeyAccess
  - UnusableLegacyProtoParameters::operator==(const Parameters& other) const
  - crypto::tink::internal::LegacyProtoKey::Create
  - LegacyProtoKey::operator==(const Key& other) const
  - crypto::tink::internal::LegacyProtoKey::Serialization
  source_file: /src/tink/cc/internal/legacy_proto_key.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/test_random_access_stream_test.cc
- function_names:
  - crypto::tink::internal::UnusableLegacyProtoParameters::UnusableLegacyProtoParameters
  - "& operator=(\n      const UnusableLegacyProtoParameters& other)"
  - crypto::tink::internal::UnusableLegacyProtoParameters::UnusableLegacyProtoParameters
  - "& operator=(\n      UnusableLegacyProtoParameters&& other)"
  - crypto::tink::internal::UnusableLegacyProtoParameters::UnusableLegacyProtoParameters
  - crypto::tink::internal::UnusableLegacyProtoParameters::HasIdRequirement
  - crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
  - '& operator=(const LegacyProtoKey& other)'
  - crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
  - '& operator=(LegacyProtoKey&& other)'
  - '& GetParameters() const override'
  - crypto::tink::internal::LegacyProtoKey::GetIdRequirement
  - crypto::tink::internal::LegacyProtoKey::LegacyProtoKey
  source_file: /src/tink/cc/internal/legacy_proto_key.h
- function_names:
  - crypto::tink::internal::ProtoKeySerialization::Create
  - crypto::tink::internal::ProtoKeySerialization::EqualsWithPotentialFalseNegatives
  source_file: /src/tink/cc/internal/proto_key_serialization.cc
- function_names:
  - crypto::tink::internal::ConfigurationImpl::AddPrimitiveWrapper
  - crypto::tink::internal::ConfigurationImpl::AddKeyTypeManager
  - crypto::tink::internal::ConfigurationImpl::AddAsymmetricKeyManagers
  - crypto::tink::internal::ConfigurationImpl::AddLegacyKeyManager
  - crypto::tink::internal::ConfigurationImpl::GetKeyTypeInfoStore
  - crypto::tink::internal::ConfigurationImpl::GetKeysetWrapperStore
  - crypto::tink::internal::ConfigurationImpl::SetGlobalRegistryMode
  - crypto::tink::internal::ConfigurationImpl::IsInGlobalRegistryMode
  source_file: /src/tink/cc/internal/configuration_impl.h
- function_names:
  - crypto::tink::internal::LegacyProtoParametersTest::Equals
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/internal/legacy_proto_parameters_test.cc
- function_names:
  - crypto::tink::internal::HexToBignum
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/bn_util_test.cc
- function_names:
  - crypto::tink::internal::KeyTypeInfoStore::Get
  - crypto::tink::internal::KeyTypeInfoStore::IsInsertable
  source_file: /src/tink/cc/internal/key_type_info_store.cc
- function_names:
  - ~KeyParser()
  - crypto::tink::internal::KeyParserImpl::KeyParserImpl
  - crypto::tink::internal::KeyParserImpl::ParseKey
  - crypto::tink::internal::KeyParserImpl::ObjectIdentifier
  - crypto::tink::internal::KeyParserImpl::Index
  source_file: /src/tink/cc/internal/key_parser.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/key_serializer_test.cc
- function_names:
  - crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
  - "& operator=(\n      const ProtoParametersSerialization& other)"
  - crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
  - "& operator=(\n      ProtoParametersSerialization&& other)"
  - '& GetKeyTemplate() const'
  - crypto::tink::internal::ProtoParametersSerialization::ObjectIdentifier
  - crypto::tink::internal::ProtoParametersSerialization::ProtoParametersSerialization
  source_file: /src/tink/cc/internal/proto_parameters_serialization.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/key_parser_test.cc
- function_names: []
  source_file: /src/tink/cc/internal/bn_encoding_util.h
- function_names:
  - crypto::tink::internal::GetSslErrors
  source_file: /src/tink/cc/internal/err_util.cc
- function_names:
  - crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
  - '& operator=(const ProtoKeySerialization& other)'
  - crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
  - '& operator=(ProtoKeySerialization&& other)'
  - crypto::tink::internal::ProtoKeySerialization::TypeUrl
  - crypto::tink::internal::ProtoKeySerialization::ObjectIdentifier
  - '& SerializedKeyProto() const'
  - crypto::tink::internal::ProtoKeySerialization::KeyMaterialType
  - crypto::tink::internal::ProtoKeySerialization::GetOutputPrefixType
  - crypto::tink::internal::ProtoKeySerialization::IdRequirement
  - crypto::tink::internal::ProtoKeySerialization::ProtoKeySerialization
  source_file: /src/tink/cc/internal/proto_key_serialization.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/mutable_serialization_registry_test.cc
- function_names:
  - crypto::tink::internal::ToKeysetKey
  - crypto::tink::internal::SerializeParameters
  - crypto::tink::internal::SerializeLegacyParameters
  - crypto::tink::internal::SerializeKey
  - crypto::tink::internal::SerializeLegacyKey
  - crypto::tink::internal::CreateKeysetKeyFromProtoParametersSerialization
  - crypto::tink::internal::CreateKeysetKeyFromProtoKeySerialization
  - crypto::tink::internal::KeysetHandleBuilderEntry::SetFixedId
  - crypto::tink::internal::KeysetHandleBuilderEntry::SetRandomId
  - crypto::tink::internal::KeyEntry::CreateKeysetKey
  - crypto::tink::internal::ParametersEntry::CreateKeysetKey
  source_file: /src/tink/cc/internal/keyset_handle_builder_entry.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/serialization_registry_test.cc
- function_names: []
  source_file: /src/tink/cc/internal/key_info.h
- function_names:
  - crypto::tink::internal::TestRandomAccessStream::PRead
  - crypto::tink::internal::ReadAllFromRandomAccessStream
  source_file: /src/tink/cc/internal/test_random_access_stream.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/key_status_util_test.cc
- function_names:
  - crypto::tink::internal::SetFipsRestricted
  - crypto::tink::internal::UnSetFipsRestricted
  - crypto::tink::internal::IsFipsModeEnabled
  - crypto::tink::internal::IsFipsEnabledInSsl
  - crypto::tink::internal::ChecksFipsCompatibility
  source_file: /src/tink/cc/internal/fips_utils.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/fips_utils_test.cc
- function_names:
  - crypto::tink::internal::X25519KeyPubKeySize
  - crypto::tink::internal::X25519KeyPrivKeySize
  - crypto::tink::internal::X25519KeySharedKeySize
  - crypto::tink::internal::Ed25519KeyPubKeySize
  - crypto::tink::internal::Ed25519KeyPrivKeySize
  source_file: /src/tink/cc/internal/ec_util.h
- function_names:
  - crypto::tink::internal::FakePrimitive::FakePrimitive
  - crypto::tink::internal::FakePrimitive::get
  - crypto::tink::internal::FakeKeyTypeManager::FakePrimitiveFactory::Create
  - crypto::tink::internal::FakeKeyTypeManager::FakeKeyTypeManager
  - crypto::tink::internal::FakeKeyTypeManager::key_material_type
  - crypto::tink::internal::FakeKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeKeyTypeManager::ValidateKey
  - crypto::tink::internal::FakeKeyTypeManager::ValidateKeyFormat
  - crypto::tink::internal::FakeKeyTypeManager::CreateKey
  - crypto::tink::internal::FakeKeyTypeManager::DeriveKey
  - crypto::tink::internal::FakePrimitiveWrapper::Wrap
  - crypto::tink::internal::FakePrimitiveWrapper2::Wrap
  - crypto::tink::internal::AddAesGcmKeyToKeyset
  - crypto::tink::internal::PrimitiveGetter
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/keyset_wrapper_store_test.cc
- function_names:
  - crypto::tink::internal::TestRandomAccessStream::TestRandomAccessStream
  - crypto::tink::internal::TestRandomAccessStream::TestRandomAccessStream
  - '& operator=(TestRandomAccessStream&& other)'
  - crypto::tink::internal::TestRandomAccessStream::TestRandomAccessStream
  - '& operator=(const TestRandomAccessStream&)'
  - crypto::tink::internal::TestRandomAccessStream::size
  source_file: /src/tink/cc/internal/test_random_access_stream.h
- function_names:
  - ~ParametersSerializer()
  - crypto::tink::internal::ParametersSerializerImpl::ParametersSerializerImpl
  - crypto::tink::internal::ParametersSerializerImpl::SerializeParameters
  - crypto::tink::internal::ParametersSerializerImpl::ObjectIdentifier
  - crypto::tink::internal::ParametersSerializerImpl::Index
  source_file: /src/tink/cc/internal/parameters_serializer.h
- function_names:
  - crypto::tink::internal::IsWindows
  source_file: /src/tink/cc/internal/util.h
- function_names:
  - crypto::tink::internal::LegacyProtoKeyTest::Equals
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/internal/legacy_proto_key_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/parameters_serializer_test.cc
- function_names:
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/err_util_test.cc
- function_names:
  - crypto::tink::internal::CallWithCoreDumpProtection
  source_file: /src/tink/cc/internal/call_with_core_dump_protection.h
- function_names: []
  source_file: /src/tink/cc/internal/key_status_util.h
- function_names:
  - crypto::tink::internal::AesCtrTest::AesCtrTest
  - crypto::tink::internal::AesCtrTest::SetUp
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/aes_util_test.cc
- function_names:
  - crypto::tink::internal::MutableSerializationRegistry::ABSL_LOCKS_EXCLUDED
  - crypto::tink::internal::MutableSerializationRegistry::ABSL_LOCKS_EXCLUDED
  - crypto::tink::internal::MutableSerializationRegistry::ABSL_LOCKS_EXCLUDED
  source_file: /src/tink/cc/internal/mutable_serialization_registry.h
- function_names: []
  source_file: /src/tink/cc/internal/test_file_util.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/bn_encoding_util_test.cc
- function_names:
  - crypto::tink::internal::EvpHashFromHashType
  - crypto::tink::internal::IsHashTypeSafeForSignature
  - crypto::tink::internal::ComputeHash
  source_file: /src/tink/cc/internal/md_util.cc
- function_names:
  - LegacyProtoParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/internal/legacy_proto_parameters.cc
- function_names:
  - '& GlobalInstance()'
  - crypto::tink::internal::RegistryImpl::RegistryImpl
  - crypto::tink::internal::RegistryImpl::RegistryImpl
  - '& operator=(const RegistryImpl&)'
  - ~RegistryImpl()
  - crypto::tink::internal::RegistryImpl::GetMonitoringClientFactory
  - crypto::tink::internal::RegistryImpl::RegisterKeyManager
  - crypto::tink::internal::RegistryImpl::RegisterKeyTypeManager
  - crypto::tink::internal::ABSL_LOCKS_EXCLUDED
  - crypto::tink::internal::RegistryImpl::RegisterPrimitiveWrapper
  - crypto::tink::internal::RegistryImpl::get_key_manager
  - crypto::tink::internal::RegistryImpl::GetPrimitive
  - crypto::tink::internal::RegistryImpl::Wrap
  - crypto::tink::internal::RegistryImpl::WrapKeyset
  - crypto::tink::internal::RegistryImpl::RestrictToFipsIfEmpty
  source_file: /src/tink/cc/internal/registry_impl.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::EqualsEcKey
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::GetX25519FunctionTestVectors
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::GetX25519SharedSecretTestVectors
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::GetEncodingTestVectors
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::HasFlag
  - crypto::tink::internal::ReadEcdhWycheproofTestVectors
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::GetEcUtilComputeEcdhSharedSecretParams
  source_file: /src/tink/cc/internal/ec_util_test.cc
- function_names:
  - crypto::tink::internal::ExampleSerialization::ExampleSerialization
  - crypto::tink::internal::ExampleSerialization::ObjectIdentifier
  - crypto::tink::internal::DifferentSerialization::DifferentSerialization
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/parser_index_test.cc
- function_names:
  - SerializationRegistry::Builder::Builder(const SerializationRegistry& registry)
  - "SerializationRegistry::Builder::RegisterParametersParser(\n    ParametersParser*
    parser)"
  - "SerializationRegistry::Builder::RegisterParametersSerializer(\n    ParametersSerializer*
    serializer)"
  - "SerializationRegistry::Builder::RegisterKeyParser(\n    KeyParser* parser)"
  - "SerializationRegistry::Builder::RegisterKeySerializer(\n    KeySerializer* serializer)"
  - SerializationRegistry::Builder::Build() &&
  - crypto::tink::internal::SerializationRegistry::ParseParameters
  - crypto::tink::internal::SerializationRegistry::ParseKey
  source_file: /src/tink/cc/internal/serialization_registry.cc
- function_names:
  - crypto::tink::internal::SerializationRegistry::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::internal::SerializationRegistry::Builder::Builder
  - crypto::tink::internal::SerializationRegistry::Builder::Builder
  - crypto::tink::internal::SerializationRegistry::SerializationRegistry
  - '& operator=(SerializationRegistry&& other)'
  - crypto::tink::internal::SerializationRegistry::SerializationRegistry
  - '& operator=(const SerializationRegistry& other)'
  - crypto::tink::internal::SerializationRegistry::SerializationRegistry
  - crypto::tink::internal::SerializationRegistry::SerializeParameters
  - crypto::tink::internal::SerializationRegistry::SerializeKey
  - crypto::tink::internal::SerializationRegistry::SerializationRegistry
  source_file: /src/tink/cc/internal/serialization_registry.h
- function_names:
  - crypto::tink::internal::FakePrimitive::FakePrimitive
  - crypto::tink::internal::FakePrimitive::get
  - crypto::tink::internal::FakeKeyTypeManager::FakePrimitiveFactory::Create
  - crypto::tink::internal::FakeKeyTypeManager::FakeKeyTypeManager
  - crypto::tink::internal::FakeKeyTypeManager::key_material_type
  - crypto::tink::internal::FakeKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeKeyTypeManager::ValidateKey
  - crypto::tink::internal::FakeKeyTypeManager::ValidateKeyFormat
  - crypto::tink::internal::FakeKeyTypeManager::CreateKey
  - crypto::tink::internal::FakeKeyTypeManager::DeriveKey
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::FakeSignKeyManager::PublicKeySignFactory::Create
  - crypto::tink::internal::FakeSignKeyManager::FakeSignKeyManager
  - crypto::tink::internal::FakeSignKeyManager::key_material_type
  - crypto::tink::internal::FakeSignKeyManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeSignKeyManager::ValidateKey
  - crypto::tink::internal::FakeSignKeyManager::ValidateKeyFormat
  - crypto::tink::internal::FakeSignKeyManager::CreateKey
  - crypto::tink::internal::FakeSignKeyManager::DeriveKey
  - crypto::tink::internal::FakeSignKeyManager::GetPublicKey
  - crypto::tink::internal::FakeVerifyKeyManager::PublicKeyVerifyFactory::Create
  - crypto::tink::internal::FakeVerifyKeyManager::FakeVerifyKeyManager
  - crypto::tink::internal::FakeVerifyKeyManager::key_material_type
  - crypto::tink::internal::FakeVerifyKeyManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::FakeVerifyKeyManager::ValidateKey
  - crypto::tink::internal::FakeVerifyKeyManager::ValidateParams
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/key_gen_configuration_impl_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/safe_stringops_test.cc
- function_names:
  - crypto::tink::internal::RunfilesPath
  source_file: /src/tink/cc/internal/test_file_util_cmake.cc
- function_names:
  - crypto::tink::internal::CheckFipsCompatibility
  source_file: /src/tink/cc/internal/fips_utils.h
- function_names:
  - crypto::tink::internal::BaseSerialization::BaseSerialization
  - crypto::tink::internal::BaseSerialization::ObjectIdentifier
  - operator==(const BaseSerialization& other) const
  - crypto::tink::internal::NoIdSerialization::NoIdSerialization
  - crypto::tink::internal::IdParamsSerialization::IdParamsSerialization
  - crypto::tink::internal::IdKeySerialization::IdKeySerialization
  - crypto::tink::internal::IdKeySerialization::GetKeyId
  - crypto::tink::internal::NoIdParams::HasIdRequirement
  - operator==(const Parameters& other) const override
  - '& GetParameters() const override'
  - crypto::tink::internal::NoIdKey::GetIdRequirement
  - operator==(const Key& other) const override
  - crypto::tink::internal::IdParams::HasIdRequirement
  - operator==(const Parameters& other) const override
  - crypto::tink::internal::IdKey::IdKey
  - '& GetParameters() const override'
  - crypto::tink::internal::IdKey::GetIdRequirement
  - operator==(const Key& other) const override
  - crypto::tink::internal::ParseNoIdParams
  - crypto::tink::internal::ParseIdParams
  - crypto::tink::internal::SerializeNoIdParams
  - crypto::tink::internal::SerializeIdParams
  - crypto::tink::internal::ParseNoIdKey
  - crypto::tink::internal::ParseIdKey
  - crypto::tink::internal::SerializeNoIdKey
  - crypto::tink::internal::SerializeIdKey
  source_file: /src/tink/cc/internal/serialization_test_util.h
- function_names:
  - crypto::tink::internal::IsBoringSsl
  source_file: /src/tink/cc/internal/ssl_util.h
- function_names:
  - crypto::tink::internal::KeysetHandleBuilderEntry::KeysetHandleBuilderEntry
  - ~KeysetHandleBuilderEntry()
  - crypto::tink::internal::KeysetHandleBuilderEntry::SetStatus
  - crypto::tink::internal::KeysetHandleBuilderEntry::GetStatus
  - crypto::tink::internal::KeysetHandleBuilderEntry::SetPrimary
  - crypto::tink::internal::KeysetHandleBuilderEntry::UnsetPrimary
  - crypto::tink::internal::KeysetHandleBuilderEntry::IsPrimary
  - crypto::tink::internal::KeysetHandleBuilderEntry::GetKeyIdStrategy
  - crypto::tink::internal::KeysetHandleBuilderEntry::GetKeyIdStrategyEnum
  - crypto::tink::internal::KeysetHandleBuilderEntry::GetKeyIdRequirement
  - crypto::tink::internal::KeyEntry::KeyEntry
  - '& operator=(KeyEntry&& other)'
  - crypto::tink::internal::KeyEntry::KeyEntry
  - '& operator=(const KeyEntry& other)'
  - crypto::tink::internal::KeyEntry::KeyEntry
  - crypto::tink::internal::ParametersEntry::ParametersEntry
  - '& operator=(ParametersEntry&& other)'
  - crypto::tink::internal::ParametersEntry::ParametersEntry
  - '& operator=(const ParametersEntry& other)'
  - crypto::tink::internal::ParametersEntry::ParametersEntry
  source_file: /src/tink/cc/internal/keyset_handle_builder_entry.h
- function_names:
  - crypto::tink::internal::GetValueOfFixedLength
  source_file: /src/tink/cc/internal/bn_encoding_util.cc
- function_names:
  - crypto::tink::internal::LegacyProtoParameters::LegacyProtoParameters
  - '& operator=(const LegacyProtoParameters& other)'
  - crypto::tink::internal::LegacyProtoParameters::LegacyProtoParameters
  - '& operator=(LegacyProtoParameters&& other)'
  - crypto::tink::internal::LegacyProtoParameters::LegacyProtoParameters
  - crypto::tink::internal::LegacyProtoParameters::HasIdRequirement
  - '& Serialization() const'
  source_file: /src/tink/cc/internal/legacy_proto_parameters.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/parameters_parser_test.cc
- function_names:
  - crypto::tink::internal::GetKeyPair
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::ExpectBignumEquals
  - crypto::tink::internal::ExpectBignumEquals
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::NewRsaPublicKey
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/rsa_util_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/internal/key_info_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::NewPrimitiveSetInputPrimitive
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/monitoring_util_test.cc
- function_names: []
  source_file: /src/tink/cc/internal/rsa_util.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/serializer_index_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/util_test.cc
- function_names:
  - ~Serialization()
  source_file: /src/tink/cc/internal/serialization.h
- function_names:
  - ~ParametersParser()
  - crypto::tink::internal::ParametersParserImpl::ParametersParserImpl
  - crypto::tink::internal::ParametersParserImpl::ParseParameters
  - crypto::tink::internal::ParametersParserImpl::ObjectIdentifier
  - crypto::tink::internal::ParametersParserImpl::Index
  source_file: /src/tink/cc/internal/parameters_parser.h
- function_names:
  - crypto::tink::internal::RegistryImpl::get_key_type_info
  - crypto::tink::internal::RegistryImpl::NewKeyData
  - crypto::tink::internal::RegistryImpl::GetPublicKeyData
  - crypto::tink::internal::RegistryImpl::DeriveKey
  - crypto::tink::internal::RegistryImpl::RegisterMonitoringClientFactory
  - crypto::tink::internal::RegistryImpl::Reset
  source_file: /src/tink/cc/internal/registry_impl.cc
- function_names:
  - crypto::tink::internal::CreateLegacyProtoParameters
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::CreateKeysetKeyTest::SetUp
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/internal/keyset_handle_builder_entry_test.cc
- function_names:
  - crypto::tink::KeyInfoFromKey
  - crypto::tink::KeysetInfoFromKeyset
  source_file: /src/tink/cc/internal/key_info.cc
- function_names:
  - crypto::tink::internal::ProtoKeySerializationTest::Equals
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/internal/proto_key_serialization_test.cc
- function_names:
  - crypto::tink::internal::KeysetWrapperStore::KeysetWrapperStore
  - crypto::tink::internal::KeysetWrapperStore::KeysetWrapperStore
  - '& operator=(KeysetWrapperStore&& other)'
  - crypto::tink::internal::KeysetWrapperStore::IsEmpty
  - crypto::tink::internal::KeysetWrapperStore::Info::Info
  - crypto::tink::internal::KeysetWrapperStore::Info::Get
  - crypto::tink::internal::KeysetWrapperStore::Info::GetPrimitiveWrapper
  - crypto::tink::internal::KeysetWrapperStore::Info::HasSameType
  - crypto::tink::internal::KeysetWrapperStore::Add
  - crypto::tink::internal::KeysetWrapperStore::GetPrimitiveWrapper
  - crypto::tink::internal::KeysetWrapperStore::Get
  source_file: /src/tink/cc/internal/keyset_wrapper_store.h
- function_names:
  - crypto::tink::internal::ProtoParametersSerializationTest::Equals
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/internal/proto_parameters_serialization_test.cc
- function_names: []
  source_file: /src/tink/cc/internal/err_util.h
- function_names:
  - crypto::tink::internal::BignumToBinaryPadded
  - crypto::tink::internal::BignumToString
  - crypto::tink::internal::BignumToSecretData
  - crypto::tink::internal::StringToBignum
  - crypto::tink::internal::CompareBignumWithWord
  source_file: /src/tink/cc/internal/bn_util.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::GetMdUtilComputeHashSamplesTestParams
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/internal/md_util_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/key_type_info_store_test.cc
- function_names:
  - crypto::tink::internal::AesCtr128Crypt
  - crypto::tink::internal::GetAesCtrCipherForKeySize
  - crypto::tink::internal::GetAesCbcCipherForKeySize
  source_file: /src/tink/cc/internal/aes_util.cc
- function_names:
  - crypto::tink::internal::RegistryTest::SetUp
  - crypto::tink::internal::RegistryTest::TearDown
  - crypto::tink::internal::TestKeyFactory::TestKeyFactory
  - crypto::tink::internal::TestKeyFactory::NewKey
  - crypto::tink::internal::TestKeyFactory::NewKey
  - crypto::tink::internal::TestKeyFactory::NewKeyData
  - crypto::tink::internal::TestAeadKeyManager::TestAeadKeyManager
  - crypto::tink::internal::TestAeadKeyManager::GetPrimitive
  - crypto::tink::internal::TestAeadKeyManager::GetPrimitive
  - crypto::tink::internal::TestAeadKeyManager::get_version
  - '& get_key_type() const override'
  - '& get_key_factory() const override'
  - crypto::tink::internal::AeadVariant::AeadVariant
  - crypto::tink::internal::AeadVariant::get
  - crypto::tink::internal::ExampleKeyTypeManager::AeadFactory::Create
  - crypto::tink::internal::ExampleKeyTypeManager::AeadVariantFactory::Create
  - crypto::tink::internal::ExampleKeyTypeManager::ExampleKeyTypeManager
  - crypto::tink::internal::ExampleKeyTypeManager::key_material_type
  - crypto::tink::internal::ExampleKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::ExampleKeyTypeManager::ValidateKey
  - crypto::tink::internal::ExampleKeyTypeManager::ValidateKeyFormat
  - crypto::tink::internal::ExampleKeyTypeManager::CreateKey
  - crypto::tink::internal::ExampleKeyTypeManager::DeriveKey
  - crypto::tink::internal::TestWrapper::TestWrapper
  - crypto::tink::internal::TestWrapper::Wrap
  - crypto::tink::internal::AeadVariantWrapper::Wrap
  - crypto::tink::internal::AeadVariantToStringWrapper::Wrap
  - crypto::tink::internal::register_test_managers
  - crypto::tink::internal::verify_test_managers
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::AddAesGcmKey
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TestPrivateKeyTypeManager::PrivatePrimitiveAFactory::Create
  - crypto::tink::internal::TestPrivateKeyTypeManager::PrivatePrimitiveBFactory::Create
  - crypto::tink::internal::TestPrivateKeyTypeManager::TestPrivateKeyTypeManager
  - crypto::tink::internal::TestPrivateKeyTypeManager::key_material_type
  - crypto::tink::internal::TestPrivateKeyTypeManager::get_version
  - crypto::tink::internal::TestPrivateKeyTypeManager::ValidateKey
  - crypto::tink::internal::TestPrivateKeyTypeManager::ValidateKeyFormat
  - '& get_key_type() const override'
  - crypto::tink::internal::TestPrivateKeyTypeManager::CreateKey
  - crypto::tink::internal::TestPrivateKeyTypeManager::GetPublicKey
  - crypto::tink::internal::TestPublicKeyTypeManager::PublicPrimitiveAFactory::Create
  - crypto::tink::internal::TestPublicKeyTypeManager::PublicPrimitiveBFactory::Create
  - crypto::tink::internal::TestPublicKeyTypeManager::TestPublicKeyTypeManager
  - crypto::tink::internal::TestPublicKeyTypeManager::key_material_type
  - crypto::tink::internal::TestPublicKeyTypeManager::get_version
  - crypto::tink::internal::TestPublicKeyTypeManager::ValidateKey
  - '& get_key_type() const override'
  - crypto::tink::internal::CreateTestPrivateKeyManagerFipsCompatible
  - crypto::tink::internal::CreateTestPublicKeyManagerFipsCompatible
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::PrivateKeyManagerImplTest::SetUp
  - crypto::tink::internal::PrivateKeyManagerImplTest::TearDown
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - '& get_key_type() const override'
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::DelegatingKeyTypeManager::DelegatingKeyTypeManager
  - crypto::tink::internal::DelegatingKeyTypeManager::set_registry
  - crypto::tink::internal::DelegatingKeyTypeManager::key_material_type
  - crypto::tink::internal::DelegatingKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::internal::DelegatingKeyTypeManager::ValidateKey
  - crypto::tink::internal::DelegatingKeyTypeManager::ValidateKeyFormat
  - crypto::tink::internal::DelegatingKeyTypeManager::CreateKey
  - crypto::tink::internal::DelegatingKeyTypeManager::DeriveKey
  - crypto::tink::internal::DelegatingKeyTypeManager::GetPublicKey
  - crypto::tink::internal::RegistryImplTest::TearDown
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/internal/registry_impl_test.cc
- function_names:
  - crypto::tink::internal::Wrapper::Wrap
  - crypto::tink::internal::CreateIn
  - crypto::tink::internal::OnlyTypeUrlKeyData
  - crypto::tink::internal::CreateKeyset
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::GetOutputPrimitiveForTesting
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/keyset_wrapper_impl_test.cc
- function_names:
  - '& MutableSerializationRegistry::GlobalInstance()'
  - crypto::tink::internal::MutableSerializationRegistry::RegisterParametersParser
  - crypto::tink::internal::MutableSerializationRegistry::RegisterParametersSerializer
  - crypto::tink::internal::MutableSerializationRegistry::RegisterKeyParser
  - crypto::tink::internal::MutableSerializationRegistry::RegisterKeySerializer
  - crypto::tink::internal::MutableSerializationRegistry::ParseParameters
  - crypto::tink::internal::MutableSerializationRegistry::ParseKey
  - crypto::tink::internal::MutableSerializationRegistry::ParseKeyWithLegacyFallback
  source_file: /src/tink/cc/internal/mutable_serialization_registry.cc
- function_names:
  - crypto::tink::internal::KeysetWrapperImpl::KeysetWrapperImpl
  - crypto::tink::internal::KeysetWrapperImpl::Wrap
  source_file: /src/tink/cc/internal/keyset_wrapper_impl.h
- function_names:
  - operator()(BIO* ptr)
  - operator()(EVP_CIPHER_CTX* ptr)
  - operator()(BIGNUM* ptr)
  - operator()(BN_CTX* ptr)
  - operator()(RSA* ptr)
  - operator()(EC_POINT* ptr)
  - operator()(EC_GROUP* ptr)
  - operator()(EC_KEY* ptr)
  - operator()(EVP_PKEY* ptr)
  - operator()(EVP_PKEY_CTX* ptr)
  - operator()(ECDSA_SIG* ptr)
  - operator()(CMAC_CTX* ptr)
  - operator()(EVP_MD_CTX* ptr)
  - operator()(HMAC_CTX* ptr)
  source_file: /src/tink/cc/internal/ssl_unique_ptr.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/internal/serialization_test_util_test.cc
- function_names:
  - crypto::tink::internal::SafeMemCopy
  - crypto::tink::internal::SafeMemMove
  - crypto::tink::internal::SafeCryptoMemEquals
  source_file: /src/tink/cc/internal/safe_stringops.h
- function_names:
  - crypto::tink::internal::ProtoParametersSerialization::Create
  - crypto::tink::internal::ProtoParametersSerialization::Create
  - crypto::tink::internal::ProtoParametersSerialization::EqualsWithPotentialFalseNegatives
  source_file: /src/tink/cc/internal/proto_parameters_serialization.cc
- function_names:
  - crypto::tink::internal::ValidateRsaModulusSize
  - crypto::tink::internal::ValidateRsaPublicExponent
  - crypto::tink::internal::ValidateRsaPublicExponent
  - crypto::tink::internal::NewRsaKeyPair
  - crypto::tink::internal::GetRsaModAndExponents
  - crypto::tink::internal::GetRsaPrimeFactors
  - crypto::tink::internal::GetRsaCrtParams
  - crypto::tink::internal::RsaPrivateKeyToRsa
  - crypto::tink::internal::RsaPublicKeyToRsa
  - crypto::tink::internal::RsaCheckPublicKey
  source_file: /src/tink/cc/internal/rsa_util.cc
- function_names:
  - crypto::tink::internal::MonitoringKeySetInfoFromPrimitiveSet
  source_file: /src/tink/cc/internal/monitoring_util.h
- function_names: []
  source_file: /src/tink/cc/daead/failing_daead.h
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::AesSivKey::Create
  - AesSivKey::operator==(const Key& other) const
  source_file: /src/tink/cc/daead/aes_siv_key.cc
- function_names:
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/daead/deterministic_aead_factory_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/daead/aes_siv_key_test.cc
- function_names:
  - crypto::tink::KeyGenConfigDeterministicAeadV0
  source_file: /src/tink/cc/daead/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/daead/deterministic_aead_parameters.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/daead/failing_daead_test.cc
- function_names:
  - crypto::tink::AesSivKey::AesSivKey
  - '& operator=(const AesSivKey& other)'
  - crypto::tink::AesSivKey::AesSivKey
  - '& operator=(AesSivKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::AesSivKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::AesSivKey::GetIdRequirement
  - crypto::tink::AesSivKey::AesSivKey
  source_file: /src/tink/cc/daead/aes_siv_key.h
- function_names: []
  source_file: /src/tink/cc/daead/key_gen_config_v0.h
- function_names: []
  source_file: /src/tink/cc/daead/deterministic_aead_key_templates.h
- function_names: []
  source_file: /src/tink/cc/daead/deterministic_aead_wrapper.h
- function_names: []
  source_file: /src/tink/cc/daead/aes_siv_proto_serialization.h
- function_names:
  - crypto::tink::AesSivParameters::Create
  - AesSivParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/daead/aes_siv_parameters.cc
- function_names:
  - crypto::tink::DeterministicAeadFactory::GetPrimitive
  - crypto::tink::DeterministicAeadFactory::GetPrimitive
  source_file: /src/tink/cc/daead/deterministic_aead_factory.cc
- function_names:
  - crypto::tink::AesSivParameters::AesSivParameters
  - '& operator=(const AesSivParameters& other)'
  - crypto::tink::AesSivParameters::AesSivParameters
  - '& operator=(AesSivParameters&& other)'
  - crypto::tink::AesSivParameters::KeySizeInBytes
  - crypto::tink::AesSivParameters::GetVariant
  - crypto::tink::AesSivParameters::HasIdRequirement
  - crypto::tink::AesSivParameters::AesSivParameters
  source_file: /src/tink/cc/daead/aes_siv_parameters.h
- function_names:
  - crypto::tink::DeterministicAeadSetWrapperTest::SetUp
  - crypto::tink::DeterministicAeadSetWrapperTest::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::DeterministicAeadSetWrapperWithMonitoringTest::SetUp
  - ~DeterministicAeadSetWrapperWithMonitoringTest() override
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/daead/deterministic_aead_wrapper_test.cc
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/daead/deterministic_aead_key_templates_test.cc
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/daead/config_v0_test.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::DeterministicAeadSetWrapper::DeterministicAeadSetWrapper
  - ~DeterministicAeadSetWrapper() override
  - crypto::tink::DeterministicAeadSetWrapper::EncryptDeterministically
  - crypto::tink::DeterministicAeadSetWrapper::DecryptDeterministically
  - crypto::tink::DeterministicAeadWrapper::Wrap
  source_file: /src/tink/cc/daead/deterministic_aead_wrapper.cc
- function_names:
  - crypto::tink::AesSivKeyManager::DeterministicAeadFactory::Create
  - crypto::tink::AesSivKeyManager::AesSivKeyManager
  - crypto::tink::AesSivKeyManager::get_version
  - crypto::tink::AesSivKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::AesSivKeyManager::ValidateKey
  - crypto::tink::AesSivKeyManager::ValidateKeyFormat
  - crypto::tink::AesSivKeyManager::CreateKey
  - crypto::tink::AesSivKeyManager::DeriveKey
  - crypto::tink::AesSivKeyManager::ValidateKeySize
  source_file: /src/tink/cc/daead/aes_siv_key_manager.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/daead/aes_siv_parameters_test.cc
- function_names:
  - crypto::tink::AesSivProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/daead/aes_siv_proto_serialization_test.cc
- function_names:
  - crypto::tink::DeterministicAeadConfig::Register
  source_file: /src/tink/cc/daead/deterministic_aead_config.cc
- function_names:
  - crypto::tink::DeterministicAeadConfig::DeterministicAeadConfig
  source_file: /src/tink/cc/daead/deterministic_aead_config.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/daead/aes_siv_key_manager_test.cc
- function_names: []
  source_file: /src/tink/cc/daead/deterministic_aead_factory.h
- function_names:
  - crypto::tink::ConfigDeterministicAeadV0
  source_file: /src/tink/cc/daead/config_v0.cc
- function_names:
  - crypto::tink::DeterministicAeadConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/daead/deterministic_aead_config_test.cc
- function_names:
  - crypto::tink::NewAesSivKeyTemplate
  - '& DeterministicAeadKeyTemplates::Aes256Siv()'
  source_file: /src/tink/cc/daead/deterministic_aead_key_templates.cc
- function_names: []
  source_file: /src/tink/cc/daead/config_v0.h
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::AesSivProtoParametersParser
  - crypto::tink::AesSivProtoParametersSerializer
  - crypto::tink::AesSivProtoKeyParser
  - crypto::tink::AesSivProtoKeySerializer
  - crypto::tink::RegisterAesSivProtoSerialization
  source_file: /src/tink/cc/daead/aes_siv_proto_serialization.cc
- function_names: []
  source_file: /src/tink/cc/daead/deterministic_aead_key.h
- function_names:
  - crypto::tink::AlwaysFailDeterministicAead::AlwaysFailDeterministicAead
  - crypto::tink::AlwaysFailDeterministicAead::EncryptDeterministically
  - crypto::tink::AlwaysFailDeterministicAead::DecryptDeterministically
  - crypto::tink::CreateAlwaysFailingDeterministicAead
  source_file: /src/tink/cc/daead/failing_daead.cc
- function_names:
  - crypto::tink::internal::AddDeterministicAeadKeyGenV0
  source_file: /src/tink/cc/daead/internal/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/daead/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/daead/internal/config_v0_test.cc
- function_names:
  - crypto::tink::internal::AddDeterministicAeadV0
  source_file: /src/tink/cc/daead/internal/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/daead/internal/config_v0.h
- function_names:
  - crypto::tink::subtle::EncryptThenDecrypt
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/daead/subtle/aead_or_daead_test.cc
- function_names:
  - "operator()(\n      absl::string_view plaintext, absl::string_view associated_data,\n
    \     const std::unique_ptr<const Aead>& aead_primitive)"
  - "operator()(\n      absl::string_view plaintext, absl::string_view associated_data,\n
    \     const std::unique_ptr<const DeterministicAead>& aead_primitive)"
  - "operator()(\n      absl::string_view ciphertext, absl::string_view associated_data,\n
    \     const std::unique_ptr<const Aead>& aead_primitive)"
  - "operator()(\n      absl::string_view ciphertext, absl::string_view associated_data,\n
    \     const std::unique_ptr<const DeterministicAead>& aead_primitive)"
  - crypto::tink::subtle::AeadOrDaead::Encrypt
  - crypto::tink::subtle::AeadOrDaead::Decrypt
  source_file: /src/tink/cc/daead/subtle/aead_or_daead.cc
- function_names:
  - crypto::tink::subtle::AeadOrDaead::AeadOrDaead
  - crypto::tink::subtle::AeadOrDaead::AeadOrDaead
  source_file: /src/tink/cc/daead/subtle/aead_or_daead.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/prf/hkdf_prf_key_manager_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/prf/hmac_prf_key_manager_test.cc
- function_names:
  - crypto::tink::DummyPrf::Compute
  - crypto::tink::DummyPrfSet::GetPrimaryId
  - '& GetPrfs() const override'
  - crypto::tink::BrokenDummyPrfSet::GetPrimaryId
  - '& GetPrfs() const override'
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/prf/prf_set_test.cc
- function_names:
  - crypto::tink::HmacPrfKeyManager::ValidateKey
  - crypto::tink::HmacPrfKeyManager::ValidateKeyFormat
  - crypto::tink::HmacPrfKeyManager::CreateKey
  - crypto::tink::HmacPrfKeyManager::DeriveKey
  - crypto::tink::HmacPrfKeyManager::ValidateParams
  - crypto::tink::HmacPrfKeyManager::MaxOutputLength
  source_file: /src/tink/cc/prf/hmac_prf_key_manager.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/prf/prf_key_templates_test.cc
- function_names:
  - crypto::tink::KeyGenConfigPrfV0
  source_file: /src/tink/cc/prf/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/prf/key_gen_config_v0.h
- function_names:
  - crypto::tink::MonitoredPrf::MonitoredPrf
  - ~MonitoredPrf() override
  - crypto::tink::MonitoredPrf::MonitoredPrf
  - '& operator=(MonitoredPrf&& other)'
  - crypto::tink::MonitoredPrf::MonitoredPrf
  - '& operator=(const MonitoredPrf&)'
  - crypto::tink::MonitoredPrf::Compute
  - crypto::tink::PrfSetPrimitiveWrapper::PrfSetPrimitiveWrapper
  - crypto::tink::PrfSetPrimitiveWrapper::GetPrimaryId
  - '& GetPrfs() const override'
  - ~PrfSetPrimitiveWrapper() override
  - crypto::tink::Validate
  - crypto::tink::PrfSetWrapper::Wrap
  source_file: /src/tink/cc/prf/prf_set_wrapper.cc
- function_names: []
  source_file: /src/tink/cc/prf/prf_set_wrapper.h
- function_names: []
  source_file: /src/tink/cc/prf/prf_config.h
- function_names:
  - crypto::tink::MakeKey
  - crypto::tink::FakePrf::FakePrf
  - crypto::tink::FakePrf::Compute
  - crypto::tink::PrfSetWrapperTest::SetUp
  - crypto::tink::PrfSetWrapperTest::AddPrf
  - '& PrfSet()'
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::PrfSetWrapperWithMonitoringTest::SetUp
  - ~PrfSetWrapperWithMonitoringTest() override
  - crypto::tink::AlwaysFailingPrf::AlwaysFailingPrf
  - crypto::tink::AlwaysFailingPrf::Compute
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/prf/prf_set_wrapper_test.cc
- function_names:
  - crypto::tink::PrfSet::ComputePrimary
  source_file: /src/tink/cc/prf/prf_set.cc
- function_names:
  - crypto::tink::HkdfPrfKeyManager::StreamingPrfFactory::Create
  - crypto::tink::HkdfPrfKeyManager::PrfSetFactory::Create
  - crypto::tink::HkdfPrfKeyManager::HkdfPrfKeyManager
  - crypto::tink::HkdfPrfKeyManager::get_version
  - crypto::tink::HkdfPrfKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::HkdfPrfKeyManager::ValidateKey
  - crypto::tink::HkdfPrfKeyManager::ValidateKeyFormat
  - crypto::tink::HkdfPrfKeyManager::CreateKey
  - crypto::tink::HkdfPrfKeyManager::DeriveKey
  - crypto::tink::HkdfPrfKeyManager::ValidateKeySize
  - crypto::tink::HkdfPrfKeyManager::ValidateParams
  source_file: /src/tink/cc/prf/hkdf_prf_key_manager.h
- function_names:
  - crypto::tink::AesCmacPrfKeyManager::PrfSetFactory::Create
  - crypto::tink::AesCmacPrfKeyManager::AesCmacPrfKeyManager
  - crypto::tink::AesCmacPrfKeyManager::get_version
  - crypto::tink::AesCmacPrfKeyManager::key_material_type
  - crypto::tink::AesCmacPrfKeyManager::MaxOutputLength
  - '& get_key_type() const override'
  - crypto::tink::AesCmacPrfKeyManager::ValidateKey
  - crypto::tink::AesCmacPrfKeyManager::ValidateKeyFormat
  - crypto::tink::AesCmacPrfKeyManager::CreateKey
  - crypto::tink::AesCmacPrfKeyManager::DeriveKey
  source_file: /src/tink/cc/prf/aes_cmac_prf_key_manager.h
- function_names:
  - crypto::tink::GetInputStreamForString
  - crypto::tink::ValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/prf/aes_cmac_prf_key_manager_test.cc
- function_names: []
  source_file: /src/tink/cc/prf/prf_key_templates.h
- function_names:
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/prf/config_v0_test.cc
- function_names: []
  source_file: /src/tink/cc/prf/failing_prfset.h
- function_names:
  - crypto::tink::HmacPrfKeyManager::PrfFactory::Create
  - crypto::tink::HmacPrfKeyManager::HmacPrfKeyManager
  - crypto::tink::HmacPrfKeyManager::get_version
  - crypto::tink::HmacPrfKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::HmacPrfKeyManager::FipsStatus
  source_file: /src/tink/cc/prf/hmac_prf_key_manager.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/prf/failing_prfset_test.cc
- function_names:
  - crypto::tink::ConfigPrfV0
  source_file: /src/tink/cc/prf/config_v0.cc
- function_names:
  - ~Prf()
  - ~PrfSet()
  source_file: /src/tink/cc/prf/prf_set.h
- function_names:
  - crypto::tink::PrfConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/prf/prf_config_test.cc
- function_names:
  - crypto::tink::AlwaysFailPrf::AlwaysFailPrf
  - crypto::tink::AlwaysFailPrf::Compute
  - crypto::tink::AlwaysFailPrfSet::AlwaysFailPrfSet
  - crypto::tink::AlwaysFailPrfSet::GetPrimaryId
  - '& GetPrfs() const override'
  - crypto::tink::AlwaysFailPrfSet::ComputePrimary
  - crypto::tink::CreateAlwaysFailingPrf
  - crypto::tink::CreateAlwaysFailingPrfSet
  source_file: /src/tink/cc/prf/failing_prfset.cc
- function_names:
  - crypto::tink::NewHkdfSha256Template
  - crypto::tink::NewHmacTemplate
  - crypto::tink::NewAesCmacTemplate
  - '& PrfKeyTemplates::HkdfSha256()'
  - '& PrfKeyTemplates::HmacSha256()'
  - '& PrfKeyTemplates::HmacSha512()'
  - '& PrfKeyTemplates::AesCmac()'
  source_file: /src/tink/cc/prf/prf_key_templates.cc
- function_names: []
  source_file: /src/tink/cc/prf/config_v0.h
- function_names:
  - crypto::tink::PrfConfig::Register
  source_file: /src/tink/cc/prf/prf_config.cc
- function_names:
  - crypto::tink::internal::AddPrfKeyGenV0
  source_file: /src/tink/cc/prf/internal/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/prf/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/prf/internal/config_v0_test.cc
- function_names:
  - crypto::tink::internal::AddPrfV0
  source_file: /src/tink/cc/prf/internal/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/prf/internal/config_v0.h
- function_names: []
  source_file: /src/tink/cc/config/tink_fips.h
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/config/config_util_test.cc
- function_names:
  - crypto::tink::Fips1402Test::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/config/fips_140_2_test.cc
- function_names:
  - crypto::tink::ConfigGlobalRegistry
  - crypto::tink::KeyGenConfigGlobalRegistry
  source_file: /src/tink/cc/config/global_registry.cc
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/config/tink_config_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/config/tink_fips_test.cc
- function_names: []
  source_file: /src/tink/cc/config/fips_140_2.h
- function_names:
  - crypto::tink::TinkConfig::TinkConfig
  source_file: /src/tink/cc/config/tink_config.h
- function_names: []
  source_file: /src/tink/cc/config/key_gen_fips_140_2.h
- function_names: []
  source_file: /src/tink/cc/config/config_util.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/config/v0_test.cc
- function_names:
  - crypto::tink::ConfigV0
  source_file: /src/tink/cc/config/v0.cc
- function_names:
  - crypto::tink::KeyGenFips1402Test::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/config/key_gen_fips_140_2_test.cc
- function_names: []
  source_file: /src/tink/cc/config/v0.h
- function_names: []
  source_file: /src/tink/cc/config/global_registry.h
- function_names:
  - crypto::tink::KeyGenConfigV0
  source_file: /src/tink/cc/config/key_gen_v0.cc
- function_names:
  - crypto::tink::CreateTinkKeyTypeEntry
  source_file: /src/tink/cc/config/config_util.cc
- function_names:
  - crypto::tink::FakePrimitive::FakePrimitive
  - crypto::tink::FakePrimitive::get
  - crypto::tink::FakeKeyTypeManager::FakePrimitiveFactory::Create
  - crypto::tink::FakeKeyTypeManager::FakeKeyTypeManager
  - crypto::tink::FakeKeyTypeManager::key_material_type
  - crypto::tink::FakeKeyTypeManager::get_version
  - '& get_key_type() const override'
  - crypto::tink::FakeKeyTypeManager::ValidateKey
  - crypto::tink::FakeKeyTypeManager::ValidateKeyFormat
  - crypto::tink::FakeKeyTypeManager::CreateKey
  - crypto::tink::FakeKeyTypeManager::DeriveKey
  - crypto::tink::FakePrimitiveWrapper::Wrap
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/config/global_registry_test.cc
- function_names:
  - '& TinkConfig::Latest()'
  - crypto::tink::TinkConfig::Register
  source_file: /src/tink/cc/config/tink_config.cc
- function_names:
  - crypto::tink::IsFipsModeEnabled
  - crypto::tink::RestrictToFips
  source_file: /src/tink/cc/config/tink_fips.cc
- function_names:
  - crypto::tink::AddMac
  - crypto::tink::AddAead
  - crypto::tink::AddPrf
  - crypto::tink::AddSignature
  - crypto::tink::ConfigFips140_2
  source_file: /src/tink/cc/config/fips_140_2.cc
- function_names: []
  source_file: /src/tink/cc/config/key_gen_v0.h
- function_names:
  - crypto::tink::AddMac
  - crypto::tink::AddAead
  - crypto::tink::AddPrf
  - crypto::tink::AddSignature
  - crypto::tink::KeyGenConfigFips140_2
  source_file: /src/tink/cc/config/key_gen_fips_140_2.cc
- function_names:
  - crypto::tink::subtle::HmacBoringSsl::HmacBoringSsl
  source_file: /src/tink/cc/subtle/hmac_boringssl.h
- function_names:
  - crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::New
  - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::EciesHkdfNistPCurveSendKemBoringSsl
  - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::New
  - crypto::tink::subtle::EciesHkdfNistPCurveSendKemBoringSsl::GenerateKey
  - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::EciesHkdfX25519SendKemBoringSsl
  - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::New
  - crypto::tink::subtle::EciesHkdfX25519SendKemBoringSsl::GenerateKey
  source_file: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.cc
- function_names:
  - crypto::tink::EncryptThenDecrypt
  - crypto::tink::EncryptThenDecrypt
  source_file: /src/tink/cc/subtle/aead_test_util.cc
- function_names:
  - crypto::tink::subtle::GetEncryptingStream
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/streaming_aead_encrypting_stream_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/subtle/aead_test_util_test.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::AesCmacBoringSslTestVectorTest::ExpectCmacVerifyHex
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_cmac_boringssl_test.cc
- function_names:
  - crypto::tink::HybridEncryptThenDecrypt
  source_file: /src/tink/cc/subtle/hybrid_test_util.cc
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl_test.cc
- function_names: []
  source_file: /src/tink/cc/subtle/subtle_util.h
- function_names:
  - ~IndCpaCipher()
  source_file: /src/tink/cc/subtle/ind_cpa_cipher.h
- function_names:
  - crypto::tink::subtle::RsaPkcs1SignBoringsslTest::RsaPkcs1SignBoringsslTest
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::Ed25519VerifyBoringSsl::New
  - crypto::tink::subtle::Ed25519VerifyBoringSsl::Verify
  source_file: /src/tink/cc/subtle/ed25519_verify_boringssl.cc
- function_names:
  - crypto::tink::subtle::AesCtrHmacStreaming::AesCtrHmacStreaming
  - '& get_header() const override'
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_segment_number
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_plaintext_segment_size
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_ciphertext_segment_size
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::get_ciphertext_offset
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::IncSegmentNumber
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::AesCtrHmacStreamSegmentEncrypter
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_header_size
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_plaintext_segment_size
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_ciphertext_segment_size
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::get_ciphertext_offset
  - ~AesCtrHmacStreamSegmentDecrypter() override
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::AesCtrHmacStreamSegmentDecrypter
  source_file: /src/tink/cc/subtle/aes_ctr_hmac_streaming.h
- function_names: []
  source_file: /src/tink/cc/subtle/pem_parser_boringssl.h
- function_names:
  - crypto::tink::subtle::NewKeyPair
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/ed25519_sign_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::ReadFromStream
  - crypto::tink::subtle::StreamingAeadDecryptingStream::New
  - crypto::tink::subtle::StreamingAeadDecryptingStream::Next
  - crypto::tink::subtle::StreamingAeadDecryptingStream::BackUp
  - crypto::tink::subtle::StreamingAeadDecryptingStream::Position
  source_file: /src/tink/cc/subtle/streaming_aead_decrypting_stream.cc
- function_names:
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_header_size
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_ciphertext_segment_size
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_ciphertext_offset
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.h
- function_names:
  - crypto::tink::subtle::InitializeAesKey
  - crypto::tink::subtle::AesSivBoringSsl::New
  - crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK1
  - crypto::tink::subtle::AesSivBoringSsl::ComputeCmacK2
  - crypto::tink::subtle::AesSivBoringSsl::EncryptBlock
  - crypto::tink::subtle::AesSivBoringSsl::MultiplyByX
  - crypto::tink::subtle::AesSivBoringSsl::XorBlock
  - crypto::tink::subtle::AesSivBoringSsl::Cmac
  - crypto::tink::subtle::AesSivBoringSsl::CmacLong
  - crypto::tink::subtle::AesSivBoringSsl::S2v
  - crypto::tink::subtle::AesSivBoringSsl::AesCtrCrypt
  - crypto::tink::subtle::AesSivBoringSsl::EncryptDeterministically
  - crypto::tink::subtle::AesSivBoringSsl::DecryptDeterministically
  source_file: /src/tink/cc/subtle/aes_siv_boringssl.cc
- function_names:
  - crypto::tink::subtle::Ed25519SignBoringSsl::New
  - crypto::tink::subtle::Ed25519SignBoringSsl::Sign
  source_file: /src/tink/cc/subtle/ed25519_sign_boringssl.cc
- function_names:
  - crypto::tink::subtle::DecryptingRandomAccessStream::DecryptingRandomAccessStream
  source_file: /src/tink/cc/subtle/decrypting_random_access_stream.h
- function_names:
  - crypto::tink::subtle::GetEncrypter
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter_test.cc
- function_names:
  - crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::KemKey::KemKey
  - crypto::tink::subtle::EciesHkdfSenderKemBoringSsl::KemKey::KemKey
  - '& get_kem_bytes() const'
  - '& get_symmetric_key() const'
  - ~EciesHkdfSenderKemBoringSsl()
  source_file: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl.h
- function_names:
  - crypto::tink::subtle::Validate
  - crypto::tink::subtle::AesGcmHkdfStreaming::New
  - crypto::tink::subtle::AesGcmHkdfStreaming::NewSegmentEncrypter
  - crypto::tink::subtle::AesGcmHkdfStreaming::NewSegmentDecrypter
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.cc
- function_names:
  - crypto::tink::subtle::AesCtrBoringSsl::New
  - crypto::tink::subtle::AesCtrBoringSsl::Encrypt
  - crypto::tink::subtle::AesCtrBoringSsl::Decrypt
  source_file: /src/tink/cc/subtle/aes_ctr_boringssl.cc
- function_names:
  - crypto::tink::subtle::EncryptThenAuthenticate::EncryptThenAuthenticate
  source_file: /src/tink/cc/subtle/encrypt_then_authenticate.h
- function_names:
  - crypto::tink::subtle::SslRsaSsaPssVerify
  - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::New
  - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::Verify
  source_file: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.cc
- function_names:
  - crypto::tink::subtle::ByteSwap
  - crypto::tink::subtle::BigEndianStore32
  - crypto::tink::subtle::Validate
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::AesGcmHkdfStreamSegmentDecrypter
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::New
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::Init
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::get_plaintext_segment_size
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentDecrypter::DecryptSegment
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_decrypter.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::XChacha20Poly1305BoringSslWycheproofTest::SetUp
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/subtle/xchacha20_poly1305_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/ecies_hkdf_sender_kem_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::AesGcmBoringSsl::New
  source_file: /src/tink/cc/subtle/aes_gcm_boringssl.cc
- function_names:
  - crypto::tink::subtle::SslHkdf
  - crypto::tink::subtle::Hkdf::ComputeHkdf
  - crypto::tink::subtle::Hkdf::ComputeHkdf
  - crypto::tink::subtle::Hkdf::ComputeEciesHkdfSymmetricKey
  source_file: /src/tink/cc/subtle/hkdf.cc
- function_names:
  - crypto::tink::subtle::StatefulHmacBoringSsl::New
  - crypto::tink::subtle::StatefulHmacBoringSsl::Update
  - crypto::tink::subtle::StatefulHmacBoringSsl::Finalize
  - crypto::tink::subtle::StatefulHmacBoringSslFactory::StatefulHmacBoringSslFactory
  - crypto::tink::subtle::StatefulHmacBoringSslFactory::Create
  source_file: /src/tink/cc/subtle/stateful_hmac_boringssl.cc
- function_names:
  - crypto::tink::subtle::createAead2
  - crypto::tink::subtle::createAead
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/encrypt_then_authenticate_test.cc
- function_names: []
  source_file: /src/tink/cc/subtle/aead_test_util.h
- function_names:
  - crypto::tink::subtle::str2bn
  - crypto::tink::subtle::bn2str
  - crypto::tink::subtle::BignumToSecretData
  - crypto::tink::subtle::GetErrors
  - crypto::tink::subtle::GetEcGroup
  - crypto::tink::subtle::GetCurve
  - crypto::tink::subtle::GetEcPoint
  - crypto::tink::subtle::GetNewEcKey
  - crypto::tink::subtle::GetNewEcKeyFromSeed
  - crypto::tink::subtle::GenerateNewX25519Key
  - crypto::tink::subtle::X25519KeyFromEcKey
  - crypto::tink::subtle::EcKeyFromX25519Key
  - crypto::tink::subtle::GetNewEd25519Key
  - crypto::tink::subtle::GetNewEd25519KeyFromSeed
  - crypto::tink::subtle::EcPointDecode
  - crypto::tink::subtle::EcPointEncode
  - crypto::tink::subtle::ComputeEcdhSharedSecret
  - crypto::tink::subtle::EcSignatureIeeeToDer
  - crypto::tink::subtle::EvpHash
  - crypto::tink::subtle::ValidateSignatureHash
  - crypto::tink::subtle::EnsureNonNull
  - crypto::tink::subtle::ValidateRsaModulusSize
  - crypto::tink::subtle::ValidateRsaPublicExponent
  - crypto::tink::subtle::GetNewRsaKeyPair
  - crypto::tink::subtle::CopyKey
  - crypto::tink::subtle::CopyPrimeFactors
  - crypto::tink::subtle::CopyCrtParams
  - crypto::tink::subtle::BoringSslRsaFromRsaPrivateKey
  - crypto::tink::subtle::BoringSslRsaFromRsaPublicKey
  - crypto::tink::subtle::GetAesCtrCipherForKeySize
  - crypto::tink::subtle::GetAesGcmCipherForKeySize
  - crypto::tink::subtle::GetAesGcmAeadForKeySize
  - crypto::tink::boringssl::ComputeHash
  source_file: /src/tink/cc/subtle/subtle_util_boringssl.h
- function_names:
  - crypto::tink::subtle::StatefulCmacBoringSsl::StatefulCmacBoringSsl
  source_file: /src/tink/cc/subtle/stateful_cmac_boringssl.h
- function_names:
  - crypto::tink::subtle::EncodingSizeInBytes
  - crypto::tink::subtle::FieldSizeInBytes
  source_file: /src/tink/cc/subtle/ec_util.h
- function_names:
  - crypto::tink::subtle::AesCmacBoringSsl::New
  - crypto::tink::subtle::AesCmacBoringSsl::ComputeMac
  - crypto::tink::subtle::AesCmacBoringSsl::VerifyMac
  source_file: /src/tink/cc/subtle/aes_cmac_boringssl.cc
- function_names: []
  source_file: /src/tink/cc/subtle/hkdf.h
- function_names:
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::DummyStreamSegmentEncrypter
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::GenerateCiphertext
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::EncryptSegment
  - '& get_header() const override'
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_segment_number
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_plaintext_segment_size
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_ciphertext_segment_size
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_ciphertext_offset
  - ~DummyStreamSegmentEncrypter() override
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::get_generated_output_size
  - crypto::tink::subtle::test::DummyStreamSegmentEncrypter::IncSegmentNumber
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::DummyStreamSegmentDecrypter
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::Init
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_header_size
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::DecryptSegment
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_plaintext_segment_size
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_ciphertext_segment_size
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_ciphertext_offset
  - ~DummyStreamSegmentDecrypter() override
  - crypto::tink::subtle::test::DummyStreamSegmentDecrypter::get_generated_output_size
  - crypto::tink::subtle::test::DummyStreamingAead::DummyStreamingAead
  - crypto::tink::subtle::test::DummyStreamingAead::NewSegmentEncrypter
  - crypto::tink::subtle::test::DummyStreamingAead::NewSegmentDecrypter
  source_file: /src/tink/cc/subtle/test_util.h
- function_names:
  - ~RsaSsaPssVerifyBoringSsl() override
  - crypto::tink::subtle::RsaSsaPssVerifyBoringSsl::RsaSsaPssVerifyBoringSsl
  source_file: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_streaming_test.cc
- function_names:
  - crypto::tink::subtle::GetNistTestVector
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::ReadTestVectors
  - crypto::tink::subtle::GetVerifier
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::GetTestParameters
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/rsa_ssa_pss_verify_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::DecryptingRandomAccessStream::New
  - crypto::tink::subtle::DecryptingRandomAccessStream::PRead
  - crypto::tink::subtle::ABSL_EXCLUSIVE_LOCKS_REQUIRED
  - crypto::tink::subtle::DecryptingRandomAccessStream::GetPlaintextOffset
  - crypto::tink::subtle::DecryptingRandomAccessStream::GetSegmentNr
  - crypto::tink::subtle::DecryptingRandomAccessStream::ReadAndDecryptSegment
  - crypto::tink::subtle::DecryptingRandomAccessStream::PReadAndDecrypt
  - crypto::tink::subtle::DecryptingRandomAccessStream::size
  source_file: /src/tink/cc/subtle/decrypting_random_access_stream.cc
- function_names:
  - crypto::tink::subtle::XChacha20Poly1305BoringSsl::New
  - crypto::tink::subtle::XChacha20Poly1305BoringSsl::Encrypt
  - crypto::tink::subtle::XChacha20Poly1305BoringSsl::Decrypt
  source_file: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.cc
- function_names:
  - crypto::tink::subtle::EciesHkdfRecipientKemBoringSsl::New
  - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::New
  - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::EciesHkdfNistPCurveRecipientKemBoringSsl
  - crypto::tink::subtle::EciesHkdfNistPCurveRecipientKemBoringSsl::GenerateKey
  - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::EciesHkdfX25519RecipientKemBoringSsl
  - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::New
  - crypto::tink::subtle::EciesHkdfX25519RecipientKemBoringSsl::GenerateKey
  source_file: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.cc
- function_names: []
  source_file: /src/tink/cc/subtle/random.h
- function_names:
  - '& get_header() const override'
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_segment_number
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_ciphertext_segment_size
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_ciphertext_offset
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::IncSegmentNumber
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.h
- function_names:
  - ~StreamSegmentEncrypter()
  source_file: /src/tink/cc/subtle/stream_segment_encrypter.h
- function_names:
  - crypto::tink::subtle::HmacBoringSsl::New
  - crypto::tink::subtle::HmacBoringSsl::ComputeMac
  - crypto::tink::subtle::HmacBoringSsl::VerifyMac
  source_file: /src/tink/cc/subtle/hmac_boringssl.cc
- function_names:
  - crypto::tink::subtle::ValidParams
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_ctr_hmac_streaming_test.cc
- function_names:
  - crypto::tink::subtle::DummyStatefulMacFactory::DummyStatefulMacFactory
  - ~DummyStatefulMacFactory() override
  - crypto::tink::subtle::DummyStatefulMacFactory::Create
  - crypto::tink::subtle::GetComputeMacOutputStream
  - crypto::tink::subtle::GetVerifyMacOutputStream
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/streaming_mac_impl_test.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::GetError
  - crypto::tink::subtle::WycheproofTest
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_eax_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/subtle_util_test.cc
- function_names:
  - crypto::tink::subtle::AesGcmHkdfStreaming::AesGcmHkdfStreaming
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_streaming.h
- function_names:
  - ~RsaSsaPkcs1VerifyBoringSsl() override
  - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::RsaSsaPkcs1VerifyBoringSsl
  source_file: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.h
- function_names: []
  source_file: /src/tink/cc/subtle/nonce_based_streaming_aead.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/subtle/streaming_aead_test_util_test.cc
- function_names:
  - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::New
  - crypto::tink::subtle::RsaSsaPkcs1VerifyBoringSsl::Verify
  source_file: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl.cc
- function_names:
  - crypto::tink::subtle::EcdsaVerifyBoringSsl::EcdsaVerifyBoringSsl
  source_file: /src/tink/cc/subtle/ecdsa_verify_boringssl.h
- function_names:
  - crypto::tink::subtle::WriteToStream
  - crypto::tink::subtle::StreamingAeadEncryptingStream::New
  - crypto::tink::subtle::StreamingAeadEncryptingStream::Next
  - crypto::tink::subtle::StreamingAeadEncryptingStream::BackUp
  - crypto::tink::subtle::StreamingAeadEncryptingStream::Close
  - crypto::tink::subtle::StreamingAeadEncryptingStream::Position
  source_file: /src/tink/cc/subtle/streaming_aead_encrypting_stream.cc
- function_names:
  - crypto::tink::subtle::AesGcmBoringSslTest::SetUp
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TestDecryptWithEmptyAssociatedData
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::AesGcmBoringSslWycheproofTest::SetUp
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/subtle/aes_gcm_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::longToBigEndianStr
  - crypto::tink::subtle::EncryptThenAuthenticate::New
  - crypto::tink::subtle::EncryptThenAuthenticate::Encrypt
  - crypto::tink::subtle::EncryptThenAuthenticate::Decrypt
  source_file: /src/tink/cc/subtle/encrypt_then_authenticate.cc
- function_names: []
  source_file: /src/tink/cc/subtle/hybrid_test_util.h
- function_names:
  - crypto::tink::subtle::Ed25519VerifyBoringSsl::Ed25519VerifyBoringSsl
  source_file: /src/tink/cc/subtle/ed25519_verify_boringssl.h
- function_names:
  - crypto::tink::subtle::HexDecode
  - crypto::tink::subtle::HexDecodeOrDie
  - crypto::tink::subtle::WycheproofUtil::GetBytes
  - crypto::tink::subtle::WycheproofUtil::ReadTestVectors
  - crypto::tink::subtle::WycheproofUtil::GetHashType
  - crypto::tink::subtle::WycheproofUtil::GetEllipticCurveType
  - crypto::tink::subtle::WycheproofUtil::GetInteger
  source_file: /src/tink/cc/subtle/wycheproof_util.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::WycheproofTest
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_siv_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/common_enums_test.cc
- function_names:
  - crypto::tink::subtle::StatefulHmacBoringSsl::StatefulHmacBoringSsl
  source_file: /src/tink/cc/subtle/stateful_hmac_boringssl.h
- function_names:
  - crypto::tink::subtle::GetRandomUint
  - crypto::tink::subtle::Random::GetRandomBytes
  - crypto::tink::subtle::Random::GetRandomBytes
  - crypto::tink::subtle::Random::GetRandomUInt32
  - crypto::tink::subtle::Random::GetRandomUInt16
  - crypto::tink::subtle::Random::GetRandomUInt8
  - crypto::tink::subtle::Random::GetRandomKeyBytes
  source_file: /src/tink/cc/subtle/random.cc
- function_names: []
  source_file: /src/tink/cc/subtle/common_enums.h
- function_names:
  - crypto::tink::subtle::AesGcmSivBoringSsl::New
  - crypto::tink::subtle::AesGcmSivBoringSsl::Encrypt
  - crypto::tink::subtle::AesGcmSivBoringSsl::Decrypt
  source_file: /src/tink/cc/subtle/aes_gcm_siv_boringssl.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::AesGcmSivBoringSslWycheproofTest::SetUp
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/subtle/aes_gcm_siv_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::StreamingAeadDecryptingStream::StreamingAeadDecryptingStream
  source_file: /src/tink/cc/subtle/streaming_aead_decrypting_stream.h
- function_names:
  - crypto::tink::subtle::Ed25519VerifyBoringSslTest::SetUp
  - crypto::tink::subtle::GetTestVectors
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::GetVerifier
  - crypto::tink::subtle::TestSignatures
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/ed25519_verify_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::AesSivBoringSsl::IsValidKeySizeInBytes
  - crypto::tink::subtle::AesSivBoringSsl::AesSivBoringSsl
  source_file: /src/tink/cc/subtle/aes_siv_boringssl.h
- function_names:
  - crypto::tink::ReadAndVerifyFragment
  - crypto::tink::EncryptThenDecrypt
  source_file: /src/tink/cc/subtle/streaming_aead_test_util.cc
- function_names:
  - crypto::tink::subtle::StreamingMacImpl::StreamingMacImpl
  source_file: /src/tink/cc/subtle/streaming_mac_impl.h
- function_names:
  - crypto::tink::subtle::RsaPssSignBoringsslTest::RsaPssSignBoringsslTest
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::ComputeMacOutputStream::ComputeMacOutputStream
  - crypto::tink::subtle::ComputeMacOutputStream::Position
  - crypto::tink::subtle::StreamingMacImpl::NewComputeMacOutputStream
  - crypto::tink::subtle::ComputeMacOutputStream::NextBuffer
  - crypto::tink::subtle::ComputeMacOutputStream::CloseStreamAndComputeResult
  - crypto::tink::subtle::ComputeMacOutputStream::BackUp
  - crypto::tink::subtle::ComputeMacOutputStream::WriteIntoMac
  - crypto::tink::subtle::VerifyMacOutputStream::VerifyMacOutputStream
  - crypto::tink::subtle::VerifyMacOutputStream::Position
  - crypto::tink::subtle::VerifyMacOutputStream::NextBuffer
  - crypto::tink::subtle::VerifyMacOutputStream::CloseStreamAndComputeResult
  - crypto::tink::subtle::VerifyMacOutputStream::BackUp
  - crypto::tink::subtle::VerifyMacOutputStream::WriteIntoMac
  - crypto::tink::subtle::StreamingMacImpl::NewVerifyMacOutputStream
  source_file: /src/tink/cc/subtle/streaming_mac_impl.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::GetWycheproofCmakeTestVectors
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/subtle/stateful_cmac_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::GetDecryptingStream
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/streaming_aead_decrypting_stream_test.cc
- function_names:
  - crypto::tink::subtle::AesCmacBoringSsl::AesCmacBoringSsl
  source_file: /src/tink/cc/subtle/aes_cmac_boringssl.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_ctr_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::StreamingAeadEncryptingStream::StreamingAeadEncryptingStream
  source_file: /src/tink/cc/subtle/streaming_aead_encrypting_stream.h
- function_names: []
  source_file: /src/tink/cc/subtle/streaming_aead_test_util.h
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/ecdsa_sign_boringssl_test.cc
- function_names:
  - ~RsaSsaPkcs1SignBoringSsl() override
  - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::RsaSsaPkcs1SignBoringSsl
  source_file: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.h
- function_names: []
  source_file: /src/tink/cc/subtle/wycheproof_util.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter_test.cc
- function_names:
  - crypto::tink::subtle::AesEaxBoringSsl::AesEaxBoringSsl
  source_file: /src/tink/cc/subtle/aes_eax_boringssl.h
- function_names:
  - ~EciesHkdfRecipientKemBoringSsl()
  source_file: /src/tink/cc/subtle/ecies_hkdf_recipient_kem_boringssl.h
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::GetVerifier
  - crypto::tink::subtle::TestSignatures
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/rsa_ssa_pkcs1_verify_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::EcdsaSignBoringSsl::EcdsaSignBoringSsl
  source_file: /src/tink/cc/subtle/ecdsa_sign_boringssl.h
- function_names:
  - crypto::tink::subtle::BigEndian32
  - crypto::tink::subtle::ResizeStringUninitialized
  source_file: /src/tink/cc/subtle/subtle_util.cc
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::GetVerifier
  - crypto::tink::subtle::TestSignatures
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/ecdsa_verify_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::StatefulCmacBoringSsl::New
  - crypto::tink::subtle::StatefulCmacBoringSsl::Update
  - crypto::tink::subtle::StatefulCmacBoringSsl::Finalize
  - crypto::tink::subtle::StatefulCmacBoringSslFactory::StatefulCmacBoringSslFactory
  - crypto::tink::subtle::StatefulCmacBoringSslFactory::Create
  source_file: /src/tink/cc/subtle/stateful_cmac_boringssl.cc
- function_names:
  - crypto::tink::subtle::XChacha20Poly1305BoringSsl::XChacha20Poly1305BoringSsl
  source_file: /src/tink/cc/subtle/xchacha20_poly1305_boringssl.h
- function_names:
  - crypto::tink::subtle::Ed25519SignBoringSsl::Ed25519SignBoringSsl
  source_file: /src/tink/cc/subtle/ed25519_sign_boringssl.h
- function_names:
  - crypto::tink::subtle::NonceBasedStreamingAead::NewEncryptingStream
  - crypto::tink::subtle::NonceBasedStreamingAead::NewDecryptingStream
  - crypto::tink::subtle::NonceBasedStreamingAead::NewDecryptingRandomAccessStream
  source_file: /src/tink/cc/subtle/nonce_based_streaming_aead.cc
- function_names:
  - crypto::tink::subtle::AesCtrBoringSsl::AesCtrBoringSsl
  source_file: /src/tink/cc/subtle/aes_ctr_boringssl.h
- function_names:
  - crypto::tink::subtle::SslRsaSsaPssSign
  - crypto::tink::subtle::RsaSsaPssSignBoringSsl::New
  - crypto::tink::subtle::RsaSsaPssSignBoringSsl::Sign
  source_file: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.cc
- function_names:
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/hkdf_test.cc
- function_names:
  - crypto::tink::subtle::New
  source_file: /src/tink/cc/subtle/aes_gcm_boringssl.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/random_test.cc
- function_names:
  - crypto::tink::subtle::AesGcmSivBoringSsl::AesGcmSivBoringSsl
  source_file: /src/tink/cc/subtle/aes_gcm_siv_boringssl.h
- function_names:
  - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
  - crypto::tink::subtle::EcdsaVerifyBoringSsl::New
  - crypto::tink::subtle::EcdsaVerifyBoringSsl::Verify
  source_file: /src/tink/cc/subtle/ecdsa_verify_boringssl.cc
- function_names:
  - crypto::tink::subtle::Load64
  - crypto::tink::subtle::Store64
  - crypto::tink::subtle::ByteSwap
  - crypto::tink::subtle::BigEndianLoad64
  - crypto::tink::subtle::BigEndianStore64
  - crypto::tink::subtle::InitAesKey
  - crypto::tink::subtle::AesEaxBoringSsl::XorBlock
  - crypto::tink::subtle::AesEaxBoringSsl::MultiplyByX
  - crypto::tink::subtle::AesEaxBoringSsl::EqualBlocks
  - crypto::tink::subtle::AesEaxBoringSsl::IsValidKeySize
  - crypto::tink::subtle::AesEaxBoringSsl::IsValidNonceSize
  - crypto::tink::subtle::AesEaxBoringSsl::ComputeB
  - crypto::tink::subtle::AesEaxBoringSsl::ComputeP
  - crypto::tink::subtle::AesEaxBoringSsl::New
  - crypto::tink::subtle::AesEaxBoringSsl::Pad
  - crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
  - crypto::tink::subtle::AesEaxBoringSsl::EncryptBlock
  - crypto::tink::subtle::AesEaxBoringSsl::Omac
  - crypto::tink::subtle::AesEaxBoringSsl::Omac
  - crypto::tink::subtle::AesEaxBoringSsl::CtrCrypt
  - crypto::tink::subtle::AesEaxBoringSsl::Encrypt
  - crypto::tink::subtle::AesEaxBoringSsl::Decrypt
  source_file: /src/tink/cc/subtle/aes_eax_boringssl.cc
- function_names:
  - crypto::tink::subtle::ByteSwap
  - crypto::tink::subtle::BigEndianStore32
  - crypto::tink::subtle::Validate
  - crypto::tink::subtle::CreateHeader
  - crypto::tink::subtle::ConstructNonce
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::get_plaintext_segment_size
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::AesGcmHkdfStreamSegmentEncrypter
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::New
  - crypto::tink::subtle::AesGcmHkdfStreamSegmentEncrypter::EncryptSegment
  source_file: /src/tink/cc/subtle/aes_gcm_hkdf_stream_segment_encrypter.cc
- function_names:
  - crypto::tink::subtle::VerifyRsaKey
  - crypto::tink::subtle::VerifyEcdsaKey
  - crypto::tink::subtle::EcKeyToSslEcPublicKey
  - crypto::tink::subtle::EcKeyToSslEcPrivateKey
  - crypto::tink::subtle::ConvertBioToString
  - crypto::tink::subtle::ScalarSizeInBytes
  - crypto::tink::subtle::FieldElementSizeInBytes
  - crypto::tink::subtle::FailingPassphraseCallback
  - crypto::tink::subtle::PemParser::ParseRsaPublicKey
  - crypto::tink::subtle::PemParser::ParseRsaPrivateKey
  - crypto::tink::subtle::PemParser::WriteRsaPublicKey
  - crypto::tink::subtle::PemParser::WriteRsaPrivateKey
  - crypto::tink::subtle::PemParser::ParseEcPublicKey
  - crypto::tink::subtle::PemParser::ParseEcPrivateKey
  - crypto::tink::subtle::PemParser::WriteEcPublicKey
  - crypto::tink::subtle::PemParser::WriteEcPrivateKey
  source_file: /src/tink/cc/subtle/pem_parser_boringssl.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/subtle/hybrid_test_util_test.cc
- function_names:
  - crypto::tink::subtle::test::WriteToStream
  - crypto::tink::subtle::test::ReadFromStream
  source_file: /src/tink/cc/subtle/test_util.cc
- function_names:
  - crypto::tink::subtle::EcdsaSignBoringSsl::New
  - crypto::tink::subtle::EcdsaSignBoringSsl::Sign
  source_file: /src/tink/cc/subtle/ecdsa_sign_boringssl.cc
- function_names:
  - crypto::tink::subtle::NonceForSegment
  - crypto::tink::subtle::DeriveKeys
  - crypto::tink::subtle::Validate
  - crypto::tink::subtle::AesCtrHmacStreaming::New
  - crypto::tink::subtle::AesCtrHmacStreaming::NewSegmentEncrypter
  - crypto::tink::subtle::AesCtrHmacStreaming::NewSegmentDecrypter
  - crypto::tink::subtle::MakeHeader
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::New
  - crypto::tink::subtle::AesCtrHmacStreamSegmentEncrypter::EncryptSegment
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::New
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::Init
  - crypto::tink::subtle::AesCtrHmacStreamSegmentDecrypter::DecryptSegment
  source_file: /src/tink/cc/subtle/aes_ctr_hmac_streaming.cc
- function_names:
  - crypto::tink::subtle::HmacBoringSslTest::HmacVerifyHex
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/hmac_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::GetEcKeyTestVectors
  - crypto::tink::subtle::GetRsaKeyTestVectors
  - crypto::tink::subtle::PemParserRsaTest::PemParserRsaTest
  - crypto::tink::subtle::PemParserRsaTest::SetUp
  - crypto::tink::subtle::PemParserRsaTest::ExpectBnEqual
  - crypto::tink::subtle::Corrupt
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/pem_parser_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::New
  - crypto::tink::subtle::RsaSsaPkcs1SignBoringSsl::Sign
  source_file: /src/tink/cc/subtle/rsa_ssa_pkcs1_sign_boringssl.cc
- function_names:
  - crypto::tink::subtle::EnumToString
  - crypto::tink::subtle::EnumToString
  - crypto::tink::subtle::EnumToString
  source_file: /src/tink/cc/subtle/common_enums.cc
- function_names:
  - crypto::tink::subtle::DummyRandomAccessStream::DummyRandomAccessStream
  - crypto::tink::subtle::DummyRandomAccessStream::PRead
  - crypto::tink::subtle::DummyRandomAccessStream::size
  - crypto::tink::subtle::GetCiphertext
  - crypto::tink::subtle::GetCiphertextSource
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/decrypting_random_access_stream_test.cc
- function_names:
  - ~StreamSegmentDecrypter()
  source_file: /src/tink/cc/subtle/stream_segment_decrypter.h
- function_names:
  - ~RsaSsaPssSignBoringSsl() override
  - crypto::tink::subtle::RsaSsaPssSignBoringSsl::RsaSsaPssSignBoringSsl
  source_file: /src/tink/cc/subtle/rsa_ssa_pss_sign_boringssl.h
- function_names:
  - crypto::tink::subtle::TestVector
  - crypto::tink::subtle::GetTestVectors
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::StatefulHmacBoringSslTestVectorTest::StatefulHmacVerifyHex
  source_file: /src/tink/cc/subtle/stateful_hmac_boringssl_test.cc
- function_names: []
  source_file: /src/tink/cc/subtle/prf/prf_set_util.h
- function_names:
  - ~StreamingPrf()
  source_file: /src/tink/cc/subtle/prf/streaming_prf.h
- function_names: []
  source_file: /src/tink/cc/subtle/prf/streaming_prf_wrapper.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::ComputeWithHkdfStreamingPrf
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/subtle/prf/hkdf_streaming_prf_test.cc
- function_names:
  - crypto::tink::StreamingPrfSetWrapper::StreamingPrfSetWrapper
  - crypto::tink::StreamingPrfSetWrapper::ComputePrf
  - ~StreamingPrfSetWrapper() override
  - crypto::tink::StreamingPrfWrapper::Wrap
  source_file: /src/tink/cc/subtle/prf/streaming_prf_wrapper.cc
- function_names:
  - crypto::tink::subtle::FakeStatefulMacFactory::FakeStatefulMacFactory
  - crypto::tink::subtle::FakeStatefulMacFactory::Create
  - crypto::tink::subtle::GetInputStreamForString
  - crypto::tink::subtle::PrfFromStatefulMacFactoryTest::SetUpWithResult
  - crypto::tink::subtle::PrfFromStatefulMacFactoryTest::prf
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::PrfFromStreamingPrfTest::SetUp
  - crypto::tink::subtle::PrfFromStreamingPrfTest::prf
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  - crypto::tink::subtle::TEST_F
  source_file: /src/tink/cc/subtle/prf/prf_set_util_test.cc
- function_names:
  - crypto::tink::subtle::HkdfStreamingPrf::HkdfStreamingPrf
  source_file: /src/tink/cc/subtle/prf/hkdf_streaming_prf.h
- function_names:
  - crypto::tink::subtle::HkdfInputStream::HkdfInputStream
  - crypto::tink::subtle::HkdfInputStream::Next
  - crypto::tink::subtle::HkdfInputStream::BackUp
  - crypto::tink::subtle::HkdfInputStream::Position
  - crypto::tink::subtle::HkdfInputStream::Init
  - crypto::tink::subtle::HkdfInputStream::returnDataFromPosition
  - crypto::tink::subtle::HkdfInputStream::UpdateTi
  - crypto::tink::subtle::HkdfStreamingPrf::ComputePrf
  - crypto::tink::subtle::HkdfStreamingPrf::New
  source_file: /src/tink/cc/subtle/prf/hkdf_streaming_prf.cc
- function_names:
  - crypto::tink::subtle::PrfFromStreamingPrf::PrfFromStreamingPrf
  - crypto::tink::subtle::PrfFromStreamingPrf::Compute
  - crypto::tink::subtle::PrfFromStatefulMacFactory::PrfFromStatefulMacFactory
  - crypto::tink::subtle::PrfFromStatefulMacFactory::Compute
  - crypto::tink::subtle::CreatePrfFromStreamingPrf
  - crypto::tink::subtle::CreatePrfFromStatefulMacFactory
  source_file: /src/tink/cc/subtle/prf/prf_set_util.cc
- function_names:
  - crypto::tink::DummyStreamingPrf::DummyStreamingPrf
  - crypto::tink::DummyStreamingPrf::ComputePrf
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/subtle/prf/streaming_prf_wrapper_test.cc
- function_names:
  - crypto::tink::subtle::StatefulMac::StatefulMac
  - ~StatefulMac()
  - ~StatefulMacFactory()
  source_file: /src/tink/cc/subtle/mac/stateful_mac.h
- function_names:
  - crypto::tink::EciesAeadHkdfHybridEncryptTest::SetUp
  - crypto::tink::EciesAeadHkdfHybridEncryptTest::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt_test.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hpke_proto_serialization.h
- function_names:
  - crypto::tink::EciesAeadHkdfPublicKeyManager::HybridEncryptFactory::Create
  - crypto::tink::EciesAeadHkdfPublicKeyManager::EciesAeadHkdfPublicKeyManager
  - crypto::tink::EciesAeadHkdfPublicKeyManager::get_version
  - crypto::tink::EciesAeadHkdfPublicKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.h
- function_names:
  - crypto::tink::EciesAeadHkdfPublicKeyManager::ValidateParams
  - crypto::tink::EciesAeadHkdfPublicKeyManager::ValidateKey
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager.cc
- function_names:
  - crypto::tink::GetNewEciesPrivateKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hybrid_decrypt_factory_test.cc
- function_names:
  - crypto::tink::EciesParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::EciesParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::EciesParameters::Builder::Builder
  - crypto::tink::EciesParameters::EciesParameters
  - '& operator=(const EciesParameters& other)'
  - crypto::tink::EciesParameters::EciesParameters
  - '& operator=(EciesParameters&& other)'
  - crypto::tink::EciesParameters::GetCurveType
  - crypto::tink::EciesParameters::GetHashType
  - crypto::tink::EciesParameters::GetNistCurvePointFormat
  - crypto::tink::EciesParameters::GetDemId
  - crypto::tink::EciesParameters::GetSalt
  - crypto::tink::EciesParameters::GetVariant
  - crypto::tink::EciesParameters::HasIdRequirement
  - crypto::tink::EciesParameters::EciesParameters
  source_file: /src/tink/cc/hybrid/ecies_parameters.h
- function_names:
  - crypto::tink::Validate
  - crypto::tink::EciesAeadHkdfHybridEncrypt::New
  - crypto::tink::EciesAeadHkdfHybridEncrypt::Encrypt
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::IsNistCurve
  - crypto::tink::FromProtoCurveType
  - crypto::tink::ToProtoCurveType
  - crypto::tink::FromProtoHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::FromProtoPointFormat
  - crypto::tink::ToProtoPointFormat
  - crypto::tink::ValidateAesCtrHmacAeadKeyFormat
  - crypto::tink::FromProtoDemParams
  - crypto::tink::CreateEciesAeadDemParams
  - crypto::tink::ToProtoDemParams
  - crypto::tink::ToParameters
  - crypto::tink::FromParameters
  - crypto::tink::ToPublicKey
  - crypto::tink::GetEncodingLength
  - crypto::tink::FromPublicKey
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::EciesProtoParametersParser
  - crypto::tink::EciesProtoParametersSerializer
  - crypto::tink::EciesProtoPublicKeyParser
  - crypto::tink::EciesProtoPublicKeySerializer
  - crypto::tink::EciesProtoPrivateKeyParser
  - crypto::tink::EciesProtoPrivateKeySerializer
  - crypto::tink::RegisterEciesProtoSerialization
  source_file: /src/tink/cc/hybrid/ecies_proto_serialization.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::EciesAeadHkdfHybridDecrypt::New
  - crypto::tink::EciesAeadHkdfHybridDecrypt::Decrypt
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.cc
- function_names:
  - crypto::tink::KeyGenConfigHybridV0
  source_file: /src/tink/cc/hybrid/key_gen_config_v0.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/hpke_public_key_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/hpke_private_key_test.cc
- function_names:
  - crypto::tink::HybridEncryptSetWrapperTest::SetUp
  - crypto::tink::HybridEncryptSetWrapperTest::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::HybridEncryptSetWrapperWithMonitoringTest::SetUp
  - ~HybridEncryptSetWrapperWithMonitoringTest() override
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hybrid_encrypt_wrapper_test.cc
- function_names:
  - ~EciesAeadHkdfDemHelper()
  - crypto::tink::EciesAeadHkdfDemHelper::dem_key_size_in_bytes
  - crypto::tink::EciesAeadHkdfDemHelper::EciesAeadHkdfDemHelper
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.h
- function_names: []
  source_file: /src/tink/cc/hybrid/key_gen_config_v0.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreatePublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_public_key_manager_test.cc
- function_names:
  - crypto::tink::HybridPrivateKey::GetOutputPrefix
  - crypto::tink::HybridPrivateKey::GetIdRequirement
  - '& GetParameters() const override'
  source_file: /src/tink/cc/hybrid/hybrid_private_key.h
- function_names:
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::ValidateKeyFormat
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::CreateKey
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::GetPublicKey
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::ValidateKey
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/ecies_public_key_test.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.h
- function_names:
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::HybridDecryptFactory::Create
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::EciesAeadHkdfPrivateKeyManager
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::get_version
  - crypto::tink::EciesAeadHkdfPrivateKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager.h
- function_names:
  - crypto::tink::HpkePublicKey::HpkePublicKey
  - '& operator=(const HpkePublicKey& other)'
  - crypto::tink::HpkePublicKey::HpkePublicKey
  - '& operator=(HpkePublicKey&& other)'
  - crypto::tink::HpkePublicKey::GetPublicKeyBytes
  - crypto::tink::HpkePublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::HpkePublicKey::GetIdRequirement
  - crypto::tink::HpkePublicKey::HpkePublicKey
  source_file: /src/tink/cc/hybrid/hpke_public_key.h
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToKemId
  - crypto::tink::FromKemId
  - crypto::tink::ToKdfId
  - crypto::tink::FromKdfId
  - crypto::tink::ToAeadId
  - crypto::tink::FromAeadId
  - crypto::tink::ToParameters
  - crypto::tink::FromParameters
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::HpkeProtoParametersParser
  - crypto::tink::HpkeProtoParametersSerializer
  - crypto::tink::HpkeProtoPublicKeyParser
  - crypto::tink::HpkeProtoPublicKeySerializer
  - crypto::tink::HpkeProtoPrivateKeyParser
  - crypto::tink::HpkeProtoPrivateKeySerializer
  - crypto::tink::RegisterHpkeProtoSerialization
  source_file: /src/tink/cc/hybrid/hpke_proto_serialization.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/failing_hybrid_test.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_parameters.h
- function_names:
  - crypto::tink::EncryptThenDecrypt
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper_test.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_public_key.h
- function_names:
  - crypto::tink::EciesAeadHkdfHybridDecryptTest::SetUp
  - crypto::tink::EciesAeadHkdfHybridDecryptTest::TearDown
  - crypto::tink::EciesAeadHkdfHybridDecryptTest::GetCommonHybridKeyParamsList
  - crypto::tink::EciesAeadHkdfHybridDecryptTest::GetEciesPrivateKeyFromHexString
  - crypto::tink::EciesAeadHkdfHybridDecryptTest::TestValidKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt_test.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_decrypt_factory.h
- function_names:
  - crypto::tink::HybridEncryptFactory::GetPrimitive
  - crypto::tink::HybridEncryptFactory::GetPrimitive
  source_file: /src/tink/cc/hybrid/hybrid_encrypt_factory.cc
- function_names:
  - crypto::tink::HybridDecryptSetWrapper::HybridDecryptSetWrapper
  - ~HybridDecryptSetWrapper() override
  - crypto::tink::HybridDecryptSetWrapper::Decrypt
  - crypto::tink::Validate
  - crypto::tink::HybridDecryptWrapper::Wrap
  source_file: /src/tink/cc/hybrid/hybrid_decrypt_wrapper.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::HybridEncryptSetWrapper::HybridEncryptSetWrapper
  - ~HybridEncryptSetWrapper() override
  - crypto::tink::HybridEncryptSetWrapper::Encrypt
  - crypto::tink::HybridEncryptWrapper::Wrap
  source_file: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.cc
- function_names:
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/hybrid/config_v0_test.cc
- function_names:
  - crypto::tink::ValidateNistCurvePublicKey
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::ValidateIdRequirement
  - crypto::tink::EciesPublicKey::CreateForNistCurve
  - crypto::tink::EciesPublicKey::CreateForCurveX25519
  - EciesPublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/hybrid/ecies_public_key.cc
- function_names:
  - crypto::tink::CurveTypeFromKemId
  - crypto::tink::ValidatePrivateKeyLength
  - crypto::tink::IsNistKem
  - crypto::tink::ValidateNistEcKeyPair
  - crypto::tink::ValidateX25519KeyPair
  - crypto::tink::ValidateKeyPair
  - crypto::tink::HpkePrivateKey::Create
  - HpkePrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/hybrid/hpke_private_key.cc
- function_names:
  - crypto::tink::AlwaysFailHybridEncrypt::AlwaysFailHybridEncrypt
  - crypto::tink::AlwaysFailHybridEncrypt::Encrypt
  - crypto::tink::AlwaysFailHybridDecrypt::AlwaysFailHybridDecrypt
  - crypto::tink::AlwaysFailHybridDecrypt::Decrypt
  - crypto::tink::CreateAlwaysFailingHybridEncrypt
  - crypto::tink::CreateAlwaysFailingHybridDecrypt
  source_file: /src/tink/cc/hybrid/failing_hybrid.cc
- function_names:
  - crypto::tink::NewEciesAeadHkdfKeyTemplate
  - crypto::tink::NewHpkeKeyTemplate
  - '& HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128Gcm()'
  - '& HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128Gcm()'
  - '&

    HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128GcmCompressedWithoutPrefix()'
  - '&

    HybridKeyTemplates::EciesP256HkdfHmacSha256Aes128CtrHmacSha256()'
  - '&

    HybridKeyTemplates::EciesP256HkdfHmacSha512Aes128CtrHmacSha256()'
  - '&

    HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128Gcm()'
  - '&

    HybridKeyTemplates::EciesP256CompressedHkdfHmacSha256Aes128CtrHmacSha256()'
  - '& HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128Gcm()'
  - '& HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes256Gcm()'
  - '&

    HybridKeyTemplates::EciesX25519HkdfHmacSha256Aes128CtrHmacSha256()'
  - '&

    HybridKeyTemplates::EciesX25519HkdfHmacSha256XChaCha20Poly1305()'
  - '&

    HybridKeyTemplates::EciesX25519HkdfHmacSha256DeterministicAesSiv()'
  - '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes128Gcm()'
  - '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes128GcmRaw()'
  - '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes256Gcm()'
  - '& HybridKeyTemplates::HpkeX25519HkdfSha256Aes256GcmRaw()'
  - '&

    HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305()'
  - '&

    HybridKeyTemplates::HpkeX25519HkdfSha256ChaCha20Poly1305Raw()'
  source_file: /src/tink/cc/hybrid/hybrid_key_templates.cc
- function_names:
  - crypto::tink::EciesAeadHkdfHybridDecrypt::EciesAeadHkdfHybridDecrypt
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_decrypt.h
- function_names:
  - crypto::tink::HpkePrivateKey::HpkePrivateKey
  - '& operator=(const HpkePrivateKey& other)'
  - crypto::tink::HpkePrivateKey::HpkePrivateKey
  - '& operator=(HpkePrivateKey&& other)'
  - '& GetPrivateKeyBytes(PartialKeyAccessToken token) const'
  - '& GetPublicKey() const override'
  - crypto::tink::HpkePrivateKey::HpkePrivateKey
  source_file: /src/tink/cc/hybrid/hpke_private_key.h
- function_names:
  - crypto::tink::Wrap
  - crypto::tink::Wrap
  - crypto::tink::EciesAeadHkdfDemHelper::GetKeyParams
  - crypto::tink::EciesAeadHkdfDemHelper::New
  - crypto::tink::EciesAeadHkdfDemHelper::GetAeadOrDaead
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_dem_helper.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/hybrid/ecies_parameters_test.cc
- function_names:
  - crypto::tink::SubtleCurveType
  - crypto::tink::ValidateNistKeyPair
  - crypto::tink::ValidateX25519KeyPair
  - crypto::tink::EciesPrivateKey::CreateForNistCurve
  - crypto::tink::EciesPrivateKey::CreateForCurveX25519
  - EciesPrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/hybrid/ecies_private_key.cc
- function_names:
  - crypto::tink::HpkeProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::GenerateKeyPair
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hpke_proto_serialization_test.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_encrypt_wrapper.h
- function_names:
  - crypto::tink::HybridConfig::Register
  source_file: /src/tink/cc/hybrid/hybrid_config.cc
- function_names:
  - crypto::tink::IsNistCurve
  - "& EciesParameters::Builder::SetCurveType(\n    CurveType curve_type)"
  - "& EciesParameters::Builder::SetHashType(\n    HashType hash_type)"
  - "& EciesParameters::Builder::SetNistCurvePointFormat(\n    PointFormat point_format)"
  - '& EciesParameters::Builder::SetDemId(DemId dem_id)'
  - "& EciesParameters::Builder::SetSalt(\n    absl::string_view salt)"
  - "& EciesParameters::Builder::SetVariant(\n    Variant variant)"
  - EciesParameters::Builder::Build()
  - crypto::tink::EciesParameters::CreateDemParameters
  - EciesParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/hybrid/ecies_parameters.cc
- function_names:
  - crypto::tink::HpkeConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hpke_config_test.cc
- function_names:
  - crypto::tink::HybridDecryptFactory::GetPrimitive
  - crypto::tink::HybridDecryptFactory::GetPrimitive
  source_file: /src/tink/cc/hybrid/hybrid_decrypt_factory.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_key_templates.h
- function_names:
  - crypto::tink::HybridConfig::HybridConfig
  source_file: /src/tink/cc/hybrid/hybrid_config.h
- function_names: []
  source_file: /src/tink/cc/hybrid/hybrid_encrypt_factory.h
- function_names:
  - crypto::tink::ConfigHybridV0
  source_file: /src/tink/cc/hybrid/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/ecies_proto_serialization.h
- function_names:
  - crypto::tink::EciesPrivateKey::EciesPrivateKey
  - '& operator=(const EciesPrivateKey& other)'
  - crypto::tink::EciesPrivateKey::EciesPrivateKey
  - '& operator=(EciesPrivateKey&& other)'
  - crypto::tink::EciesPrivateKey::GetNistPrivateKeyValue
  - crypto::tink::EciesPrivateKey::GetX25519PrivateKeyBytes
  - '& GetPublicKey() const override'
  - crypto::tink::EciesPrivateKey::EciesPrivateKey
  - crypto::tink::EciesPrivateKey::EciesPrivateKey
  source_file: /src/tink/cc/hybrid/ecies_private_key.h
- function_names:
  - crypto::tink::EciesProtoSerializationTest::EciesProtoSerializationTest
  - crypto::tink::TEST_F
  - crypto::tink::CreateKemParams
  - crypto::tink::CreateAesGcmDemParams
  - crypto::tink::CreateAes256SivDemParams
  - crypto::tink::CreateXChaCha20Poly1305DemParams
  - crypto::tink::CreateAesCtrHmacDemParams
  - crypto::tink::CreateAesCtrHmacDemParams
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::GenerateKeyPair
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/ecies_proto_serialization_test.cc
- function_names:
  - '& HpkeParameters::Builder::SetKemId(KemId kem_id)'
  - '& HpkeParameters::Builder::SetKdfId(KdfId kdf_id)'
  - '& HpkeParameters::Builder::SetAeadId(AeadId aead_id)'
  - '& HpkeParameters::Builder::SetVariant(Variant variant)'
  - HpkeParameters::Builder::Build()
  - HpkeParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/hybrid/hpke_parameters.cc
- function_names:
  - crypto::tink::ValidatePublicKey
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::HpkePublicKey::Create
  - HpkePublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/hybrid/hpke_public_key.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/hpke_config.h
- function_names: []
  source_file: /src/tink/cc/hybrid/config_v0.h
- function_names:
  - crypto::tink::GetNewEciesPublicKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hybrid_encrypt_factory_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/ecies_private_key_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_private_key_manager_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/hpke_parameters_test.cc
- function_names:
  - crypto::tink::EciesAeadHkdfHybridEncrypt::EciesAeadHkdfHybridEncrypt
  source_file: /src/tink/cc/hybrid/ecies_aead_hkdf_hybrid_encrypt.h
- function_names:
  - crypto::tink::HpkeParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::HpkeParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::HpkeParameters::Builder::Builder
  - crypto::tink::HpkeParameters::HpkeParameters
  - '& operator=(const HpkeParameters& other)'
  - crypto::tink::HpkeParameters::HpkeParameters
  - '& operator=(HpkeParameters&& other)'
  - crypto::tink::HpkeParameters::GetKemId
  - crypto::tink::HpkeParameters::GetKdfId
  - crypto::tink::HpkeParameters::GetAeadId
  - crypto::tink::HpkeParameters::GetVariant
  - crypto::tink::HpkeParameters::HasIdRequirement
  - crypto::tink::HpkeParameters::HpkeParameters
  source_file: /src/tink/cc/hybrid/hpke_parameters.h
- function_names:
  - crypto::tink::HybridDecryptSetWrapperTest::SetUp
  - crypto::tink::HybridDecryptSetWrapperTest::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::HybridDecryptSetWrapperWithMonitoringTest::SetUp
  - ~HybridDecryptSetWrapperWithMonitoringTest() override
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hybrid_decrypt_wrapper_test.cc
- function_names:
  - crypto::tink::HybridKeyTemplatesTest::SetUpTestSuite
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hybrid_key_templates_test.cc
- function_names:
  - crypto::tink::HybridConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::CreateParams
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/hybrid/hybrid_config_test.cc
- function_names:
  - crypto::tink::RegisterHpke
  source_file: /src/tink/cc/hybrid/hpke_config.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/failing_hybrid.h
- function_names:
  - crypto::tink::EciesPublicKey::EciesPublicKey
  - '& operator=(const EciesPublicKey& other)'
  - crypto::tink::EciesPublicKey::EciesPublicKey
  - '& operator=(EciesPublicKey&& other)'
  - crypto::tink::EciesPublicKey::GetNistCurvePoint
  - crypto::tink::EciesPublicKey::GetX25519CurvePointBytes
  - crypto::tink::EciesPublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::EciesPublicKey::GetIdRequirement
  - crypto::tink::EciesPublicKey::EciesPublicKey
  - crypto::tink::EciesPublicKey::EciesPublicKey
  source_file: /src/tink/cc/hybrid/ecies_public_key.h
- function_names:
  - crypto::tink::HpkeEncrypt::New
  - crypto::tink::HpkeEncrypt::Encrypt
  source_file: /src/tink/cc/hybrid/internal/hpke_encrypt.cc
- function_names:
  - crypto::tink::HpkeDecrypt::HpkeDecrypt
  - '& operator=(const HpkeDecrypt& other)'
  - crypto::tink::HpkeDecrypt::HpkeDecrypt
  - '& operator=(HpkeDecrypt&& other)'
  - crypto::tink::HpkeDecrypt::HpkeDecrypt
  source_file: /src/tink/cc/hybrid/internal/hpke_decrypt.h
- function_names:
  - crypto::tink::internal::HpkeKemProtoToEnum
  - crypto::tink::internal::HpkeKdfProtoToEnum
  - crypto::tink::internal::HpkeAeadProtoToEnum
  - crypto::tink::internal::HpkeParamsProtoToStruct
  - crypto::tink::internal::HpkeEncapsulatedKeyLength
  source_file: /src/tink/cc/hybrid/internal/hpke_util.cc
- function_names:
  - crypto::tink::internal::HpkePrivateKeyManager::HybridDecryptFactory::Create
  - crypto::tink::internal::HpkePrivateKeyManager::HpkePrivateKeyManager
  - crypto::tink::internal::HpkePrivateKeyManager::get_version
  - crypto::tink::internal::HpkePrivateKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/hybrid/internal/hpke_private_key_manager.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_util_boringssl_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_public_key_manager_test.cc
- function_names:
  - crypto::tink::internal::GenerateX25519Key
  - crypto::tink::internal::GenerateEcKey
  - crypto::tink::internal::HpkePrivateKeyManager::ValidateKeyFormat
  - crypto::tink::internal::HpkePrivateKeyManager::CreateKey
  - crypto::tink::internal::HpkePrivateKeyManager::GetPublicKey
  - crypto::tink::internal::HpkePrivateKeyManager::ValidateKey
  source_file: /src/tink/cc/hybrid/internal/hpke_private_key_manager.cc
- function_names:
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_key_manager_util_test.cc
- function_names:
  - crypto::tink::internal::HpkeContextBoringSsl::SetupSender
  - crypto::tink::internal::HpkeContextBoringSsl::SetupRecipient
  - crypto::tink::internal::HpkeContextBoringSsl::Seal
  - crypto::tink::internal::HpkeContextBoringSsl::Open
  - crypto::tink::internal::HpkeContextBoringSsl::Export
  source_file: /src/tink/cc/hybrid/internal/hpke_context_boringssl.cc
- function_names:
  - crypto::tink::internal::encapsulated_key
  source_file: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.h
- function_names:
  - crypto::tink::internal::ValidateParams
  - crypto::tink::internal::ValidateKeyAndVersion
  source_file: /src/tink/cc/hybrid/internal/hpke_key_manager_util.cc
- function_names:
  - crypto::tink::internal::HpkeTestParams
  source_file: /src/tink/cc/hybrid/internal/hpke_test_util.h
- function_names:
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_context_boringssl_test.cc
- function_names:
  - crypto::tink::internal::AddHybridKeyGenV0
  source_file: /src/tink/cc/hybrid/internal/key_gen_config_v0.cc
- function_names:
  - crypto::tink::internal::HpkePayloadView
  - crypto::tink::internal::HpkeContext::EncapsulatedKey
  - crypto::tink::internal::HpkeContext::Seal
  - crypto::tink::internal::HpkeContext::Open
  - crypto::tink::internal::HpkeContext::Export
  - crypto::tink::internal::HpkeContext::HpkeContext
  source_file: /src/tink/cc/hybrid/internal/hpke_context.h
- function_names:
  - crypto::tink::HpkeEncrypt::HpkeEncrypt
  - '& operator=(const HpkeEncrypt& other)'
  - crypto::tink::HpkeEncrypt::HpkeEncrypt
  - '& operator=(HpkeEncrypt&& other)'
  - crypto::tink::HpkeEncrypt::HpkeEncrypt
  source_file: /src/tink/cc/hybrid/internal/hpke_encrypt.h
- function_names: []
  source_file: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.h
- function_names: []
  source_file: /src/tink/cc/hybrid/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::HpkePublicKeyManager::ValidateKey
  source_file: /src/tink/cc/hybrid/internal/hpke_public_key_manager.cc
- function_names:
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_context_test.cc
- function_names:
  - crypto::tink::internal::TestHpkeContextBoringSsl::TestHpkeContextBoringSsl
  source_file: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.h
- function_names: []
  source_file: /src/tink/cc/hybrid/internal/hpke_util_boringssl.h
- function_names:
  - crypto::tink::internal::HpkeKeyBoringSsl::New
  - crypto::tink::internal::HpkeKeyBoringSsl::Init
  source_file: /src/tink/cc/hybrid/internal/hpke_key_boringssl.cc
- function_names:
  - crypto::tink::internal::HpkePublicKeyManager::HybridEncryptFactory::Create
  - crypto::tink::internal::HpkePublicKeyManager::HpkePublicKeyManager
  - crypto::tink::internal::HpkePublicKeyManager::get_version
  - crypto::tink::internal::HpkePublicKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/hybrid/internal/hpke_public_key_manager.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_key_boringssl_test.cc
- function_names:
  - crypto::tink::HpkeDecrypt::New
  - crypto::tink::HpkeDecrypt::Decrypt
  source_file: /src/tink/cc/hybrid/internal/hpke_decrypt.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/hybrid/internal/config_v0_test.cc
- function_names:
  - crypto::tink::internal::HpkeKeyBoringSsl
  - crypto::tink::internal::HpkeKeyBoringSsl
  - crypto::tink::internal::kem
  - crypto::tink::internal::recipient_private_key
  source_file: /src/tink/cc/hybrid/internal/hpke_key_boringssl.h
- function_names:
  - crypto::tink::internal::TestHpkeContextBoringSsl::SetupSender
  source_file: /src/tink/cc/hybrid/internal/test_hpke_context_boringssl.cc
- function_names:
  - crypto::tink::internal::DefaultHpkeTestParams
  - crypto::tink::internal::CreateHpkeTestParams
  - crypto::tink::internal::CreateHpkeTestParams
  - crypto::tink::internal::CreateHpkeParams
  - crypto::tink::internal::CreateHpkePublicKey
  - crypto::tink::internal::CreateHpkePrivateKey
  source_file: /src/tink/cc/hybrid/internal/hpke_test_util.cc
- function_names:
  - crypto::tink::internal::HpkeDecryptBoringSsl::New
  - crypto::tink::internal::HpkeDecryptBoringSsl::Init
  - crypto::tink::internal::HpkeDecryptBoringSsl::Decrypt
  source_file: /src/tink/cc/hybrid/internal/hpke_decrypt_boringssl.cc
- function_names:
  - crypto::tink::internal::KemParam
  - crypto::tink::internal::KemParam
  - crypto::tink::internal::KemParam
  - crypto::tink::internal::KdfParam
  - crypto::tink::internal::KdfParam
  - crypto::tink::internal::AeadParam
  - crypto::tink::internal::AeadParam
  source_file: /src/tink/cc/hybrid/internal/hpke_util_boringssl.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_encrypt_test.cc
- function_names:
  - crypto::tink::internal::AddHybridV0
  source_file: /src/tink/cc/hybrid/internal/config_v0.cc
- function_names:
  - crypto::tink::internal::HpkeEncryptBoringSsl::New
  - crypto::tink::internal::HpkeEncryptBoringSsl::NewForTesting
  - crypto::tink::internal::HpkeEncryptBoringSsl::Init
  - crypto::tink::internal::HpkeEncryptBoringSsl::InitForTesting
  - crypto::tink::internal::HpkeEncryptBoringSsl::EncapsulateKeyThenEncrypt
  source_file: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl.cc
- function_names: []
  source_file: /src/tink/cc/hybrid/internal/config_v0.h
- function_names: []
  source_file: /src/tink/cc/hybrid/internal/hpke_util.h
- function_names: []
  source_file: /src/tink/cc/hybrid/internal/hpke_key_manager_util.h
- function_names:
  - crypto::tink::internal::ConcatenatePayload
  - crypto::tink::internal::SplitPayload
  - crypto::tink::internal::HpkeContext::SetupSender
  - crypto::tink::internal::HpkeContext::SetupRecipient
  source_file: /src/tink/cc/hybrid/internal/hpke_context.cc
- function_names:
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_util_test.cc
- function_names:
  - crypto::tink::internal::CreateKeyFormat
  - crypto::tink::internal::CreateKey
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_private_key_manager_test.cc
- function_names:
  - crypto::tink::Encrypt
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_decrypt_test.cc
- function_names:
  - crypto::tink::internal::HpkeContextBoringSsl::HpkeContextBoringSsl
  source_file: /src/tink/cc/hybrid/internal/hpke_context_boringssl.h
- function_names:
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/hybrid/internal/hpke_encrypt_boringssl_test.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::AeadSetWrapper::AeadSetWrapper
  - crypto::tink::AeadSetWrapper::Encrypt
  - crypto::tink::AeadSetWrapper::Decrypt
  - crypto::tink::AeadWrapper::Wrap
  source_file: /src/tink/cc/aead/aead_wrapper.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::AesGcmSivProtoParametersParser
  - crypto::tink::AesGcmSivProtoParametersSerializer
  - crypto::tink::AesGcmSivProtoKeyParser
  - crypto::tink::AesGcmSivProtoKeySerializer
  - crypto::tink::RegisterAesGcmSivProtoSerialization
  source_file: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.cc
- function_names:
  - crypto::tink::AesGcmSivKey::AesGcmSivKey
  - '& operator=(const AesGcmSivKey& other)'
  - crypto::tink::AesGcmSivKey::AesGcmSivKey
  - '& operator=(AesGcmSivKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::AesGcmSivKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::AesGcmSivKey::GetIdRequirement
  - crypto::tink::AesGcmSivKey::AesGcmSivKey
  source_file: /src/tink/cc/aead/aes_gcm_siv_key.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/failing_aead_test.cc
- function_names:
  - crypto::tink::AesCtrHmacAeadKeyManager::CreateKey
  - "AesCtrHmacAeadKeyManager::AeadFactory::Create(\n    const AesCtrHmacAeadKey&
    key) const"
  - crypto::tink::AesCtrHmacAeadKeyManager::ValidateKey
  - crypto::tink::AesCtrHmacAeadKeyManager::ValidateKeyFormat
  - crypto::tink::AesCtrHmacAeadKeyManager::DeriveKey
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.cc
- function_names:
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aead_factory_test.cc
- function_names: []
  source_file: /src/tink/cc/aead/aes_eax_proto_serialization.h
- function_names:
  - crypto::tink::AesCtrHmacAeadKey::AesCtrHmacAeadKey
  - '& operator=(const AesCtrHmacAeadKey& other)'
  - crypto::tink::AesCtrHmacAeadKey::AesCtrHmacAeadKey
  - '& operator=(AesCtrHmacAeadKey&& other)'
  - crypto::tink::AesCtrHmacAeadKey::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::AesCtrHmacAeadKey::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::AesCtrHmacAeadKey::Builder::Builder
  - '& GetAesKeyBytes(PartialKeyAccessToken token) const'
  - '& GetHmacKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::AesCtrHmacAeadKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::AesCtrHmacAeadKey::GetIdRequirement
  - crypto::tink::AesCtrHmacAeadKey::AesCtrHmacAeadKey
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_key.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::KmsEnvelopeAeadKeyManagerCreateTest::SetUpTestSuite
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::KmsEnvelopeAeadKeyManagerDekTemplatesTest::SetUp
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/aead/kms_envelope_aead_key_manager_test.cc
- function_names:
  - crypto::tink::AesEaxProtoSerializationTest::AesEaxProtoSerializationTest
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aes_eax_proto_serialization_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_gcm_siv_key_manager_test.cc
- function_names:
  - crypto::tink::XChaCha20Poly1305KeyManager::AeadFactory::Create
  - crypto::tink::XChaCha20Poly1305KeyManager::XChaCha20Poly1305KeyManager
  - crypto::tink::XChaCha20Poly1305KeyManager::get_version
  - crypto::tink::XChaCha20Poly1305KeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::XChaCha20Poly1305KeyManager::ValidateKey
  - crypto::tink::XChaCha20Poly1305KeyManager::ValidateKeyFormat
  - crypto::tink::XChaCha20Poly1305KeyManager::CreateKey
  - crypto::tink::XChaCha20Poly1305KeyManager::DeriveKey
  source_file: /src/tink/cc/aead/xchacha20_poly1305_key_manager.h
- function_names:
  - ~KmsEnvelopeAead() override
  - crypto::tink::KmsEnvelopeAead::KmsEnvelopeAead
  source_file: /src/tink/cc/aead/kms_envelope_aead.h
- function_names:
  - crypto::tink::KeyGenConfigAeadV0
  source_file: /src/tink/cc/aead/key_gen_config_v0.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::XChaCha20Poly1305ProtoParametersParser
  - crypto::tink::XChaCha20Poly1305ProtoParametersSerializer
  - crypto::tink::XChaCha20Poly1305ProtoKeyParser
  - crypto::tink::XChaCha20Poly1305ProtoKeySerializer
  - crypto::tink::RegisterXChaCha20Poly1305ProtoSerialization
  source_file: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.cc
- function_names:
  - ~CordAead()
  source_file: /src/tink/cc/aead/cord_aead.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/xchacha20_poly1305_key_manager_test.cc
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::AesGcmSivKey::Create
  - AesGcmSivKey::operator==(const Key& other) const
  source_file: /src/tink/cc/aead/aes_gcm_siv_key.cc
- function_names:
  - crypto::tink::AeadConfig::AeadConfig
  source_file: /src/tink/cc/aead/aead_config.h
- function_names: []
  source_file: /src/tink/cc/aead/mock_aead.h
- function_names:
  - crypto::tink::AesGcmKeyManager::AeadFactory::Create
  - crypto::tink::AesGcmKeyManager::CordAeadFactory::Create
  - crypto::tink::AesGcmKeyManager::AesGcmKeyManager
  - crypto::tink::AesGcmKeyManager::get_version
  - crypto::tink::AesGcmKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::AesGcmKeyManager::ValidateKey
  - crypto::tink::AesGcmKeyManager::ValidateKeyFormat
  - crypto::tink::AesGcmKeyManager::CreateKey
  - crypto::tink::AesGcmKeyManager::DeriveKey
  - crypto::tink::AesGcmKeyManager::FipsStatus
  source_file: /src/tink/cc/aead/aes_gcm_key_manager.h
- function_names:
  - crypto::tink::XChaCha20Poly1305Parameters::Create
  - XChaCha20Poly1305Parameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/aead/xchacha20_poly1305_parameters.cc
- function_names: []
  source_file: /src/tink/cc/aead/cord_aead_wrapper.h
- function_names: []
  source_file: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.h
- function_names: []
  source_file: /src/tink/cc/aead/key_gen_config_v0.h
- function_names: []
  source_file: /src/tink/cc/aead/aead_factory.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_key_test.cc
- function_names:
  - crypto::tink::AlwaysFailAead::AlwaysFailAead
  - crypto::tink::AlwaysFailAead::Encrypt
  - crypto::tink::AlwaysFailAead::Decrypt
  - crypto::tink::CreateAlwaysFailingAead
  source_file: /src/tink/cc/aead/failing_aead.cc
- function_names:
  - crypto::tink::AeadConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aead_config_test.cc
- function_names:
  - crypto::tink::KmsAeadKeyManager::AeadFactory::Create
  - crypto::tink::KmsAeadKeyManager::KmsAeadKeyManager
  - crypto::tink::KmsAeadKeyManager::get_version
  - crypto::tink::KmsAeadKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::KmsAeadKeyManager::ValidateKey
  - crypto::tink::KmsAeadKeyManager::ValidateKeyFormat
  - crypto::tink::KmsAeadKeyManager::CreateKey
  source_file: /src/tink/cc/aead/kms_aead_key_manager.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::setup_keyset
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/cord_aead_wrapper_test.cc
- function_names: []
  source_file: /src/tink/cc/aead/aes_gcm_proto_serialization.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_gcm_parameters_test.cc
- function_names:
  - crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
  - '& operator=(const ChaCha20Poly1305Key& other)'
  - crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
  - '& operator=(ChaCha20Poly1305Key&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::ChaCha20Poly1305Key::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::ChaCha20Poly1305Key::GetIdRequirement
  - crypto::tink::ChaCha20Poly1305Key::ChaCha20Poly1305Key
  source_file: /src/tink/cc/aead/chacha20_poly1305_key.h
- function_names:
  - crypto::tink::ChaCha20Poly1305Parameters::Create
  - ChaCha20Poly1305Parameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/aead/chacha20_poly1305_parameters.cc
- function_names:
  - crypto::tink::GetEnvelopeCiphertext
  - crypto::tink::KmsEnvelopeAead::New
  - crypto::tink::KmsEnvelopeAead::Encrypt
  - crypto::tink::KmsEnvelopeAead::Decrypt
  source_file: /src/tink/cc/aead/kms_envelope_aead.cc
- function_names:
  - crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
  - '& operator=(const XChaCha20Poly1305Key& other)'
  - crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
  - '& operator=(XChaCha20Poly1305Key&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::XChaCha20Poly1305Key::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::XChaCha20Poly1305Key::GetIdRequirement
  - crypto::tink::XChaCha20Poly1305Key::XChaCha20Poly1305Key
  source_file: /src/tink/cc/aead/xchacha20_poly1305_key.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_eax_key_manager_test.cc
- function_names:
  - "& AesEaxParameters::Builder::SetKeySizeInBytes(\n    int key_size)"
  - "& AesEaxParameters::Builder::SetIvSizeInBytes(\n    int iv_size)"
  - "& AesEaxParameters::Builder::SetTagSizeInBytes(\n    int tag_size)"
  - "& AesEaxParameters::Builder::SetVariant(\n    Variant variant)"
  - AesEaxParameters::Builder::Build()
  - AesEaxParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/aead/aes_eax_parameters.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/chacha20_poly1305_parameters_test.cc
- function_names:
  - crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
  - "& operator=(\n      const ChaCha20Poly1305Parameters& other)"
  - crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
  - '& operator=(ChaCha20Poly1305Parameters&& other)'
  - crypto::tink::ChaCha20Poly1305Parameters::GetVariant
  - crypto::tink::ChaCha20Poly1305Parameters::HasIdRequirement
  - crypto::tink::ChaCha20Poly1305Parameters::ChaCha20Poly1305Parameters
  source_file: /src/tink/cc/aead/chacha20_poly1305_parameters.h
- function_names:
  - crypto::tink::AesGcmSivParameters::Create
  - AesGcmSivParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/aead/aes_gcm_siv_parameters.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/aead/config_v0_test.cc
- function_names:
  - crypto::tink::AesEaxKeyManager::AeadFactory::Create
  - crypto::tink::AesEaxKeyManager::AesEaxKeyManager
  - crypto::tink::AesEaxKeyManager::get_version
  - crypto::tink::AesEaxKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::AesEaxKeyManager::ValidateKey
  - crypto::tink::AesEaxKeyManager::ValidateKeyFormat
  - crypto::tink::AesEaxKeyManager::CreateKey
  - crypto::tink::AesEaxKeyManager::ValidateKeySize
  - crypto::tink::AesEaxKeyManager::ValidateIvSize
  source_file: /src/tink/cc/aead/aes_eax_key_manager.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_gcm_siv_parameters_test.cc
- function_names:
  - crypto::tink::XChaCha20Poly1305ProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization_test.cc
- function_names:
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::AeadSetWrapperTestWithMonitoring::SetUp
  - crypto::tink::AeadSetWrapperTestWithMonitoring::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aead_wrapper_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/xchacha20_poly1305_key_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/xchacha20_poly1305_parameters_test.cc
- function_names:
  - "& AesGcmParameters::Builder::SetKeySizeInBytes(\n    int key_size)"
  - "& AesGcmParameters::Builder::SetIvSizeInBytes(\n    int iv_size)"
  - "& AesGcmParameters::Builder::SetTagSizeInBytes(\n    int tag_size)"
  - "& AesGcmParameters::Builder::SetVariant(\n    Variant variant)"
  - AesGcmParameters::Builder::Build()
  - AesGcmParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/aead/aes_gcm_parameters.cc
- function_names:
  - crypto::tink::AesCtrHmacAeadKeyManager::AesCtrHmacAeadKeyManager
  - crypto::tink::AesCtrHmacAeadKeyManager::get_version
  - crypto::tink::AesCtrHmacAeadKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::AesCtrHmacAeadKeyManager::FipsStatus
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager.h
- function_names: []
  source_file: /src/tink/cc/aead/aead_parameters.h
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::AesEaxKey::Create
  - AesEaxKey::operator==(const Key& other) const
  source_file: /src/tink/cc/aead/aes_eax_key.cc
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::AesGcmKey::Create
  - AesGcmKey::operator==(const Key& other) const
  source_file: /src/tink/cc/aead/aes_gcm_key.cc
- function_names:
  - crypto::tink::AesGcmKey::AesGcmKey
  - '& operator=(const AesGcmKey& other)'
  - crypto::tink::AesGcmKey::AesGcmKey
  - '& operator=(AesGcmKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::AesGcmKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::AesGcmKey::GetIdRequirement
  - crypto::tink::AesGcmKey::AesGcmKey
  source_file: /src/tink/cc/aead/aes_gcm_key.h
- function_names:
  - crypto::tink::AeadConfig::Register
  source_file: /src/tink/cc/aead/aead_config.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_gcm_siv_key_test.cc
- function_names:
  - crypto::tink::AesGcmSivParameters::AesGcmSivParameters
  - '& operator=(const AesGcmSivParameters& other)'
  - crypto::tink::AesGcmSivParameters::AesGcmSivParameters
  - '& operator=(AesGcmSivParameters&& other)'
  - crypto::tink::AesGcmSivParameters::KeySizeInBytes
  - crypto::tink::AesGcmSivParameters::GetVariant
  - crypto::tink::AesGcmSivParameters::HasIdRequirement
  - crypto::tink::AesGcmSivParameters::AesGcmSivParameters
  source_file: /src/tink/cc/aead/aes_gcm_siv_parameters.h
- function_names: []
  source_file: /src/tink/cc/aead/aead_wrapper.h
- function_names:
  - crypto::tink::AeadFactory::GetPrimitive
  - crypto::tink::AeadFactory::GetPrimitive
  source_file: /src/tink/cc/aead/aead_factory.cc
- function_names:
  - '&

    AesCtrHmacAeadParameters::Builder::SetAesKeySizeInBytes(int aes_key_size)'
  - '&

    AesCtrHmacAeadParameters::Builder::SetHmacKeySizeInBytes(int hmac_key_size)'
  - '&

    AesCtrHmacAeadParameters::Builder::SetIvSizeInBytes(int iv_size)'
  - '&

    AesCtrHmacAeadParameters::Builder::SetTagSizeInBytes(int tag_size)'
  - '&

    AesCtrHmacAeadParameters::Builder::SetHashType(HashType hash_type)'
  - '&

    AesCtrHmacAeadParameters::Builder::SetVariant(Variant variant)'
  - AesCtrHmacAeadParameters::Builder::Build()
  - AesCtrHmacAeadParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.cc
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::ChaCha20Poly1305Key::Create
  - ChaCha20Poly1305Key::operator==(const Key& other) const
  source_file: /src/tink/cc/aead/chacha20_poly1305_key.cc
- function_names: []
  source_file: /src/tink/cc/aead/xchacha20_poly1305_proto_serialization.h
- function_names:
  - crypto::tink::NewAesEaxKeyTemplate
  - crypto::tink::NewAesGcmKeyTemplate
  - crypto::tink::NewAesGcmSivKeyTemplate
  - crypto::tink::NewAesCtrHmacAeadKeyTemplate
  - crypto::tink::NewXChaCha20Poly1305KeyTemplate
  - '& AeadKeyTemplates::Aes128Eax()'
  - '& AeadKeyTemplates::Aes256Eax()'
  - '& AeadKeyTemplates::Aes128Gcm()'
  - '& AeadKeyTemplates::Aes128GcmNoPrefix()'
  - '& AeadKeyTemplates::Aes256Gcm()'
  - '& AeadKeyTemplates::Aes256GcmNoPrefix()'
  - '& AeadKeyTemplates::Aes128GcmSiv()'
  - '& AeadKeyTemplates::Aes256GcmSiv()'
  - '& AeadKeyTemplates::Aes128CtrHmacSha256()'
  - '& AeadKeyTemplates::Aes256CtrHmacSha256()'
  - '& AeadKeyTemplates::XChaCha20Poly1305()'
  - crypto::tink::AeadKeyTemplates::KmsEnvelopeAead
  source_file: /src/tink/cc/aead/aead_key_templates.cc
- function_names:
  - crypto::tink::AesEaxKey::AesEaxKey
  - '& operator=(const AesEaxKey& other)'
  - crypto::tink::AesEaxKey::AesEaxKey
  - '& operator=(AesEaxKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::AesEaxKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::AesEaxKey::GetIdRequirement
  - crypto::tink::AesEaxKey::AesEaxKey
  source_file: /src/tink/cc/aead/aes_eax_key.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::KmsAeadKeyManagerCreateTest::SetUpTestSuite
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/kms_aead_key_manager_test.cc
- function_names:
  - crypto::tink::AesCtrHmacAeadParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::AesCtrHmacAeadParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::AesCtrHmacAeadParameters::Builder::Builder
  - crypto::tink::AesCtrHmacAeadParameters::AesCtrHmacAeadParameters
  - '& operator=(const AesCtrHmacAeadParameters& other)'
  - crypto::tink::AesCtrHmacAeadParameters::AesCtrHmacAeadParameters
  - '& operator=(AesCtrHmacAeadParameters&& other)'
  - crypto::tink::AesCtrHmacAeadParameters::GetAesKeySizeInBytes
  - crypto::tink::AesCtrHmacAeadParameters::GetHmacKeySizeInBytes
  - crypto::tink::AesCtrHmacAeadParameters::GetIvSizeInBytes
  - crypto::tink::AesCtrHmacAeadParameters::GetTagSizeInBytes
  - crypto::tink::AesCtrHmacAeadParameters::GetHashType
  - crypto::tink::AesCtrHmacAeadParameters::GetVariant
  - crypto::tink::AesCtrHmacAeadParameters::HasIdRequirement
  - crypto::tink::AesCtrHmacAeadParameters::AesCtrHmacAeadParameters
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_parameters.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aead_key_templates_test.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::GetProtoParams
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::AesEaxProtoParametersParser
  - crypto::tink::AesEaxProtoParametersSerializer
  - crypto::tink::AesEaxProtoKeyParser
  - crypto::tink::AesEaxProtoKeySerializer
  - crypto::tink::RegisterAesEaxProtoSerialization
  source_file: /src/tink/cc/aead/aes_eax_proto_serialization.cc
- function_names:
  - crypto::tink::ConfigAeadV0
  source_file: /src/tink/cc/aead/config_v0.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_gcm_key_manager_test.cc
- function_names: []
  source_file: /src/tink/cc/aead/aead_key.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_gcm_key_test.cc
- function_names:
  - crypto::tink::ChaCha20Poly1305ProtoSerializationTest::ChaCha20Poly1305ProtoSerializationTest
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/chacha20_poly1305_proto_serialization_test.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::CordAeadSetWrapper::CordAeadSetWrapper
  - ~CordAeadSetWrapper() override
  - crypto::tink::CordAeadSetWrapper::Encrypt
  - crypto::tink::CordAeadSetWrapper::Decrypt
  - crypto::tink::CordAeadWrapper::Wrap
  source_file: /src/tink/cc/aead/cord_aead_wrapper.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::ChaCha20Poly1305ProtoParametersParser
  - crypto::tink::ChaCha20Poly1305ProtoParametersSerializer
  - crypto::tink::ChaCha20Poly1305ProtoKeyParser
  - crypto::tink::ChaCha20Poly1305ProtoKeySerializer
  - crypto::tink::RegisterChaCha20Poly1305ProtoSerialization
  source_file: /src/tink/cc/aead/chacha20_poly1305_proto_serialization.cc
- function_names: []
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.h
- function_names: []
  source_file: /src/tink/cc/aead/aead_key_templates.h
- function_names:
  - crypto::tink::AesGcmProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aes_gcm_proto_serialization_test.cc
- function_names:
  - crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
  - "& operator=(\n      const XChaCha20Poly1305Parameters& other)"
  - crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
  - '& operator=(XChaCha20Poly1305Parameters&& other)'
  - crypto::tink::XChaCha20Poly1305Parameters::GetVariant
  - crypto::tink::XChaCha20Poly1305Parameters::HasIdRequirement
  - crypto::tink::XChaCha20Poly1305Parameters::XChaCha20Poly1305Parameters
  source_file: /src/tink/cc/aead/xchacha20_poly1305_parameters.h
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::XChaCha20Poly1305Key::Create
  - XChaCha20Poly1305Key::operator==(const Key& other) const
  source_file: /src/tink/cc/aead/xchacha20_poly1305_key.cc
- function_names:
  - crypto::tink::AesEaxParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::AesEaxParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::AesEaxParameters::Builder::Builder
  - crypto::tink::AesEaxParameters::AesEaxParameters
  - '& operator=(const AesEaxParameters& other)'
  - crypto::tink::AesEaxParameters::AesEaxParameters
  - '& operator=(AesEaxParameters&& other)'
  - crypto::tink::AesEaxParameters::GetKeySizeInBytes
  - crypto::tink::AesEaxParameters::GetIvSizeInBytes
  - crypto::tink::AesEaxParameters::GetTagSizeInBytes
  - crypto::tink::AesEaxParameters::GetVariant
  - crypto::tink::AesEaxParameters::HasIdRequirement
  - crypto::tink::AesEaxParameters::AesEaxParameters
  source_file: /src/tink/cc/aead/aes_eax_parameters.h
- function_names:
  - crypto::tink::KmsEnvelopeAeadKeyManager::KmsEnvelopeAeadKeyManager
  - crypto::tink::KmsEnvelopeAeadKeyManager::get_version
  - crypto::tink::KmsEnvelopeAeadKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::KmsEnvelopeAeadKeyManager::ValidateKey
  - crypto::tink::KmsEnvelopeAeadKeyManager::ValidateKeyFormat
  - crypto::tink::KmsEnvelopeAeadKeyManager::CreateKey
  - crypto::tink::KmsEnvelopeAeadKeyManager::FipsStatus
  source_file: /src/tink/cc/aead/kms_envelope_aead_key_manager.h
- function_names: []
  source_file: /src/tink/cc/aead/config_v0.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_eax_key_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_key_manager_test.cc
- function_names:
  - crypto::tink::AesCtrHmacAeadProtoSerializationTest::AesCtrHmacAeadProtoSerializationTest
  - crypto::tink::BuildAesCtrHmacAeadKeyFormat
  - crypto::tink::BuildAesCtrHmacAeadKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization_test.cc
- function_names: []
  source_file: /src/tink/cc/aead/aes_gcm_siv_proto_serialization.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/chacha20_poly1305_key_test.cc
- function_names:
  - crypto::tink::AesGcmSivKeyManager::AeadFactory::Create
  - crypto::tink::AesGcmSivKeyManager::AesGcmSivKeyManager
  - crypto::tink::AesGcmSivKeyManager::get_version
  - crypto::tink::AesGcmSivKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::AesGcmSivKeyManager::ValidateKey
  - crypto::tink::AesGcmSivKeyManager::ValidateKeyFormat
  - crypto::tink::AesGcmSivKeyManager::CreateKey
  source_file: /src/tink/cc/aead/aes_gcm_siv_key_manager.h
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::GetHmacProtoParams
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::AesCtrHmacAeadProtoParametersParser
  - crypto::tink::AesCtrHmacAeadProtoParametersSerializer
  - crypto::tink::AesCtrHmacAeadProtoKeyParser
  - crypto::tink::AesCtrHmacAeadProtoKeySerializer
  - crypto::tink::RegisterAesCtrHmacAeadProtoSerialization
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_proto_serialization.cc
- function_names:
  - crypto::tink::AesGcmSivProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/aes_gcm_siv_proto_serialization_test.cc
- function_names: []
  source_file: /src/tink/cc/aead/failing_aead.h
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ValidateParamsForProto
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::AesGcmProtoParametersParser
  - crypto::tink::AesGcmProtoParametersSerializer
  - crypto::tink::AesGcmProtoKeyParser
  - crypto::tink::AesGcmProtoKeySerializer
  - crypto::tink::RegisterAesGcmProtoSerialization
  source_file: /src/tink/cc/aead/aes_gcm_proto_serialization.cc
- function_names:
  - "KmsEnvelopeAeadKeyManager::AeadFactory::Create(\n    const KmsEnvelopeAeadKey&
    key) const"
  source_file: /src/tink/cc/aead/kms_envelope_aead_key_manager.cc
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - "& AesCtrHmacAeadKey::Builder::SetParameters(\n    const AesCtrHmacAeadParameters&
    parameters)"
  - "& AesCtrHmacAeadKey::Builder::SetAesKeyBytes(\n    const RestrictedData& aes_key_bytes)"
  - "& AesCtrHmacAeadKey::Builder::SetHmacKeyBytes(\n    const RestrictedData& hmac_key_bytes)"
  - "& AesCtrHmacAeadKey::Builder::SetIdRequirement(\n    absl::optional<int> id_requirement)"
  - "AesCtrHmacAeadKey::Builder::Build(\n    PartialKeyAccessToken token)"
  - AesCtrHmacAeadKey::operator==(const Key& other) const
  source_file: /src/tink/cc/aead/aes_ctr_hmac_aead_key.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/aead/aes_eax_parameters_test.cc
- function_names:
  - crypto::tink::AesGcmParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::AesGcmParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::AesGcmParameters::Builder::Builder
  - crypto::tink::AesGcmParameters::AesGcmParameters
  - '& operator=(const AesGcmParameters& other)'
  - crypto::tink::AesGcmParameters::AesGcmParameters
  - '& operator=(AesGcmParameters&& other)'
  - crypto::tink::AesGcmParameters::KeySizeInBytes
  - crypto::tink::AesGcmParameters::IvSizeInBytes
  - crypto::tink::AesGcmParameters::TagSizeInBytes
  - crypto::tink::AesGcmParameters::GetVariant
  - crypto::tink::AesGcmParameters::HasIdRequirement
  - crypto::tink::AesGcmParameters::AesGcmParameters
  source_file: /src/tink/cc/aead/aes_gcm_parameters.h
- function_names:
  - crypto::tink::KmsEnvelopeAeadTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::KmsEnvelopeAeadDekTemplatesTest::SetUp
  - crypto::tink::TEST_P
  - crypto::tink::GetTestTemplates
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/aead/kms_envelope_aead_test.cc
- function_names:
  - crypto::tink::internal::ZeroCopyAesGcmBoringSslTest::SetUp
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::ZeroCopyAesGcmBoringSslWycheproofTest::SetUp
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl_test.cc
- function_names:
  - ~MockZeroCopyAead() override
  source_file: /src/tink/cc/aead/internal/mock_zero_copy_aead.h
- function_names:
  - crypto::tink::internal::IsSupportedKmsEnvelopeAeadDekKeyType
  - crypto::tink::internal::GetAesGcmCipherForKeySize
  - crypto::tink::internal::GetAesGcmAeadForKeySize
  - crypto::tink::internal::GetAesGcmSivAeadCipherForKeySize
  source_file: /src/tink/cc/aead/internal/aead_util.cc
- function_names:
  - crypto::tink::internal::AddAeadKeyGenV0
  source_file: /src/tink/cc/aead/internal/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.h
- function_names: []
  source_file: /src/tink/cc/aead/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::CordAesGcmBoringSslTest::SetUp
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::GetError
  - crypto::tink::internal::WycheproofTest
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl_test.cc
- function_names:
  - crypto::tink::internal::CipherFromName
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::DoTestEncrypt
  - crypto::tink::internal::DoTestDecrypt
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::ModifyString
  - crypto::tink::internal::DoTestEncryptDecryptWithModifiedCiphertext
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TestDecryptWithEmptyAssociatedData
  - crypto::tink::internal::DoTestWithEmptyAssociatedData
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::DoTestEmptyMessageEncryptDecrypt
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::GetSslOneShotAeadTestParams
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::SslOneShotAeadWycheproofTest::SetUp
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::GetWycheproofTestParams
  source_file: /src/tink/cc/aead/internal/ssl_aead_test.cc
- function_names:
  - crypto::tink::internal::CordAesGcmBoringSsl::CordAesGcmBoringSsl
  source_file: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.h
- function_names:
  - crypto::tink::internal::AeadFromZeroCopy::Encrypt
  - crypto::tink::internal::AeadFromZeroCopy::Decrypt
  source_file: /src/tink/cc/aead/internal/aead_from_zero_copy.cc
- function_names:
  - crypto::tink::internal::Validate
  - crypto::tink::internal::ZeroCopyAeadSetWrapper::ZeroCopyAeadSetWrapper
  - ~ZeroCopyAeadSetWrapper() override
  - crypto::tink::internal::ZeroCopyAeadSetWrapper::Encrypt
  - crypto::tink::internal::ZeroCopyAeadSetWrapper::Decrypt
  - crypto::tink::internal::ZeroCopyAeadWrapper::Wrap
  source_file: /src/tink/cc/aead/internal/zero_copy_aead_wrapper.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/aead/internal/aead_from_zero_copy_test.cc
- function_names: []
  source_file: /src/tink/cc/aead/internal/aead_util.h
- function_names: []
  source_file: /src/tink/cc/aead/internal/wycheproof_aead.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::ZeroCopyAeadWrapperTest::SetUp
  - crypto::tink::internal::ZeroCopyAeadWrapperTest::SetUpMockZeroCopyAead
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/aead/internal/zero_copy_aead_wrapper_test.cc
- function_names:
  - ~SslOneShotAead()
  source_file: /src/tink/cc/aead/internal/ssl_aead.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/aead/internal/config_v0_test.cc
- function_names:
  - crypto::tink::internal::UpdateCipher
  - crypto::tink::internal::OpenSslOneShotAeadImpl::OpenSslOneShotAeadImpl
  - crypto::tink::internal::OpenSslOneShotAeadImpl::Encrypt
  - crypto::tink::internal::OpenSslOneShotAeadImpl::Decrypt
  - crypto::tink::internal::OpenSslOneShotAeadImpl::CiphertextSize
  - crypto::tink::internal::OpenSslOneShotAeadImpl::PlaintextSize
  - crypto::tink::internal::OpenSslOneShotAeadImpl::EncryptSensitive
  - crypto::tink::internal::OpenSslOneShotAeadImpl::DecryptSensitive
  - crypto::tink::internal::OpenSslOneShotAeadImpl::GetContext
  - crypto::tink::internal::BoringSslOneShotAeadImpl::BoringSslOneShotAeadImpl
  - crypto::tink::internal::BoringSslOneShotAeadImpl::Encrypt
  - crypto::tink::internal::BoringSslOneShotAeadImpl::EncryptSensitive
  - crypto::tink::internal::BoringSslOneShotAeadImpl::Decrypt
  - crypto::tink::internal::BoringSslOneShotAeadImpl::DecryptSensitive
  - crypto::tink::internal::BoringSslOneShotAeadImpl::CiphertextSize
  - crypto::tink::internal::BoringSslOneShotAeadImpl::PlaintextSize
  - crypto::tink::internal::CreateAesGcmOneShotCrypter
  - crypto::tink::internal::CreateAesGcmSivOneShotCrypter
  - crypto::tink::internal::CreateXchacha20Poly1305OneShotCrypter
  source_file: /src/tink/cc/aead/internal/ssl_aead.cc
- function_names:
  - ~ZeroCopyAead()
  source_file: /src/tink/cc/aead/internal/zero_copy_aead.h
- function_names:
  - crypto::tink::internal::SetIvAndDirection
  - crypto::tink::internal::NewContextFromPartial
  - crypto::tink::internal::NewContext
  - crypto::tink::internal::CordAesGcmBoringSsl::New
  - crypto::tink::internal::CordAesGcmBoringSsl::Encrypt
  - crypto::tink::internal::CordAesGcmBoringSsl::Decrypt
  source_file: /src/tink/cc/aead/internal/cord_aes_gcm_boringssl.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/aead/internal/aead_util_test.cc
- function_names:
  - crypto::tink::internal::AddAeadV0
  source_file: /src/tink/cc/aead/internal/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/aead/internal/config_v0.h
- function_names:
  - crypto::tink::internal::CipherFromName
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::GetTestParams
  source_file: /src/tink/cc/aead/internal/ssl_aead_large_inputs_test.cc
- function_names:
  - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::New
  - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::MaxEncryptionSize
  - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Encrypt
  - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::MaxDecryptionSize
  - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::Decrypt
  source_file: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.cc
- function_names:
  - crypto::tink::internal::ReadWycheproofTestVectors
  source_file: /src/tink/cc/aead/internal/wycheproof_aead.cc
- function_names:
  - crypto::tink::internal::ZeroCopyAesGcmBoringSsl::ZeroCopyAesGcmBoringSsl
  source_file: /src/tink/cc/aead/internal/zero_copy_aes_gcm_boringssl.h
- function_names:
  - crypto::tink::internal::AeadFromZeroCopy::AeadFromZeroCopy
  source_file: /src/tink/cc/aead/internal/aead_from_zero_copy.h
- function_names:
  - crypto::tink::Ed25519Parameters::Create
  - Ed25519Parameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/signature/ed25519_parameters.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ed25519_sign_key_manager_test.cc
- function_names:
  - crypto::tink::RsaSsaPssSignKeyManager::RsaSsaPssSignKeyManager
  - crypto::tink::RsaSsaPssSignKeyManager::get_version
  - crypto::tink::RsaSsaPssSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RsaSsaPssSignKeyManager::GetPublicKey
  - crypto::tink::RsaSsaPssSignKeyManager::FipsStatus
  source_file: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ecdsa_private_key_test.cc
- function_names:
  - crypto::tink::SignaturePrivateKey::GetOutputPrefix
  - crypto::tink::SignaturePrivateKey::GetIdRequirement
  - '& GetParameters() const override'
  source_file: /src/tink/cc/signature/signature_private_key.h
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::RsaSsaPkcs1PublicKey::Create
  - RsaSsaPkcs1PublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.cc
- function_names:
  - "EcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const EcdsaPublicKey&
    ecdsa_public_key) const"
  - crypto::tink::EcdsaVerifyKeyManager::ValidateParams
  - crypto::tink::EcdsaVerifyKeyManager::ValidateKey
  source_file: /src/tink/cc/signature/ecdsa_verify_key_manager.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::PublicKeySignSetWrapper::PublicKeySignSetWrapper
  - ~PublicKeySignSetWrapper() override
  - crypto::tink::PublicKeySignSetWrapper::Sign
  - crypto::tink::PublicKeySignWrapper::Wrap
  source_file: /src/tink/cc/signature/public_key_sign_wrapper.cc
- function_names:
  - crypto::tink::Base64WebSafeDecode
  - crypto::tink::GetValidPrivateValues
  - crypto::tink::GetValidPublicKey
  - crypto::tink::FlipFirstByte
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key_test.cc
- function_names:
  - crypto::tink::RsaSsaPkcs1SignKeyManager::RsaSsaPkcs1SignKeyManager
  - crypto::tink::RsaSsaPkcs1SignKeyManager::get_version
  - crypto::tink::RsaSsaPkcs1SignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RsaSsaPkcs1SignKeyManager::GetPublicKey
  - crypto::tink::RsaSsaPkcs1SignKeyManager::FipsStatus
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.h
- function_names:
  - '&

    RsaSsaPkcs1Parameters::Builder::SetModulusSizeInBits(int modulus_size_in_bits)'
  - "&\nRsaSsaPkcs1Parameters::Builder::SetPublicExponent(\n    const BigInteger&
    public_exponent)"
  - "& RsaSsaPkcs1Parameters::Builder::SetHashType(\n    HashType hash_type)"
  - "& RsaSsaPkcs1Parameters::Builder::SetVariant(\n    Variant variant)"
  - RsaSsaPkcs1Parameters::Builder::Build()
  - RsaSsaPkcs1Parameters::operator==(const Parameters& other) const
  - RsaSsaPkcs1Parameters::Builder::CreateDefaultPublicExponent()
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ed25519_public_key_test.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToEnumHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::ToParameters
  - crypto::tink::FromParameters
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::RsaSsaPssProtoParametersParser
  - crypto::tink::RsaSsaPssProtoParametersSerializer
  - crypto::tink::RsaSsaPssProtoPublicKeyParser
  - crypto::tink::RsaSsaPssProtoPublicKeySerializer
  - crypto::tink::RsaSsaPssProtoPrivateKeyParser
  - crypto::tink::RsaSsaPssProtoPrivateKeySerializer
  - crypto::tink::RegisterRsaSsaPssProtoSerialization
  source_file: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::ToCurveType
  - crypto::tink::ToProtoCurveType
  - crypto::tink::ToSignatureEncoding
  - crypto::tink::ToProtoSignatureEncoding
  - crypto::tink::getEncodingLength
  - crypto::tink::ToParameters
  - crypto::tink::FromParameters
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::EcdsaProtoParametersParser
  - crypto::tink::EcdsaProtoParametersSerializer
  - crypto::tink::EcdsaProtoPublicKeyParser
  - crypto::tink::EcdsaProtoPublicKeySerializer
  - crypto::tink::EcdsaProtoPrivateKeyParser
  - crypto::tink::EcdsaProtoPrivateKeySerializer
  - crypto::tink::RegisterEcdsaProtoSerialization
  source_file: /src/tink/cc/signature/ecdsa_proto_serialization.cc
- function_names:
  - crypto::tink::RsaSsaPssPrivateKey::RsaSsaPssPrivateKey
  - '& operator=(const RsaSsaPssPrivateKey& other)'
  - crypto::tink::RsaSsaPssPrivateKey::RsaSsaPssPrivateKey
  - '& operator=(RsaSsaPssPrivateKey&& other)'
  - crypto::tink::RsaSsaPssPrivateKey::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::RsaSsaPssPrivateKey::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::RsaSsaPssPrivateKey::Builder::Builder
  - '& GetPrimeP(PartialKeyAccessToken token) const'
  - '& GetPrimeQ(PartialKeyAccessToken token) const'
  - '& GetPrivateExponent() const'
  - '& GetPrimeExponentP() const'
  - '& GetPrimeExponentQ() const'
  - '& GetCrtCoefficient() const'
  - '& GetPublicKey() const override'
  - crypto::tink::RsaSsaPssPrivateKey::RsaSsaPssPrivateKey
  source_file: /src/tink/cc/signature/rsa_ssa_pss_private_key.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ecdsa_verify_key_manager_test.cc
- function_names:
  - crypto::tink::RsaSsaPssVerifyKeyManager::RsaSsaPssVerifyKeyManager
  - crypto::tink::RsaSsaPssVerifyKeyManager::get_version
  - crypto::tink::RsaSsaPssVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RsaSsaPssVerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.h
- function_names:
  - crypto::tink::PublicKeyVerifyFactory::GetPrimitive
  - crypto::tink::PublicKeyVerifyFactory::GetPrimitive
  source_file: /src/tink/cc/signature/public_key_verify_factory.cc
- function_names:
  - crypto::tink::EcdsaSignKeyManager::EcdsaSignKeyManager
  - crypto::tink::EcdsaSignKeyManager::get_version
  - crypto::tink::EcdsaSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::EcdsaSignKeyManager::GetPublicKey
  - crypto::tink::EcdsaSignKeyManager::FipsStatus
  source_file: /src/tink/cc/signature/ecdsa_sign_key_manager.h
- function_names:
  - crypto::tink::RsaSsaPssProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::GenerateKeyValues
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization_test.cc
- function_names:
  - crypto::tink::SignatureConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::GenerateRsaKeyValues
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/signature_config_test.cc
- function_names:
  - crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
  - '& operator=(const RsaSsaPkcs1PublicKey& other)'
  - crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
  - '& operator=(RsaSsaPkcs1PublicKey&& other)'
  - '& GetModulus(PartialKeyAccessToken token) const'
  - crypto::tink::RsaSsaPkcs1PublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::RsaSsaPkcs1PublicKey::GetIdRequirement
  - crypto::tink::RsaSsaPkcs1PublicKey::RsaSsaPkcs1PublicKey
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key.h
- function_names: []
  source_file: /src/tink/cc/signature/signature_public_key.h
- function_names:
  - crypto::tink::SignAndVerify
  source_file: /src/tink/cc/signature/sig_util.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::ValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CheckNewKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager_test.cc
- function_names: []
  source_file: /src/tink/cc/signature/ed25519_proto_serialization.h
- function_names:
  - crypto::tink::SignaturePemKeysetReader::SignaturePemKeysetReader
  - crypto::tink::SignaturePemKeysetReaderBuilder::SignaturePemKeysetReaderBuilder
  - crypto::tink::PublicKeySignPemKeysetReader::PublicKeySignPemKeysetReader
  - crypto::tink::PublicKeyVerifyPemKeysetReader::PublicKeyVerifyPemKeysetReader
  source_file: /src/tink/cc/signature/signature_pem_keyset_reader.h
- function_names:
  - crypto::tink::KeyGenConfigSignatureV0
  source_file: /src/tink/cc/signature/key_gen_config_v0.cc
- function_names:
  - crypto::tink::SignatureConfig::SignatureConfig
  source_file: /src/tink/cc/signature/signature_config.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ed25519_private_key_test.cc
- function_names:
  - "RsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const RsaSsaPkcs1PublicKey&
    rsa_ssa_pkcs1_public_key) const"
  - crypto::tink::RsaSsaPkcs1VerifyKeyManager::ValidateParams
  - crypto::tink::RsaSsaPkcs1VerifyKeyManager::ValidateKey
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.cc
- function_names: []
  source_file: /src/tink/cc/signature/public_key_verify_factory.h
- function_names: []
  source_file: /src/tink/cc/signature/key_gen_config_v0.h
- function_names:
  - crypto::tink::ValidateKeyPair
  - "& RsaSsaPkcs1PrivateKey::Builder::SetPublicKey(\n    const RsaSsaPkcs1PublicKey&
    public_key)"
  - "& RsaSsaPkcs1PrivateKey::Builder::SetPrimeP(\n    const RestrictedBigInteger&
    p)"
  - "& RsaSsaPkcs1PrivateKey::Builder::SetPrimeQ(\n    const RestrictedBigInteger&
    q)"
  - "&\nRsaSsaPkcs1PrivateKey::Builder::SetPrimeExponentP(\n    const RestrictedBigInteger&
    dp)"
  - "&\nRsaSsaPkcs1PrivateKey::Builder::SetPrimeExponentQ(\n    const RestrictedBigInteger&
    dq)"
  - "&\nRsaSsaPkcs1PrivateKey::Builder::SetPrivateExponent(\n    const RestrictedBigInteger&
    d)"
  - "&\nRsaSsaPkcs1PrivateKey::Builder::SetCrtCoefficient(\n    const RestrictedBigInteger&
    q_inv)"
  - "RsaSsaPkcs1PrivateKey::Builder::Build(\n    PartialKeyAccessToken token)"
  - RsaSsaPkcs1PrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.cc
- function_names:
  - crypto::tink::PublicKeyVerifyFactoryTest::SetUp
  - crypto::tink::GetNewEcdsaPublicKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/public_key_verify_factory_test.cc
- function_names:
  - crypto::tink::AlwaysFailPublicKeySign::AlwaysFailPublicKeySign
  - crypto::tink::AlwaysFailPublicKeySign::Sign
  - crypto::tink::AlwaysFailPublicKeyVerify::AlwaysFailPublicKeyVerify
  - crypto::tink::AlwaysFailPublicKeyVerify::Verify
  - crypto::tink::CreateAlwaysFailingPublicKeySign
  - crypto::tink::CreateAlwaysFailingPublicKeyVerify
  source_file: /src/tink/cc/signature/failing_signature.cc
- function_names: []
  source_file: /src/tink/cc/signature/signature_parameters.h
- function_names:
  - crypto::tink::SignatureConfig::Register
  source_file: /src/tink/cc/signature/signature_config.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::ValidKeyFormat
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager_test.cc
- function_names:
  - '&

    RsaSsaPssParameters::Builder::SetModulusSizeInBits(int modulus_size_in_bits)'
  - "& RsaSsaPssParameters::Builder::SetPublicExponent(\n    const BigInteger& public_exponent)"
  - "& RsaSsaPssParameters::Builder::SetSigHashType(\n    HashType sig_hash_type)"
  - "& RsaSsaPssParameters::Builder::SetMgf1HashType(\n    HashType mgf1_hash_type)"
  - '&

    RsaSsaPssParameters::Builder::SetSaltLengthInBytes(int salt_length_in_bytes)'
  - "& RsaSsaPssParameters::Builder::SetVariant(\n    Variant variant)"
  - RsaSsaPssParameters::Builder::Build()
  - RsaSsaPssParameters::operator==(const Parameters& other) const
  - RsaSsaPssParameters::Builder::CreateDefaultPublicExponent()
  source_file: /src/tink/cc/signature/rsa_ssa_pss_parameters.cc
- function_names:
  - crypto::tink::EcdsaSignKeyManager::CreateKey
  - crypto::tink::EcdsaSignKeyManager::DeriveKey
  - "EcdsaSignKeyManager::PublicKeySignFactory::Create(\n    const EcdsaPrivateKey&
    ecdsa_private_key) const"
  - crypto::tink::EcdsaSignKeyManager::ValidateKey
  - crypto::tink::EcdsaSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/signature/ecdsa_sign_key_manager.cc
- function_names:
  - crypto::tink::Ed25519SignKeyManager::Ed25519SignKeyManager
  - crypto::tink::Ed25519SignKeyManager::get_version
  - crypto::tink::Ed25519SignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::Ed25519SignKeyManager::GetPublicKey
  source_file: /src/tink/cc/signature/ed25519_sign_key_manager.h
- function_names:
  - crypto::tink::SetRsaSsaPssParameters
  - crypto::tink::SetEcdsaParameters
  - crypto::tink::NewKeysetKey
  - crypto::tink::NewRsaSsaPrivateKey
  - crypto::tink::NewRsaSsaPkcs1PrivateKey
  - crypto::tink::AddRsaSsaPrivateKey
  - crypto::tink::AddEcdsaPublicKey
  - crypto::tink::AddRsaSsaPublicKey
  - crypto::tink::SignaturePemKeysetReaderBuilder::Add
  - crypto::tink::SignaturePemKeysetReaderBuilder::Build
  - crypto::tink::PublicKeySignPemKeysetReader::Read
  - crypto::tink::PublicKeyVerifyPemKeysetReader::Read
  - crypto::tink::SignaturePemKeysetReader::ReadEncrypted
  source_file: /src/tink/cc/signature/signature_pem_keyset_reader.cc
- function_names:
  - crypto::tink::Ed25519ProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/ed25519_proto_serialization_test.cc
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::Ed25519PublicKey::Create
  - Ed25519PublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/ed25519_public_key.cc
- function_names:
  - crypto::tink::EcdsaProtoSerializationTest::EcdsaProtoSerializationTest
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/ecdsa_proto_serialization_test.cc
- function_names: []
  source_file: /src/tink/cc/signature/public_key_sign_factory.h
- function_names:
  - crypto::tink::PublicKeySignFactoryTest::SetUp
  - crypto::tink::GetNewEcdsaPrivateKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/public_key_sign_factory_test.cc
- function_names:
  - "Ed25519VerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const Ed25519PublicKey&
    public_key) const"
  - crypto::tink::Ed25519VerifyKeyManager::ValidateKey
  source_file: /src/tink/cc/signature/ed25519_verify_key_manager.cc
- function_names:
  - crypto::tink::Ed25519SignKeyManager::CreateKey
  - "Ed25519SignKeyManager::PublicKeySignFactory::Create(\n    const Ed25519PrivateKey&
    private_key) const"
  - crypto::tink::Ed25519SignKeyManager::ValidateKey
  - crypto::tink::Ed25519SignKeyManager::DeriveKey
  - crypto::tink::Ed25519SignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/signature/ed25519_sign_key_manager.cc
- function_names: []
  source_file: /src/tink/cc/signature/failing_signature.h
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToEnumHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::ToParameters
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::RsaSsaPkcs1ProtoParametersParser
  - crypto::tink::RsaSsaPkcs1ProtoParametersSerializer
  - crypto::tink::RsaSsaPkcs1ProtoPublicKeyParser
  - crypto::tink::RsaSsaPkcs1ProtoPublicKeySerializer
  - crypto::tink::RsaSsaPkcs1ProtoPrivateKeyParser
  - crypto::tink::RsaSsaPkcs1ProtoPrivateKeySerializer
  - crypto::tink::RegisterRsaSsaPkcs1ProtoSerialization
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.cc
- function_names:
  - crypto::tink::Ed25519PublicKey::Ed25519PublicKey
  - '& operator=(const Ed25519PublicKey& other)'
  - crypto::tink::Ed25519PublicKey::Ed25519PublicKey
  - '& operator=(Ed25519PublicKey&& other)'
  - crypto::tink::Ed25519PublicKey::GetPublicKeyBytes
  - crypto::tink::Ed25519PublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::Ed25519PublicKey::GetIdRequirement
  - crypto::tink::Ed25519PublicKey::Ed25519PublicKey
  source_file: /src/tink/cc/signature/ed25519_public_key.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::ValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CheckNewKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_public_key_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/signature/ecdsa_sign_key_manager_test.cc
- function_names:
  - crypto::tink::RsaSsaPkcs1PrivateKey::RsaSsaPkcs1PrivateKey
  - '& operator=(const RsaSsaPkcs1PrivateKey& other)'
  - crypto::tink::RsaSsaPkcs1PrivateKey::RsaSsaPkcs1PrivateKey
  - '& operator=(RsaSsaPkcs1PrivateKey&& other)'
  - crypto::tink::RsaSsaPkcs1PrivateKey::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::RsaSsaPkcs1PrivateKey::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::RsaSsaPkcs1PrivateKey::Builder::Builder
  - '& GetPrimeP(PartialKeyAccessToken token) const'
  - '& GetPrimeQ(PartialKeyAccessToken token) const'
  - '& GetPrivateExponent() const'
  - '& GetPrimeExponentP() const'
  - '& GetPrimeExponentQ() const'
  - '& GetCrtCoefficient() const'
  - '& GetPublicKey() const override'
  - crypto::tink::RsaSsaPkcs1PrivateKey::RsaSsaPkcs1PrivateKey
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_private_key.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ed25519_parameters_test.cc
- function_names: []
  source_file: /src/tink/cc/signature/public_key_verify_wrapper.h
- function_names: []
  source_file: /src/tink/cc/signature/ecdsa_proto_serialization.h
- function_names:
  - crypto::tink::ValidatePublicPoint
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::ValidateIdRequirement
  - crypto::tink::EcdsaPublicKey::Create
  - EcdsaPublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/ecdsa_public_key.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/failing_signature_test.cc
- function_names:
  - crypto::tink::PublicExponentToString
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pss_parameters_test.cc
- function_names:
  - crypto::tink::Base64WebSafeDecode
  - crypto::tink::GetValidPrivateValues
  - crypto::tink::GetValidPublicKey
  - crypto::tink::FlipFirstByte
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pss_private_key_test.cc
- function_names:
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/signature/config_v0_test.cc
- function_names:
  - crypto::tink::RsaSsaPkcs1VerifyKeyManager::RsaSsaPkcs1VerifyKeyManager
  - crypto::tink::RsaSsaPkcs1VerifyKeyManager::get_version
  - crypto::tink::RsaSsaPkcs1VerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RsaSsaPkcs1VerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager.h
- function_names: []
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::ValidKeyFormat
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_verify_key_manager_test.cc
- function_names:
  - "& EcdsaParameters::Builder::SetCurveType(\n    CurveType curve_type)"
  - "& EcdsaParameters::Builder::SetHashType(\n    HashType hash_type)"
  - "& EcdsaParameters::Builder::SetSignatureEncoding(\n    SignatureEncoding signature_encoding)"
  - "& EcdsaParameters::Builder::SetVariant(\n    Variant variant)"
  - EcdsaParameters::Builder::Build()
  - EcdsaParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/signature/ecdsa_parameters.cc
- function_names:
  - crypto::tink::PublicExponentToString
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters_test.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::PublicKeyVerifySetWrapper::PublicKeyVerifySetWrapper
  - ~PublicKeyVerifySetWrapper() override
  - crypto::tink::PublicKeyVerifySetWrapper::Verify
  - crypto::tink::PublicKeyVerifyWrapper::Wrap
  source_file: /src/tink/cc/signature/public_key_verify_wrapper.cc
- function_names:
  - crypto::tink::Ed25519PrivateKey::Create
  - Ed25519PrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/ed25519_private_key.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::Ed25519ProtoParametersParser
  - crypto::tink::Ed25519ProtoParametersSerializer
  - crypto::tink::Ed25519ProtoPublicKeyParser
  - crypto::tink::Ed25519ProtoPublicKeySerializer
  - crypto::tink::Ed25519ProtoPrivateKeyParser
  - crypto::tink::Ed25519ProtoPrivateKeySerializer
  - crypto::tink::RegisterEd25519ProtoSerialization
  source_file: /src/tink/cc/signature/ed25519_proto_serialization.cc
- function_names:
  - crypto::tink::RsaSsaPkcs1Parameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::RsaSsaPkcs1Parameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::RsaSsaPkcs1Parameters::Builder::Builder
  - crypto::tink::RsaSsaPkcs1Parameters::RsaSsaPkcs1Parameters
  - '& operator=(const RsaSsaPkcs1Parameters& other)'
  - crypto::tink::RsaSsaPkcs1Parameters::RsaSsaPkcs1Parameters
  - '& operator=(RsaSsaPkcs1Parameters&& other)'
  - crypto::tink::RsaSsaPkcs1Parameters::GetModulusSizeInBits
  - '& GetPublicExponent() const'
  - crypto::tink::RsaSsaPkcs1Parameters::GetHashType
  - crypto::tink::RsaSsaPkcs1Parameters::GetVariant
  - crypto::tink::RsaSsaPkcs1Parameters::HasIdRequirement
  - crypto::tink::RsaSsaPkcs1Parameters::RsaSsaPkcs1Parameters
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_parameters.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ed25519_verify_key_manager_test.cc
- function_names: []
  source_file: /src/tink/cc/signature/public_key_sign_wrapper.h
- function_names:
  - crypto::tink::Ed25519Parameters::Ed25519Parameters
  - '& operator=(const Ed25519Parameters& other)'
  - crypto::tink::Ed25519Parameters::Ed25519Parameters
  - '& operator=(Ed25519Parameters&& other)'
  - crypto::tink::Ed25519Parameters::GetVariant
  - crypto::tink::Ed25519Parameters::HasIdRequirement
  - crypto::tink::Ed25519Parameters::Ed25519Parameters
  source_file: /src/tink/cc/signature/ed25519_parameters.h
- function_names:
  - crypto::tink::EcdsaParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::EcdsaParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::EcdsaParameters::Builder::Builder
  - crypto::tink::EcdsaParameters::EcdsaParameters
  - '& operator=(const EcdsaParameters& other)'
  - crypto::tink::EcdsaParameters::EcdsaParameters
  - '& operator=(EcdsaParameters&& other)'
  - crypto::tink::EcdsaParameters::GetCurveType
  - crypto::tink::EcdsaParameters::GetHashType
  - crypto::tink::EcdsaParameters::GetSignatureEncoding
  - crypto::tink::EcdsaParameters::GetVariant
  - crypto::tink::EcdsaParameters::HasIdRequirement
  - crypto::tink::EcdsaParameters::EcdsaParameters
  source_file: /src/tink/cc/signature/ecdsa_parameters.h
- function_names:
  - crypto::tink::EcdsaPublicKey::EcdsaPublicKey
  - '& operator=(const EcdsaPublicKey& other)'
  - crypto::tink::EcdsaPublicKey::EcdsaPublicKey
  - '& operator=(EcdsaPublicKey&& other)'
  - '& GetPublicPoint(PartialKeyAccessToken token) const'
  - crypto::tink::EcdsaPublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::EcdsaPublicKey::GetIdRequirement
  - crypto::tink::EcdsaPublicKey::EcdsaPublicKey
  source_file: /src/tink/cc/signature/ecdsa_public_key.h
- function_names:
  - crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
  - '& operator=(const RsaSsaPssPublicKey& other)'
  - crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
  - '& operator=(RsaSsaPssPublicKey&& other)'
  - '& GetModulus(PartialKeyAccessToken token) const'
  - crypto::tink::RsaSsaPssPublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::RsaSsaPssPublicKey::GetIdRequirement
  - crypto::tink::RsaSsaPssPublicKey::RsaSsaPssPublicKey
  source_file: /src/tink/cc/signature/rsa_ssa_pss_public_key.h
- function_names:
  - crypto::tink::ConfigSignatureV0
  source_file: /src/tink/cc/signature/config_v0.cc
- function_names:
  - crypto::tink::PublicKeySignFactory::GetPrimitive
  - crypto::tink::PublicKeySignFactory::GetPrimitive
  source_file: /src/tink/cc/signature/public_key_sign_factory.cc
- function_names:
  - crypto::tink::ValidateKeyPair
  - "& RsaSsaPssPrivateKey::Builder::SetPublicKey(\n    const RsaSsaPssPublicKey&
    public_key)"
  - "& RsaSsaPssPrivateKey::Builder::SetPrimeP(\n    const RestrictedBigInteger& p)"
  - "& RsaSsaPssPrivateKey::Builder::SetPrimeQ(\n    const RestrictedBigInteger& q)"
  - "&\nRsaSsaPssPrivateKey::Builder::SetPrimeExponentP(\n    const RestrictedBigInteger&
    dp)"
  - "&\nRsaSsaPssPrivateKey::Builder::SetPrimeExponentQ(\n    const RestrictedBigInteger&
    dq)"
  - "&\nRsaSsaPssPrivateKey::Builder::SetPrivateExponent(\n    const RestrictedBigInteger&
    d)"
  - "&\nRsaSsaPssPrivateKey::Builder::SetCrtCoefficient(\n    const RestrictedBigInteger&
    q_inv)"
  - "RsaSsaPssPrivateKey::Builder::Build(\n    PartialKeyAccessToken token)"
  - RsaSsaPssPrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/rsa_ssa_pss_private_key.cc
- function_names:
  - crypto::tink::PublicKeyVerifySetWrapperTest::SetUp
  - crypto::tink::PublicKeyVerifySetWrapperTest::TearDown
  - crypto::tink::TEST_F
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::PublicKeyVerifySetWrapperWithMonitoringTest::SetUp
  - ~PublicKeyVerifySetWrapperWithMonitoringTest() override
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/public_key_verify_wrapper_test.cc
- function_names:
  - "RsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const RsaSsaPssPublicKey&
    rsa_ssa_pss_public_key) const"
  - crypto::tink::RsaSsaPssVerifyKeyManager::ValidateKey
  - crypto::tink::RsaSsaPssVerifyKeyManager::ValidateParams
  source_file: /src/tink/cc/signature/rsa_ssa_pss_verify_key_manager.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ecdsa_parameters_test.cc
- function_names: []
  source_file: /src/tink/cc/signature/sig_util.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/signature_key_templates_test.cc
- function_names:
  - crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
  - '& operator=(const EcdsaPrivateKey& other)'
  - crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
  - '& operator=(EcdsaPrivateKey&& other)'
  - "& GetPrivateKeyValue(\n      PartialKeyAccessToken token) const"
  - '& GetPublicKey() const override'
  - crypto::tink::EcdsaPrivateKey::EcdsaPrivateKey
  source_file: /src/tink/cc/signature/ecdsa_private_key.h
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::RsaSsaPssPublicKey::Create
  - RsaSsaPssPublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/rsa_ssa_pss_public_key.cc
- function_names:
  - crypto::tink::RsaPrivateKeySubtleToProto
  - crypto::tink::RsaPrivateKeyProtoToSubtle
  - crypto::tink::RsaSsaPkcs1SignKeyManager::CreateKey
  - "RsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n    const RsaSsaPkcs1PrivateKey&
    private_key) const"
  - crypto::tink::RsaSsaPkcs1SignKeyManager::ValidateKey
  - crypto::tink::RsaSsaPkcs1SignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_sign_key_manager.cc
- function_names:
  - crypto::tink::Ed25519VerifyKeyManager::Ed25519VerifyKeyManager
  - crypto::tink::Ed25519VerifyKeyManager::get_version
  - crypto::tink::Ed25519VerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/signature/ed25519_verify_key_manager.h
- function_names: []
  source_file: /src/tink/cc/signature/config_v0.h
- function_names:
  - crypto::tink::RsaPrivateKeySubtleToProto
  - crypto::tink::RsaPrivateKeyProtoToSubtle
  - crypto::tink::RsaSsaPssSignKeyManager::CreateKey
  - "RsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n    const RsaSsaPssPrivateKey&
    private_key) const"
  - crypto::tink::RsaSsaPssSignKeyManager::ValidateKey
  - crypto::tink::RsaSsaPssSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/signature/rsa_ssa_pss_sign_key_manager.cc
- function_names:
  - crypto::tink::GetExpectedEcdsaPublicKeyProto
  - crypto::tink::GetRsaSsaPssPublicKeyProto
  - crypto::tink::GetRsaSsaPssPrivateKeyProto
  - crypto::tink::CreatePemKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/signature_pem_keyset_reader_test.cc
- function_names:
  - crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
  - '& operator=(const Ed25519PrivateKey& other)'
  - crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
  - '& operator=(Ed25519PrivateKey&& other)'
  - '& GetPrivateKeyBytes(PartialKeyAccessToken token) const'
  - '& GetPublicKey() const override'
  - crypto::tink::Ed25519PrivateKey::Ed25519PrivateKey
  source_file: /src/tink/cc/signature/ed25519_private_key.h
- function_names:
  - crypto::tink::NewEcdsaKeyTemplate
  - crypto::tink::NewEcdsaKeyTemplate
  - crypto::tink::NewRsaSsaPkcs1KeyTemplate
  - crypto::tink::NewRsaSsaPssKeyTemplate
  - '& SignatureKeyTemplates::EcdsaP256()'
  - '& SignatureKeyTemplates::EcdsaP384()'
  - '& SignatureKeyTemplates::EcdsaP384Sha384()'
  - '& SignatureKeyTemplates::EcdsaP384Sha512()'
  - '& SignatureKeyTemplates::EcdsaP521()'
  - '& SignatureKeyTemplates::EcdsaP256Raw()'
  - '& SignatureKeyTemplates::EcdsaP256Ieee()'
  - '& SignatureKeyTemplates::EcdsaP384Ieee()'
  - '& SignatureKeyTemplates::EcdsaP521Ieee()'
  - '& SignatureKeyTemplates::RsaSsaPkcs13072Sha256F4()'
  - '& SignatureKeyTemplates::RsaSsaPkcs14096Sha512F4()'
  - '& SignatureKeyTemplates::RsaSsaPss3072Sha256Sha256F4()'
  - '& SignatureKeyTemplates::RsaSsaPss4096Sha512Sha512F4()'
  - '& SignatureKeyTemplates::RsaSsaPss4096Sha384Sha384F4()'
  - '& SignatureKeyTemplates::Ed25519()'
  - '&

    SignatureKeyTemplates::Ed25519WithRawOutput()'
  source_file: /src/tink/cc/signature/signature_key_templates.cc
- function_names:
  - crypto::tink::RsaSsaPkcs1ProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::GenerateKeyValues
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/rsa_ssa_pkcs1_proto_serialization_test.cc
- function_names:
  - crypto::tink::SubtleCurveType
  - crypto::tink::ValidateKeyPair
  - crypto::tink::EcdsaPrivateKey::Create
  - EcdsaPrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/signature/ecdsa_private_key.cc
- function_names: []
  source_file: /src/tink/cc/signature/rsa_ssa_pss_proto_serialization.h
- function_names:
  - crypto::tink::RsaSsaPssParameters::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::RsaSsaPssParameters::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::RsaSsaPssParameters::Builder::Builder
  - crypto::tink::RsaSsaPssParameters::RsaSsaPssParameters
  - '& operator=(const RsaSsaPssParameters& other)'
  - crypto::tink::RsaSsaPssParameters::RsaSsaPssParameters
  - '& operator=(RsaSsaPssParameters&& other)'
  - crypto::tink::RsaSsaPssParameters::GetModulusSizeInBits
  - '& GetPublicExponent() const'
  - crypto::tink::RsaSsaPssParameters::GetSigHashType
  - crypto::tink::RsaSsaPssParameters::GetMgf1HashType
  - crypto::tink::RsaSsaPssParameters::GetSaltLengthInBytes
  - crypto::tink::RsaSsaPssParameters::GetVariant
  - crypto::tink::RsaSsaPssParameters::HasIdRequirement
  - crypto::tink::RsaSsaPssParameters::RsaSsaPssParameters
  source_file: /src/tink/cc/signature/rsa_ssa_pss_parameters.h
- function_names: []
  source_file: /src/tink/cc/signature/signature_key_templates.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/ecdsa_public_key_test.cc
- function_names:
  - crypto::tink::EcdsaVerifyKeyManager::EcdsaVerifyKeyManager
  - crypto::tink::EcdsaVerifyKeyManager::get_version
  - crypto::tink::EcdsaVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::EcdsaVerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/signature/ecdsa_verify_key_manager.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/signature/rsa_ssa_pss_public_key_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::PublicKeySignSetWrapperWithMonitoringTest::SetUp
  - ~PublicKeySignSetWrapperWithMonitoringTest() override
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/signature/public_key_sign_wrapper_test.cc
- function_names:
  - crypto::tink::internal::EcdsaRawSignBoringSsl::EcdsaRawSignBoringSsl
  source_file: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.h
- function_names:
  - crypto::tink::internal::AddSignatureKeyGenV0
  source_file: /src/tink/cc/signature/internal/key_gen_config_v0.cc
- function_names:
  - crypto::tink::internal::AddSignatureFips140_2
  source_file: /src/tink/cc/signature/internal/config_fips_140_2.cc
- function_names: []
  source_file: /src/tink/cc/signature/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::ComputeDigest
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/signature/internal/config_v0_test.cc
- function_names: []
  source_file: /src/tink/cc/signature/internal/config_fips_140_2.h
- function_names:
  - crypto::tink::internal::DerToIeee
  - crypto::tink::internal::EcdsaRawSignBoringSsl::New
  - crypto::tink::internal::EcdsaRawSignBoringSsl::Sign
  source_file: /src/tink/cc/signature/internal/ecdsa_raw_sign_boringssl.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/signature/internal/config_fips_140_2_test.cc
- function_names:
  - crypto::tink::internal::AddSignatureV0
  source_file: /src/tink/cc/signature/internal/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/signature/internal/config_v0.h
- function_names:
  - ValidateParams
  - tink_cc_examples::HybridCli
  - main
  source_file: /src/tink/cc/examples/hybrid_encryption/hybrid_cli.cc
- function_names:
  - ValidateParams
  - tink_cc_examples::DeterministicAeadCli
  - main
  source_file: /src/tink/cc/examples/daead/deterministic_aead_cli.cc
- function_names:
  - ValidateParams
  - tink_cc_examples::DigitalSignatureCli
  - main
  source_file: /src/tink/cc/examples/digital_signatures/digital_signatures_cli.cc
- function_names:
  - ValidateParams
  - tink_cc_examples::AeadCli
  - main
  source_file: /src/tink/cc/examples/aead/aead_cli.cc
- function_names:
  - ValidateParams
  - VerifyDerivedAeadKeyset
  - tink_cc_examples::KeyDerivationCli
  - main
  source_file: /src/tink/cc/examples/key_derivation/key_derivation_cli.cc
- function_names:
  - tink_walkthrough::LoadKeyset
  source_file: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.cc
- function_names:
  - tink_walkthrough::WriteEncryptedKeyset
  source_file: /src/tink/cc/examples/walkthrough/write_keyset.cc
- function_names:
  - tink_walkthrough::CreateAead128GcmKeyset
  source_file: /src/tink/cc/examples/walkthrough/create_keyset.cc
- function_names:
  - tink_walkthrough::AeadEncrypt
  - tink_walkthrough::AeadDecrypt
  source_file: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.cc
- function_names: []
  source_file: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive.h
- function_names:
  - tink_walkthrough::LoadKeyset
  source_file: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.cc
- function_names:
  - tink_walkthrough::TEST
  - tink_walkthrough::TEST
  source_file: /src/tink/cc/examples/walkthrough/load_cleartext_keyset_test.cc
- function_names:
  - tink_walkthrough::FakeKmsClient::FakeKmsClient
  source_file: /src/tink/cc/examples/walkthrough/test_util.h
- function_names: []
  source_file: /src/tink/cc/examples/walkthrough/write_keyset.h
- function_names: []
  source_file: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.h
- function_names:
  - tink_walkthrough::CreateAead128GcmKeysetTest::TearDown
  - tink_walkthrough::TEST_F
  - tink_walkthrough::TEST_F
  source_file: /src/tink/cc/examples/walkthrough/create_keyset_test.cc
- function_names:
  - tink_walkthrough::WriteKeyset
  source_file: /src/tink/cc/examples/walkthrough/write_cleartext_keyset.cc
- function_names:
  - tink_walkthrough::WriteKeysetTest::SetUp
  - tink_walkthrough::TEST_F
  - tink_walkthrough::TEST_F
  - tink_walkthrough::TEST_F
  source_file: /src/tink/cc/examples/walkthrough/write_keyset_test.cc
- function_names: []
  source_file: /src/tink/cc/examples/walkthrough/load_cleartext_keyset.h
- function_names: []
  source_file: /src/tink/cc/examples/walkthrough/create_keyset.h
- function_names: []
  source_file: /src/tink/cc/examples/walkthrough/load_encrypted_keyset.h
- function_names:
  - tink_walkthrough::TEST
  source_file: /src/tink/cc/examples/walkthrough/write_cleartext_keyset_test.cc
- function_names:
  - tink_walkthrough::LoadKeysetTest::SetUp
  - tink_walkthrough::TEST_F
  - tink_walkthrough::TEST_F
  source_file: /src/tink/cc/examples/walkthrough/load_encrypted_keyset_test.cc
- function_names:
  - tink_walkthrough::FakeKmsClient::DoesSupport
  - tink_walkthrough::FakeKmsClient::GetAead
  - tink_walkthrough::AlwaysFailingFakeKmsClient::DoesSupport
  - tink_walkthrough::AlwaysFailingFakeKmsClient::GetAead
  source_file: /src/tink/cc/examples/walkthrough/test_util.cc
- function_names:
  - tink_walkthrough::TEST
  source_file: /src/tink/cc/examples/walkthrough/obtain_and_use_a_primitive_test.cc
- function_names:
  - tink_cc_examples::GetJsonKeysetReader
  - tink_cc_examples::GetJsonKeysetWriter
  - tink_cc_examples::ReadJsonCleartextKeyset
  - tink_cc_examples::WriteJsonCleartextKeyset
  - tink_cc_examples::ReadFile
  - tink_cc_examples::WriteToFile
  source_file: /src/tink/cc/examples/util/util.cc
- function_names: []
  source_file: /src/tink/cc/examples/util/util.h
- function_names:
  - ValidateParams
  - tink_cc_examples::MacCli
  - main
  source_file: /src/tink/cc/examples/mac/mac_cli.cc
- function_names:
  - ValidateParams
  - tink_cc_examples::JwtVerify
  - main
  source_file: /src/tink/cc/examples/jwt/jwt_verify.cc
- function_names:
  - ValidateParams
  - tink_cc_examples::JwtGeneratePublicJwkSet
  - main
  source_file: /src/tink/cc/examples/jwt/jwt_generate_public_jwk_set.cc
- function_names:
  - ValidateParams
  - tink_cc_examples::JwtSign
  - main
  source_file: /src/tink/cc/examples/jwt/jwt_sign.cc
- function_names:
  - crypto::tink::KeyDerivationConfig::KeyDerivationConfig
  source_file: /src/tink/cc/keyderivation/key_derivation_config.h
- function_names:
  - ~KeysetDeriver()
  source_file: /src/tink/cc/keyderivation/keyset_deriver.h
- function_names:
  - crypto::tink::Validate
  - crypto::tink::KeysetDeriverSetWrapper::KeysetDeriverSetWrapper
  - ~KeysetDeriverSetWrapper() override
  - crypto::tink::DeriveAndGetKeyData
  - crypto::tink::KeysetDeriverSetWrapper::DeriveKeyset
  - crypto::tink::KeysetDeriverWrapper::Wrap
  source_file: /src/tink/cc/keyderivation/keyset_deriver_wrapper.cc
- function_names: []
  source_file: /src/tink/cc/keyderivation/key_derivation_key_templates.h
- function_names:
  - crypto::tink::PrfKeyFromRfcVector
  - crypto::tink::SaltFromRfcVector
  - crypto::tink::CreateAesGcmKey
  - crypto::tink::TestVectors
  - crypto::tink::CreatePrfBasedDeriverHandle
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/keyderivation/keyset_deriver_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/keyderivation/keyset_deriver_wrapper_test.cc
- function_names:
  - crypto::tink::KeyDerivationConfig::Register
  source_file: /src/tink/cc/keyderivation/key_derivation_config.cc
- function_names: []
  source_file: /src/tink/cc/keyderivation/keyset_deriver_wrapper.h
- function_names:
  - crypto::tink::KeyDerivationKeyTemplates::CreatePrfBasedKeyTemplate
  source_file: /src/tink/cc/keyderivation/key_derivation_key_templates.cc
- function_names:
  - crypto::tink::internal::KeyDerivationKeyTemplatesTest::TearDown
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/keyderivation/key_derivation_key_templates_test.cc
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/keyderivation/key_derivation_config_test.cc
- function_names: []
  source_file: /src/tink/cc/keyderivation/internal/key_derivers.h
- function_names:
  - crypto::tink::internal::KeyDeriversTest::SetUp
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::KeyDeriversRfcVectorTest::SetUp
  - crypto::tink::internal::TEST_F
  source_file: /src/tink/cc/keyderivation/internal/key_derivers_test.cc
- function_names:
  - crypto::tink::internal::ConfigPrfForDeriver
  source_file: /src/tink/cc/keyderivation/internal/config_prf_for_deriver.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/keyderivation/internal/config_prf_for_deriver_test.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager_test.cc
- function_names:
  - crypto::tink::internal::PrfBasedDeriver::PrfBasedDeriver
  source_file: /src/tink/cc/keyderivation/internal/prf_based_deriver.h
- function_names:
  - crypto::tink::internal::DeriveAesGcmKey
  - crypto::tink::internal::ParametersToKeyDeriver
  - crypto::tink::internal::DeriveKey
  source_file: /src/tink/cc/keyderivation/internal/key_derivers.cc
- function_names:
  - crypto::tink::internal::DeriveWithGlobalRegistry
  - crypto::tink::internal::DeriveWithHardCodedMap
  - crypto::tink::internal::DeriveKeysetHandle
  - crypto::tink::internal::RegisterProtoSerializations
  - crypto::tink::internal::GetUnwrappedStreamingPrf
  - crypto::tink::internal::PrfBasedDeriver::New
  - crypto::tink::internal::PrfBasedDeriver::DeriveKeyset
  source_file: /src/tink/cc/keyderivation/internal/prf_based_deriver.cc
- function_names:
  - crypto::tink::internal::PrfBasedDeriverTest::PrfKey
  - crypto::tink::internal::PrfBasedDeriverTest::PrfKeyData
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::PrfBasedDeriverRfcVectorTest::PrfKeyData
  - crypto::tink::internal::TEST_F
  - crypto::tink::internal::GetPrfBasedDeriverJavaVectors
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/keyderivation/internal/prf_based_deriver_test.cc
- function_names:
  - crypto::tink::internal::PrfBasedDeriverKeyManager::KeysetDeriverFactory::Create
  - crypto::tink::internal::PrfBasedDeriverKeyManager::PrfBasedDeriverKeyManager
  - crypto::tink::internal::PrfBasedDeriverKeyManager::get_version
  - crypto::tink::internal::PrfBasedDeriverKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::internal::PrfBasedDeriverKeyManager::ValidateKey
  - crypto::tink::internal::PrfBasedDeriverKeyManager::ValidateKeyFormat
  - crypto::tink::internal::PrfBasedDeriverKeyManager::CreateKey
  - crypto::tink::internal::PrfBasedDeriverKeyManager::CreateKeyData
  source_file: /src/tink/cc/keyderivation/internal/prf_based_deriver_key_manager.h
- function_names:
  - crypto::tink::util::OwningBuffer::OwningBuffer
  - crypto::tink::util::OwningBuffer::get_mem_block
  - crypto::tink::util::OwningBuffer::allocated_size
  - crypto::tink::util::OwningBuffer::size
  - crypto::tink::util::OwningBuffer::set_size
  - ~OwningBuffer() override
  - crypto::tink::util::NonOwningBuffer::NonOwningBuffer
  - crypto::tink::util::NonOwningBuffer::get_mem_block
  - crypto::tink::util::NonOwningBuffer::allocated_size
  - crypto::tink::util::NonOwningBuffer::size
  - crypto::tink::util::NonOwningBuffer::set_size
  - ~NonOwningBuffer() override
  - crypto::tink::util::Buffer::New
  - crypto::tink::util::Buffer::NewNonOwning
  source_file: /src/tink/cc/util/buffer.cc
- function_names:
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  source_file: /src/tink/cc/util/secret_data_test.cc
- function_names:
  - crypto::tink::test::FakeKmsClient::FakeKmsClient
  source_file: /src/tink/cc/util/fake_kms_client.h
- function_names:
  - crypto::tink::TEST
  source_file: /src/tink/cc/util/errors_test.cc
- function_names:
  - crypto::tink::util::internal::SafeZeroMemory
  - crypto::tink::util::internal::allocate
  - crypto::tink::util::internal::deallocate
  - crypto::tink::util::internal::allocate
  - crypto::tink::util::internal::deallocate
  - crypto::tink::util::internal::SanitizingAllocator
  - crypto::tink::util::internal::SanitizingAllocator
  - crypto::tink::util::internal::allocate
  - crypto::tink::util::internal::deallocate
  - operator==(const SanitizingAllocator&)
  - operator!=(const SanitizingAllocator&)
  source_file: /src/tink/cc/util/secret_data_internal.h
- function_names:
  - crypto::tink::GetTestIstream
  - crypto::tink::ReadTillEnd
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/util/istream_input_stream_test.cc
- function_names: []
  source_file: /src/tink/cc/util/ostream_output_stream.h
- function_names: []
  source_file: /src/tink/cc/util/validation.h
- function_names:
  - crypto::tink::OpenTestFileToRead
  - crypto::tink::ReadAll
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/util/file_input_stream_test.cc
- function_names:
  - crypto::tink::test::NewKmsAeadKeyTemplate
  - crypto::tink::test::NewKmsEnvelopeKeyTemplate
  - crypto::tink::test::FakeKmsClientTest::SetUpTestSuite
  - crypto::tink::test::TEST_F
  - crypto::tink::test::TEST_F
  - crypto::tink::test::TEST_F
  - crypto::tink::test::TEST_F
  - crypto::tink::test::TEST_F
  source_file: /src/tink/cc/util/fake_kms_client_test.cc
- function_names:
  - crypto::tink::util::internal::SecretArenaOptions
  - crypto::tink::util::SecretProto::ParseFromSecretData
  - crypto::tink::util::SecretProto::SecretProto
  - crypto::tink::util::SecretProto::SecretProto
  - crypto::tink::util::SecretProto::SecretProto
  - crypto::tink::util::SecretProto::SecretProto
  - '& operator=(const SecretProto& other)'
  - '& operator=(SecretProto&& other) noexcept'
  - crypto::tink::util::SecretProto::get
  - '* operator->()'
  - '* operator->() const'
  - '& operator*()'
  - '& operator*() const'
  - crypto::tink::util::SecretProto::SerializeAsSecretData
  source_file: /src/tink/cc/util/secret_proto.h
- function_names:
  - crypto::tink::test::GetEncodedKeyset
  - crypto::tink::test::FakeKmsClient::New
  - crypto::tink::test::FakeKmsClient::DoesSupport
  - crypto::tink::test::FakeKmsClient::GetAead
  - crypto::tink::test::FakeKmsClient::RegisterNewClient
  - crypto::tink::test::FakeKmsClient::CreateFakeKeyUri
  source_file: /src/tink/cc/util/fake_kms_client.cc
- function_names: []
  source_file: /src/tink/cc/util/file_input_stream.h
- function_names:
  - crypto::tink::test::AsKeyData
  - crypto::tink::test::DummyAead::DummyAead
  - crypto::tink::test::DummyAead::Encrypt
  - crypto::tink::test::DummyAead::Decrypt
  - crypto::tink::test::DummyCordAead::DummyCordAead
  - crypto::tink::test::DummyCordAead::Encrypt
  - crypto::tink::test::DummyCordAead::Decrypt
  - crypto::tink::test::DummyDeterministicAead::DummyDeterministicAead
  - crypto::tink::test::DummyDeterministicAead::EncryptDeterministically
  - crypto::tink::test::DummyDeterministicAead::DecryptDeterministically
  - crypto::tink::test::DummyStreamingAead::DummyStreamingAead
  - crypto::tink::test::DummyStreamingAead::NewEncryptingStream
  - crypto::tink::test::DummyStreamingAead::NewDecryptingStream
  - crypto::tink::test::DummyStreamingAead::NewDecryptingRandomAccessStream
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::DummyEncryptingStream
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Next
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::BackUp
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Position
  - crypto::tink::test::DummyStreamingAead::DummyEncryptingStream::Close
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::DummyDecryptingStream
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Next
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::BackUp
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingStream::Position
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::DummyDecryptingRandomAccessStream
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::PRead
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::size
  - crypto::tink::test::DummyStreamingAead::DummyDecryptingRandomAccessStream::ABSL_LOCKS_EXCLUDED
  - crypto::tink::test::DummyHybridEncrypt::DummyHybridEncrypt
  - crypto::tink::test::DummyHybridEncrypt::Encrypt
  - crypto::tink::test::DummyHybridDecrypt::DummyHybridDecrypt
  - crypto::tink::test::DummyHybridDecrypt::Decrypt
  - crypto::tink::test::DummyPublicKeySign::DummyPublicKeySign
  - crypto::tink::test::DummyPublicKeySign::Sign
  - crypto::tink::test::DummyPublicKeyVerify::DummyPublicKeyVerify
  - crypto::tink::test::DummyPublicKeyVerify::Verify
  - crypto::tink::test::DummyMac::DummyMac
  - crypto::tink::test::DummyMac::ComputeMac
  - crypto::tink::test::DummyMac::VerifyMac
  - crypto::tink::test::DummyStatefulMac::DummyStatefulMac
  - crypto::tink::test::DummyStatefulMac::Update
  - crypto::tink::test::DummyStatefulMac::Finalize
  - crypto::tink::test::DummyKeysetWriter::New
  - crypto::tink::test::DummyKeysetWriter::Write
  - crypto::tink::test::DummyKeysetWriter::Write
  - crypto::tink::test::DummyKeysetWriter::DummyKeysetWriter
  - crypto::tink::test::DummyKmsClient::DummyKmsClient
  - crypto::tink::test::DummyKmsClient::DoesSupport
  - crypto::tink::test::DummyKmsClient::GetAead
  - ~DummyKmsClient() override
  - crypto::tink::test::FakeKeysetDeriver::FakeKeysetDeriver
  - crypto::tink::test::FakeKeysetDeriver::DeriveKeyset
  source_file: /src/tink/cc/util/test_util.h
- function_names: []
  source_file: /src/tink/cc/util/enums.h
- function_names:
  - crypto::tink::util::IstreamInputStream::IstreamInputStream
  - crypto::tink::util::IstreamInputStream::Next
  - crypto::tink::util::IstreamInputStream::BackUp
  - IstreamInputStream::~IstreamInputStream()
  - crypto::tink::util::IstreamInputStream::Position
  source_file: /src/tink/cc/util/istream_input_stream.cc
- function_names:
  - crypto::tink::util::OkStatus
  source_file: /src/tink/cc/util/status.h
- function_names:
  - crypto::tink::NewKeyId
  - crypto::tink::GenerateUnusedKeyId
  source_file: /src/tink/cc/util/keyset_util.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/util/validation_test.cc
- function_names: []
  source_file: /src/tink/cc/util/input_stream_util.h
- function_names:
  - crypto::tink::util::OstreamOutputStream::OstreamOutputStream
  - crypto::tink::util::OstreamOutputStream::Next
  - crypto::tink::util::OstreamOutputStream::BackUp
  - OstreamOutputStream::~OstreamOutputStream()
  - crypto::tink::util::OstreamOutputStream::Close
  - crypto::tink::util::OstreamOutputStream::Position
  source_file: /src/tink/cc/util/ostream_output_stream.cc
- function_names: []
  source_file: /src/tink/cc/util/test_keyset_handle.h
- function_names: []
  source_file: /src/tink/cc/util/protobuf_helper.h
- function_names: []
  source_file: /src/tink/cc/util/file_random_access_stream.h
- function_names:
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  - crypto::tink::test::TEST
  source_file: /src/tink/cc/util/test_util_test.cc
- function_names:
  - crypto::tink::TestKeysetHandle::GetKeysetHandle
  - '& TestKeysetHandle::GetKeyset(const KeysetHandle& keyset_handle)'
  source_file: /src/tink/cc/util/test_keyset_handle.cc
- function_names:
  - operator()(T* ptr)
  - crypto::tink::util::SecretUniquePtr::SecretUniquePtr
  - crypto::tink::util::SecretUniquePtr::get
  - '& get_deleter()'
  - '& get_deleter() const'
  - crypto::tink::util::SecretUniquePtr::swap
  - crypto::tink::util::SecretUniquePtr::reset
  - operator*() const
  - operator->() const
  - operator bool() const
  - crypto::tink::util::SecretUniquePtr::SecretUniquePtr
  - crypto::tink::util::MakeSecretUniquePtr
  - crypto::tink::util::SecretDataAsStringView
  - crypto::tink::util::SecretDataFromStringView
  - crypto::tink::util::SecretValue::SecretValue
  - crypto::tink::util::SecretValue::SecretValue
  - '& operator=(const SecretValue& other)'
  - '& value()'
  - '& value() const'
  - crypto::tink::util::SafeZeroMemory
  - crypto::tink::util::SafeZeroString
  source_file: /src/tink/cc/util/secret_data.h
- function_names:
  - crypto::tink::GetTestOstream
  - crypto::tink::WriteToStream
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/util/ostream_output_stream_test.cc
- function_names:
  - crypto::tink::util::OpenTestFileToRead
  - crypto::tink::util::ReadAll
  - crypto::tink::util::ReadAndVerifyChunk
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  source_file: /src/tink/cc/util/file_random_access_stream_test.cc
- function_names:
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/util/enums_test.cc
- function_names: []
  source_file: /src/tink/cc/util/file_output_stream.h
- function_names: []
  source_file: /src/tink/cc/util/keyset_util.h
- function_names: []
  source_file: /src/tink/cc/util/statusor.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/util/input_stream_util_test.cc
- function_names:
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  - crypto::tink::util::TEST
  source_file: /src/tink/cc/util/buffer_test.cc
- function_names: []
  source_file: /src/tink/cc/util/istream_input_stream.h
- function_names:
  - crypto::tink::ToStatusF
  source_file: /src/tink/cc/util/errors.h
- function_names:
  - crypto::tink::util::CreateProto
  - crypto::tink::util::CreateProto
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  - crypto::tink::util::TYPED_TEST
  source_file: /src/tink/cc/util/secret_proto_test.cc
- function_names:
  - crypto::tink::util::close_ignoring_eintr
  - crypto::tink::util::FileRandomAccessStream::FileRandomAccessStream
  - crypto::tink::util::FileRandomAccessStream::PRead
  - FileRandomAccessStream::~FileRandomAccessStream()
  - crypto::tink::util::FileRandomAccessStream::size
  source_file: /src/tink/cc/util/file_random_access_stream.cc
- function_names: []
  source_file: /src/tink/cc/util/constants.cc
- function_names:
  - crypto::tink::ReadBytesFromStreamImpl
  - crypto::tink::ReadBytesFromStream
  - crypto::tink::ReadSecretBytesFromStream
  source_file: /src/tink/cc/util/input_stream_util.cc
- function_names:
  - crypto::tink::util::close_ignoring_eintr
  - crypto::tink::util::write_ignoring_eintr
  - crypto::tink::util::FileOutputStream::FileOutputStream
  - crypto::tink::util::FileOutputStream::Next
  - crypto::tink::util::FileOutputStream::BackUp
  - FileOutputStream::~FileOutputStream()
  - crypto::tink::util::FileOutputStream::Close
  - crypto::tink::util::FileOutputStream::Position
  source_file: /src/tink/cc/util/file_output_stream.cc
- function_names:
  - crypto::tink::util::close_ignoring_eintr
  - crypto::tink::util::read_ignoring_eintr
  - crypto::tink::util::FileInputStream::FileInputStream
  - crypto::tink::util::FileInputStream::Next
  - crypto::tink::util::FileInputStream::BackUp
  - FileInputStream::~FileInputStream()
  - crypto::tink::util::FileInputStream::Position
  source_file: /src/tink/cc/util/file_input_stream.cc
- function_names:
  - crypto::tink::ValidateAesKeySize
  - crypto::tink::ValidateKey
  - crypto::tink::ValidateKeyset
  - crypto::tink::ValidateVersion
  source_file: /src/tink/cc/util/validation.cc
- function_names:
  - crypto::tink::OpenTestFileToWrite
  - crypto::tink::WriteToStream
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/util/file_output_stream_test.cc
- function_names:
  - crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::IsOkAndHoldsMatcherImpl
  - crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeTo
  - crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::DescribeNegationTo
  - crypto::tink::test::internal::IsOkAndHoldsMatcherImpl::MatchAndExplain
  - crypto::tink::test::internal::IsOkAndHoldsMatcher::IsOkAndHoldsMatcher
  - operator ::testing::Matcher<StatusOrType>() const
  - crypto::tink::test::StatusToString
  - crypto::tink::test::StatusToString
  - crypto::tink::test::IsOkAndHolds
  source_file: /src/tink/cc/util/test_matchers.h
- function_names:
  - crypto::tink::util::Enums::SubtleToProto
  - crypto::tink::util::Enums::ProtoToSubtle
  - crypto::tink::util::Enums::SubtleToProto
  - crypto::tink::util::Enums::ProtoToSubtle
  - crypto::tink::util::Enums::SubtleToProto
  - crypto::tink::util::Enums::ProtoToSubtle
  - crypto::tink::util::Enums::ProtoToSubtle
  - crypto::tink::util::Enums::SubtleToProto
  - crypto::tink::util::Enums::KeyStatusName
  - crypto::tink::util::Enums::HashName
  - crypto::tink::util::Enums::HashLength
  - crypto::tink::util::Enums::KeyMaterialName
  - crypto::tink::util::Enums::OutputPrefixName
  - crypto::tink::util::Enums::KeyStatus
  - crypto::tink::util::Enums::Hash
  - crypto::tink::util::Enums::KeyMaterial
  - crypto::tink::util::Enums::OutputPrefix
  source_file: /src/tink/cc/util/enums.cc
- function_names:
  - crypto::tink::test::ReadTestFile
  - crypto::tink::test::HexDecode
  - crypto::tink::test::HexDecodeOrDie
  - crypto::tink::test::HexEncode
  - crypto::tink::test::TmpDir
  - crypto::tink::test::AddKeyData
  - crypto::tink::test::AddKey
  - crypto::tink::test::AddTinkKey
  - crypto::tink::test::AddLegacyKey
  - crypto::tink::test::AddRawKey
  - crypto::tink::test::GetEciesAesGcmHkdfTestKey
  - crypto::tink::test::GetEciesAeadHkdfTestKey
  - crypto::tink::test::GetEciesAesGcmHkdfTestKey
  - crypto::tink::test::GetEciesAesCtrHmacHkdfTestKey
  - crypto::tink::test::GetEciesXChaCha20Poly1305HkdfTestKey
  - crypto::tink::test::GetEciesAesSivHkdfTestKey
  - crypto::tink::test::GetEcdsaTestPrivateKey
  - crypto::tink::test::GetEcdsaTestPrivateKey
  - crypto::tink::test::GetEd25519TestPrivateKey
  - crypto::tink::test::ZTestUniformString
  - crypto::tink::test::Rotate
  - crypto::tink::test::ZTestCrosscorrelationUniformStrings
  - crypto::tink::test::ZTestAutocorrelationUniformString
  source_file: /src/tink/cc/util/test_util.cc
- function_names: []
  source_file: /src/tink/cc/util/constants.h
- function_names:
  - ~Buffer()
  source_file: /src/tink/cc/util/buffer.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/hmac_parameters_test.cc
- function_names:
  - crypto::tink::ValidateTagSizeBytes
  - crypto::tink::HmacParameters::Create
  - crypto::tink::HmacParameters::TotalTagSizeInBytes
  - HmacParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/mac/hmac_parameters.cc
- function_names:
  - crypto::tink::HmacParameters::HmacParameters
  - '& operator=(const HmacParameters& other)'
  - crypto::tink::HmacParameters::HmacParameters
  - '& operator=(HmacParameters&& other)'
  - crypto::tink::HmacParameters::GetVariant
  - crypto::tink::HmacParameters::GetHashType
  - crypto::tink::HmacParameters::KeySizeInBytes
  - crypto::tink::HmacParameters::CryptographicTagSizeInBytes
  - crypto::tink::HmacParameters::HasIdRequirement
  - crypto::tink::HmacParameters::HmacParameters
  source_file: /src/tink/cc/mac/hmac_parameters.h
- function_names:
  - crypto::tink::HmacKeyManager::CreateKey
  - crypto::tink::HmacKeyManager::DeriveKey
  - crypto::tink::HmacKeyManager::ValidateParams
  - crypto::tink::HmacKeyManager::ValidateKey
  - crypto::tink::HmacKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/mac/hmac_key_manager.cc
- function_names:
  - crypto::tink::KeyGenConfigMacV0
  source_file: /src/tink/cc/mac/key_gen_config_v0.cc
- function_names:
  - crypto::tink::NewHmacKeyTemplate
  - crypto::tink::NewAesCmacKeyTemplate
  - '& MacKeyTemplates::HmacSha256HalfSizeTag()'
  - '& MacKeyTemplates::HmacSha256()'
  - '& MacKeyTemplates::HmacSha512HalfSizeTag()'
  - '& MacKeyTemplates::HmacSha512()'
  - '& MacKeyTemplates::AesCmac()'
  source_file: /src/tink/cc/mac/mac_key_templates.cc
- function_names:
  - crypto::tink::MacConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::ChunkedMacConfigTest::SetUp
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/mac/mac_config_test.cc
- function_names: []
  source_file: /src/tink/cc/mac/mac_key_templates.h
- function_names:
  - crypto::tink::HmacKey::HmacKey
  - '& operator=(const HmacKey& other)'
  - crypto::tink::HmacKey::HmacKey
  - '& operator=(HmacKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::HmacKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::HmacKey::GetIdRequirement
  - crypto::tink::HmacKey::HmacKey
  source_file: /src/tink/cc/mac/hmac_key.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/aes_cmac_key_test.cc
- function_names:
  - crypto::tink::AlwaysFailMac::AlwaysFailMac
  - crypto::tink::AlwaysFailMac::ComputeMac
  - crypto::tink::AlwaysFailMac::VerifyMac
  - crypto::tink::CreateAlwaysFailingMac
  source_file: /src/tink/cc/mac/failing_mac.cc
- function_names: []
  source_file: /src/tink/cc/mac/key_gen_config_v0.h
- function_names: []
  source_file: /src/tink/cc/mac/mac_parameters.h
- function_names: []
  source_file: /src/tink/cc/mac/failing_mac.h
- function_names:
  - crypto::tink::MacConfig::MacConfig
  source_file: /src/tink/cc/mac/mac_config.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/aes_cmac_parameters_test.cc
- function_names:
  - crypto::tink::HmacKey::Create
  - crypto::tink::HmacKey::ComputeOutputPrefix
  - HmacKey::operator==(const Key& other) const
  source_file: /src/tink/cc/mac/hmac_key.cc
- function_names:
  - crypto::tink::AesCmacKey::AesCmacKey
  - '& operator=(const AesCmacKey& other)'
  - crypto::tink::AesCmacKey::AesCmacKey
  - '& operator=(AesCmacKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - crypto::tink::AesCmacKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::AesCmacKey::GetIdRequirement
  - crypto::tink::AesCmacKey::AesCmacKey
  source_file: /src/tink/cc/mac/aes_cmac_key.h
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::AesCmacProtoParametersParser
  - crypto::tink::AesCmacProtoParametersSerializer
  - crypto::tink::AesCmacProtoKeyParser
  - crypto::tink::AesCmacProtoKeySerializer
  - crypto::tink::RegisterAesCmacProtoSerialization
  source_file: /src/tink/cc/mac/aes_cmac_proto_serialization.cc
- function_names:
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/mac/mac_factory_test.cc
- function_names:
  - crypto::tink::AesCmacProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/mac/aes_cmac_proto_serialization_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/hmac_key_manager_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/mac/config_v0_test.cc
- function_names:
  - crypto::tink::MacFactory::GetPrimitive
  - crypto::tink::MacFactory::GetPrimitive
  source_file: /src/tink/cc/mac/mac_factory.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/mac_key_templates_test.cc
- function_names: []
  source_file: /src/tink/cc/mac/hmac_proto_serialization.h
- function_names: []
  source_file: /src/tink/cc/mac/mac_wrapper.h
- function_names:
  - crypto::tink::AesCmacKeyManager::MacFactory::Create
  - crypto::tink::AesCmacKeyManager::ChunkedMacFactory::Create
  - crypto::tink::AesCmacKeyManager::AesCmacKeyManager
  - crypto::tink::AesCmacKeyManager::get_version
  - crypto::tink::AesCmacKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::AesCmacKeyManager::ValidateKey
  - crypto::tink::AesCmacKeyManager::ValidateKeyFormat
  - crypto::tink::AesCmacKeyManager::CreateKey
  - crypto::tink::AesCmacKeyManager::ValidateParams
  source_file: /src/tink/cc/mac/aes_cmac_key_manager.h
- function_names:
  - crypto::tink::HmacKeyManager::MacFactory::Create
  - crypto::tink::HmacKeyManager::ChunkedMacFactory::Create
  - crypto::tink::HmacKeyManager::HmacKeyManager
  - crypto::tink::HmacKeyManager::get_version
  - crypto::tink::HmacKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::HmacKeyManager::FipsStatus
  source_file: /src/tink/cc/mac/hmac_key_manager.h
- function_names:
  - crypto::tink::HmacProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/mac/hmac_proto_serialization_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TryBreakLegacyMac::ComputeMac
  - crypto::tink::TryBreakLegacyMac::VerifyMac
  - crypto::tink::TEST
  - crypto::tink::PopulateKeyInfo
  - crypto::tink::CreateTestKeysetInfo
  - crypto::tink::MacSetWrapperWithMonitoringTest::SetUp
  - ~MacSetWrapperWithMonitoringTest() override
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/mac/mac_wrapper_test.cc
- function_names: []
  source_file: /src/tink/cc/mac/mac_key.h
- function_names: []
  source_file: /src/tink/cc/mac/mac_factory.h
- function_names: []
  source_file: /src/tink/cc/mac/aes_cmac_proto_serialization.h
- function_names:
  - crypto::tink::ConfigMacV0
  source_file: /src/tink/cc/mac/config_v0.cc
- function_names:
  - crypto::tink::AesCmacKey::Create
  - crypto::tink::AesCmacKey::ComputeOutputPrefix
  - AesCmacKey::operator==(const Key& other) const
  source_file: /src/tink/cc/mac/aes_cmac_key.cc
- function_names:
  - crypto::tink::MacSetWrapper::MacSetWrapper
  - ~MacSetWrapper() override
  - crypto::tink::Validate
  - crypto::tink::MacSetWrapper::ComputeMac
  - crypto::tink::MacSetWrapper::VerifyMac
  - crypto::tink::MacWrapper::Wrap
  source_file: /src/tink/cc/mac/mac_wrapper.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/hmac_key_test.cc
- function_names: []
  source_file: /src/tink/cc/mac/config_v0.h
- function_names:
  - crypto::tink::AesCmacParameters::AesCmacParameters
  - '& operator=(const AesCmacParameters& other)'
  - crypto::tink::AesCmacParameters::AesCmacParameters
  - '& operator=(AesCmacParameters&& other)'
  - crypto::tink::AesCmacParameters::GetVariant
  - crypto::tink::AesCmacParameters::KeySizeInBytes
  - crypto::tink::AesCmacParameters::CryptographicTagSizeInBytes
  - crypto::tink::AesCmacParameters::HasIdRequirement
  - crypto::tink::AesCmacParameters::AesCmacParameters
  source_file: /src/tink/cc/mac/aes_cmac_parameters.h
- function_names:
  - crypto::tink::MacConfig::Register
  source_file: /src/tink/cc/mac/mac_config.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::HmacProtoParametersParser
  - crypto::tink::HmacProtoParametersSerializer
  - crypto::tink::HmacProtoKeyParser
  - crypto::tink::HmacProtoKeySerializer
  - crypto::tink::RegisterHmacProtoSerialization
  source_file: /src/tink/cc/mac/hmac_proto_serialization.cc
- function_names:
  - crypto::tink::AesCmacParameters::Create
  - crypto::tink::AesCmacParameters::TotalTagSizeInBytes
  - AesCmacParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/mac/aes_cmac_parameters.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::ValidParams
  - crypto::tink::ValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/aes_cmac_key_manager_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/mac/failing_mac_test.cc
- function_names:
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/mac/internal/chunked_mac_test.cc
- function_names:
  - crypto::tink::internal::AddMacKeyGenV0
  source_file: /src/tink/cc/mac/internal/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/mac/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/mac/internal/chunked_mac_impl_test.cc
- function_names:
  - crypto::tink::internal::ChunkedMacComputationSetWrapper::ChunkedMacComputationSetWrapper
  - crypto::tink::internal::ChunkedMacComputationSetWrapper::Update
  - crypto::tink::internal::ChunkedMacComputationSetWrapper::ComputeMac
  - crypto::tink::internal::ChunkedMacVerificationWithPrefixType::ChunkedMacVerificationWithPrefixType
  - crypto::tink::internal::ChunkedMacVerificationWithPrefixType::Update
  - crypto::tink::internal::ChunkedMacVerificationWithPrefixType::VerifyMac
  - crypto::tink::internal::ChunkedMacVerificationSetWrapper::ChunkedMacVerificationSetWrapper
  - crypto::tink::internal::ChunkedMacVerificationSetWrapper::Update
  - crypto::tink::internal::ChunkedMacVerificationSetWrapper::VerifyMac
  - crypto::tink::internal::ChunkedMacSetWrapper::ChunkedMacSetWrapper
  - ~ChunkedMacSetWrapper() override
  - crypto::tink::internal::Validate
  - crypto::tink::internal::ChunkedMacSetWrapper::CreateComputation
  - crypto::tink::internal::ChunkedMacSetWrapper::CreateVerification
  - crypto::tink::internal::ChunkedMacWrapper::Wrap
  source_file: /src/tink/cc/mac/internal/chunked_mac_wrapper.cc
- function_names: []
  source_file: /src/tink/cc/mac/internal/chunked_mac_wrapper.h
- function_names:
  - crypto::tink::internal::ChunkedMacComputationImpl::Update
  - crypto::tink::internal::ChunkedMacComputationImpl::ComputeMac
  - crypto::tink::internal::ChunkedMacVerificationImpl::Update
  - crypto::tink::internal::ChunkedMacVerificationImpl::VerifyMac
  - crypto::tink::internal::ChunkedMacImpl::CreateComputation
  - crypto::tink::internal::ChunkedMacImpl::CreateVerification
  - crypto::tink::internal::NewChunkedCmac
  - crypto::tink::internal::NewChunkedHmac
  source_file: /src/tink/cc/mac/internal/chunked_mac_impl.cc
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/mac/internal/config_v0_test.cc
- function_names:
  - crypto::tink::internal::ChunkedMacComputationImpl::ChunkedMacComputationImpl
  - crypto::tink::internal::ChunkedMacVerificationImpl::ChunkedMacVerificationImpl
  - crypto::tink::internal::ChunkedMacImpl::ChunkedMacImpl
  source_file: /src/tink/cc/mac/internal/chunked_mac_impl.h
- function_names:
  - crypto::tink::internal::FakeStatefulMac::FakeStatefulMac
  - crypto::tink::internal::FakeStatefulMac::Update
  - crypto::tink::internal::FakeStatefulMac::Finalize
  - crypto::tink::internal::FakeStatefulMacFactory::FakeStatefulMacFactory
  - crypto::tink::internal::FakeStatefulMacFactory::Create
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::CreateFakeChunkedMac
  - crypto::tink::internal::AddPrimitiveToSet
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST_P
  source_file: /src/tink/cc/mac/internal/chunked_mac_wrapper_test.cc
- function_names:
  - crypto::tink::internal::AddMacV0
  source_file: /src/tink/cc/mac/internal/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/mac/internal/config_v0.h
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_signature_config.h
- function_names:
  - crypto::tink::JwtValidator::JwtValidator
  - '& operator=(const JwtValidator&)'
  - crypto::tink::JwtValidator::JwtValidator
  - '& operator=(JwtValidator&& other)'
  - crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
  - '& operator=(const JwtValidatorBuilder&)'
  - crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
  - '& operator=(JwtValidatorBuilder&& other)'
  source_file: /src/tink/cc/jwt/jwt_validator.h
- function_names: []
  source_file: /src/tink/cc/jwt/jwk_set_converter.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/jwt_validator_test.cc
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_key_templates.h
- function_names:
  - crypto::tink::HasItem
  - crypto::tink::GetStringItem
  - crypto::tink::ExpectStringItem
  - crypto::tink::ValidateUseIsSig
  - crypto::tink::ValidateKeyOpsIsVerify
  - crypto::tink::RsPublicKeyDataFromKeyStruct
  - crypto::tink::PsPublicKeyDataFromKeyStruct
  - crypto::tink::EsPublicKeyDataFromKeyStruct
  - crypto::tink::Sec1EncodeCoordinates
  - crypto::tink::JwkSetToPublicKeysetHandle
  - crypto::tink::AddStringEntry
  - crypto::tink::AddKeyOpsVerifyEntry
  - crypto::tink::EsPublicKeyToKeyStruct
  - crypto::tink::RsPublicKeyToKeyStruct
  - crypto::tink::PsPublicKeyToKeyStruct
  - crypto::tink::JwkSetFromPublicKeysetHandle
  source_file: /src/tink/cc/jwt/jwk_set_converter.cc
- function_names:
  - crypto::tink::RawJwt::RawJwt
  - '& operator=(const RawJwt&)'
  - crypto::tink::RawJwt::RawJwt
  - '& operator=(RawJwt&& other)'
  - crypto::tink::RawJwtBuilder::RawJwtBuilder
  - '& operator=(const RawJwtBuilder&)'
  - crypto::tink::RawJwtBuilder::RawJwtBuilder
  - '& operator=(RawJwtBuilder&& other)'
  source_file: /src/tink/cc/jwt/raw_jwt.h
- function_names:
  - crypto::tink::JwtHmacParameters::JwtHmacParameters
  - '& operator=(const JwtHmacParameters& other)'
  - crypto::tink::JwtHmacParameters::JwtHmacParameters
  - '& operator=(JwtHmacParameters&& other)'
  - crypto::tink::JwtHmacParameters::KeySizeInBytes
  - crypto::tink::JwtHmacParameters::GetKidStrategy
  - crypto::tink::JwtHmacParameters::GetAlgorithm
  - crypto::tink::JwtHmacParameters::AllowKidAbsent
  - crypto::tink::JwtHmacParameters::HasIdRequirement
  - crypto::tink::JwtHmacParameters::JwtHmacParameters
  source_file: /src/tink/cc/jwt/jwt_hmac_parameters.h
- function_names:
  - crypto::tink::NewJwtHmacKeyTemplate
  - crypto::tink::NewJwtEcdsaKeyTemplate
  - crypto::tink::NewJwtRsaSsaPkcs1KeyTemplate
  - crypto::tink::NewJwtRsaSsaPssKeyTemplate
  - crypto::tink::JwtHs256Template
  - crypto::tink::RawJwtHs256Template
  - crypto::tink::JwtHs384Template
  - crypto::tink::RawJwtHs384Template
  - crypto::tink::JwtHs512Template
  - crypto::tink::RawJwtHs512Template
  - crypto::tink::JwtEs256Template
  - crypto::tink::RawJwtEs256Template
  - crypto::tink::JwtEs384Template
  - crypto::tink::RawJwtEs384Template
  - crypto::tink::JwtEs512Template
  - crypto::tink::RawJwtEs512Template
  - crypto::tink::JwtRs256_2048_F4_Template
  - crypto::tink::RawJwtRs256_2048_F4_Template
  - crypto::tink::JwtRs256_3072_F4_Template
  - crypto::tink::RawJwtRs256_3072_F4_Template
  - crypto::tink::JwtRs384_3072_F4_Template
  - crypto::tink::RawJwtRs384_3072_F4_Template
  - crypto::tink::JwtRs512_4096_F4_Template
  - crypto::tink::RawJwtRs512_4096_F4_Template
  - crypto::tink::JwtPs256_2048_F4_Template
  - crypto::tink::RawJwtPs256_2048_F4_Template
  - crypto::tink::JwtPs256_3072_F4_Template
  - crypto::tink::RawJwtPs256_3072_F4_Template
  - crypto::tink::JwtPs384_3072_F4_Template
  - crypto::tink::RawJwtPs384_3072_F4_Template
  - crypto::tink::JwtPs512_4096_F4_Template
  - crypto::tink::RawJwtPs512_4096_F4_Template
  source_file: /src/tink/cc/jwt/jwt_key_templates.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/jwt_hmac_key_test.cc
- function_names:
  - crypto::tink::JwkSetConverterTest::SetUp
  - crypto::tink::TEST_P
  - crypto::tink::JwkSetToPublicKeysetHandleTest::SetUp
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::JwkSetSmallCoordinateConverterTest::SetUp
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/jwk_set_converter_test.cc
- function_names:
  - crypto::tink::JwtValidator::JwtValidator
  - crypto::tink::JwtValidator::ValidateTimestamps
  - crypto::tink::JwtValidator::ValidateTypeHeader
  - crypto::tink::JwtValidator::ValidateIssuer
  - crypto::tink::JwtValidator::ValidateAudiences
  - crypto::tink::JwtValidator::Validate
  - crypto::tink::JwtValidatorBuilder::JwtValidatorBuilder
  - "& JwtValidatorBuilder::ExpectTypeHeader(\n    absl::string_view type_header)"
  - "& JwtValidatorBuilder::ExpectIssuer(\n    absl::string_view issuer)"
  - "& JwtValidatorBuilder::ExpectAudience(\n    absl::string_view audience)"
  - '& JwtValidatorBuilder::IgnoreTypeHeader()'
  - '& JwtValidatorBuilder::IgnoreIssuer()'
  - '& JwtValidatorBuilder::IgnoreAudiences()'
  - '& JwtValidatorBuilder::AllowMissingExpiration()'
  - '& JwtValidatorBuilder::ExpectIssuedInThePast()'
  - "& JwtValidatorBuilder::SetClockSkew(\n    absl::Duration clock_skew)"
  - '& JwtValidatorBuilder::SetFixedNow(absl::Time fixed_now)'
  - crypto::tink::JwtValidatorBuilder::Build
  source_file: /src/tink/cc/jwt/jwt_validator.cc
- function_names:
  - crypto::tink::JwtMacConfigTest::SetUp
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/jwt/jwt_mac_config_test.cc
- function_names:
  - ~JwtPublicKeySign()
  source_file: /src/tink/cc/jwt/jwt_public_key_sign.h
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_hmac_proto_serialization.h
- function_names:
  - ~JwtPublicKeyVerify()
  source_file: /src/tink/cc/jwt/jwt_public_key_verify.h
- function_names:
  - crypto::tink::JwtHmacKey::Builder::Builder
  - '& operator=(const Builder& other)'
  - crypto::tink::JwtHmacKey::Builder::Builder
  - '& operator=(Builder&& other)'
  - crypto::tink::JwtHmacKey::Builder::Builder
  - crypto::tink::JwtHmacKey::JwtHmacKey
  - '& operator=(const JwtHmacKey& other)'
  - crypto::tink::JwtHmacKey::JwtHmacKey
  - '& operator=(JwtHmacKey&& other)'
  - '& GetKeyBytes(PartialKeyAccessToken token) const'
  - '& GetParameters() const override'
  - crypto::tink::JwtHmacKey::GetIdRequirement
  - crypto::tink::JwtHmacKey::GetKid
  - crypto::tink::JwtHmacKey::JwtHmacKey
  source_file: /src/tink/cc/jwt/jwt_hmac_key.h
- function_names:
  - crypto::tink::VerifiedJwt::VerifiedJwt
  - crypto::tink::VerifiedJwt::VerifiedJwt
  - crypto::tink::VerifiedJwt::HasTypeHeader
  - crypto::tink::VerifiedJwt::GetTypeHeader
  - crypto::tink::VerifiedJwt::HasIssuer
  - crypto::tink::VerifiedJwt::GetIssuer
  - crypto::tink::VerifiedJwt::HasSubject
  - crypto::tink::VerifiedJwt::GetSubject
  - crypto::tink::VerifiedJwt::HasAudiences
  - crypto::tink::VerifiedJwt::GetAudiences
  - crypto::tink::VerifiedJwt::HasJwtId
  - crypto::tink::VerifiedJwt::GetJwtId
  - crypto::tink::VerifiedJwt::HasExpiration
  - crypto::tink::VerifiedJwt::GetExpiration
  - crypto::tink::VerifiedJwt::HasNotBefore
  - crypto::tink::VerifiedJwt::GetNotBefore
  - crypto::tink::VerifiedJwt::HasIssuedAt
  - crypto::tink::VerifiedJwt::GetIssuedAt
  - crypto::tink::VerifiedJwt::IsNullClaim
  - crypto::tink::VerifiedJwt::HasBooleanClaim
  - crypto::tink::VerifiedJwt::GetBooleanClaim
  - crypto::tink::VerifiedJwt::HasStringClaim
  - crypto::tink::VerifiedJwt::GetStringClaim
  - crypto::tink::VerifiedJwt::HasNumberClaim
  - crypto::tink::VerifiedJwt::GetNumberClaim
  - crypto::tink::VerifiedJwt::HasJsonObjectClaim
  - crypto::tink::VerifiedJwt::GetJsonObjectClaim
  - crypto::tink::VerifiedJwt::HasJsonArrayClaim
  - crypto::tink::VerifiedJwt::GetJsonArrayClaim
  - crypto::tink::VerifiedJwt::CustomClaimNames
  - crypto::tink::VerifiedJwt::GetJsonPayload
  source_file: /src/tink/cc/jwt/verified_jwt.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/jwt_hmac_parameters_test.cc
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_signature_public_key.h
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_mac_parameters.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/raw_jwt_test.cc
- function_names:
  - ~JwtMac()
  source_file: /src/tink/cc/jwt/jwt_mac.h
- function_names:
  - crypto::tink::IsRegisteredClaimName
  - crypto::tink::ValidatePayloadName
  - crypto::tink::HasClaimOfKind
  - crypto::tink::ClaimIsNotAString
  - crypto::tink::ClaimIsNotAList
  - crypto::tink::ClaimIsNotATimestamp
  - crypto::tink::TimeToTimestamp
  - crypto::tink::TimestampToTime
  - crypto::tink::ValidateAudienceClaim
  - crypto::tink::RawJwt::FromJson
  - crypto::tink::RawJwt::GetJsonPayload
  - crypto::tink::RawJwt::RawJwt
  - crypto::tink::RawJwt::RawJwt
  - crypto::tink::RawJwt::HasTypeHeader
  - crypto::tink::RawJwt::GetTypeHeader
  - crypto::tink::RawJwt::HasIssuer
  - crypto::tink::RawJwt::GetIssuer
  - crypto::tink::RawJwt::HasSubject
  - crypto::tink::RawJwt::GetSubject
  - crypto::tink::RawJwt::HasAudiences
  - crypto::tink::RawJwt::GetAudiences
  - crypto::tink::RawJwt::HasJwtId
  - crypto::tink::RawJwt::GetJwtId
  - crypto::tink::RawJwt::HasExpiration
  - crypto::tink::RawJwt::GetExpiration
  - crypto::tink::RawJwt::HasNotBefore
  - crypto::tink::RawJwt::GetNotBefore
  - crypto::tink::RawJwt::HasIssuedAt
  - crypto::tink::RawJwt::GetIssuedAt
  - crypto::tink::RawJwt::IsNullClaim
  - crypto::tink::RawJwt::HasBooleanClaim
  - crypto::tink::RawJwt::GetBooleanClaim
  - crypto::tink::RawJwt::HasStringClaim
  - crypto::tink::RawJwt::GetStringClaim
  - crypto::tink::RawJwt::HasNumberClaim
  - crypto::tink::RawJwt::GetNumberClaim
  - crypto::tink::RawJwt::HasJsonObjectClaim
  - crypto::tink::RawJwt::GetJsonObjectClaim
  - crypto::tink::RawJwt::HasJsonArrayClaim
  - crypto::tink::RawJwt::GetJsonArrayClaim
  - crypto::tink::RawJwt::CustomClaimNames
  - crypto::tink::RawJwtBuilder::RawJwtBuilder
  - '& RawJwtBuilder::SetTypeHeader(absl::string_view type_header)'
  - '& RawJwtBuilder::SetIssuer(absl::string_view issuer)'
  - '& RawJwtBuilder::SetSubject(absl::string_view subject)'
  - '& RawJwtBuilder::SetAudience(absl::string_view audience)'
  - '& RawJwtBuilder::SetAudiences(std::vector<std::string> audiences)'
  - '& RawJwtBuilder::AddAudience(absl::string_view audience)'
  - '& RawJwtBuilder::SetJwtId(absl::string_view jwid)'
  - '& RawJwtBuilder::WithoutExpiration()'
  - '& RawJwtBuilder::SetExpiration(absl::Time expiration)'
  - '& RawJwtBuilder::SetNotBefore(absl::Time not_before)'
  - '& RawJwtBuilder::SetIssuedAt(absl::Time issued_at)'
  - '& RawJwtBuilder::AddNullClaim(absl::string_view name)'
  - "& RawJwtBuilder::AddBooleanClaim(absl::string_view name,\n                                              bool
    bool_value)"
  - "& RawJwtBuilder::AddStringClaim(absl::string_view name,\n                                             absl::string_view
    string_value)"
  - "& RawJwtBuilder::AddNumberClaim(absl::string_view name,\n                                             double
    double_value)"
  - "& RawJwtBuilder::AddJsonObjectClaim(\n    absl::string_view name, absl::string_view
    object_value)"
  - "& RawJwtBuilder::AddJsonArrayClaim(absl::string_view name,\n                                                absl::string_view
    array_value)"
  - crypto::tink::RawJwtBuilder::Build
  source_file: /src/tink/cc/jwt/raw_jwt.cc
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_signature_parameters.h
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_mac_config.h
- function_names:
  - "& JwtHmacKey::Builder::SetParameters(\n    const JwtHmacParameters& parameters)"
  - "& JwtHmacKey::Builder::SetKeyBytes(\n    const RestrictedData& key_bytes)"
  - '& JwtHmacKey::Builder::SetIdRequirement(int id_requirement)'
  - "& JwtHmacKey::Builder::SetCustomKid(\n    absl::string_view custom_kid)"
  - JwtHmacKey::Builder::ComputeKid()
  - "JwtHmacKey::Builder::Build(\n    PartialKeyAccessToken token)"
  - JwtHmacKey::operator==(const Key& other) const
  source_file: /src/tink/cc/jwt/jwt_hmac_key.cc
- function_names:
  - crypto::tink::JwtMacRegister
  source_file: /src/tink/cc/jwt/jwt_mac_config.cc
- function_names:
  - crypto::tink::JwtSignatureRegister
  source_file: /src/tink/cc/jwt/jwt_signature_config.cc
- function_names:
  - crypto::tink::ToKidStrategy
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::FromProtoAlgorithm
  - crypto::tink::ToProtoAlgorithm
  - crypto::tink::ToParameters
  - crypto::tink::ParseParameters
  - crypto::tink::SerializeParameters
  - crypto::tink::ParseKey
  - crypto::tink::SerializeKey
  - crypto::tink::JwtHmacProtoParametersParser
  - crypto::tink::JwtHmacProtoParametersSerializer
  - crypto::tink::JwtHmacProtoKeyParser
  - crypto::tink::JwtHmacProtoKeySerializer
  - crypto::tink::RegisterJwtHmacProtoSerialization
  source_file: /src/tink/cc/jwt/jwt_hmac_proto_serialization.cc
- function_names:
  - crypto::tink::VerifiedJwt::VerifiedJwt
  - '& operator=(const VerifiedJwt&)'
  source_file: /src/tink/cc/jwt/verified_jwt.h
- function_names:
  - crypto::tink::CreateVerifiedJwt
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/verified_jwt_test.cc
- function_names:
  - crypto::tink::JwtMacKeyTemplatesTest::SetUp
  - crypto::tink::TEST_P
  - crypto::tink::JwtSignatureKeyTemplatesTest::SetUp
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/jwt/jwt_key_templates_test.cc
- function_names:
  - crypto::tink::JwtSignaturePrivateKey::GetKid
  - crypto::tink::JwtSignaturePrivateKey::GetIdRequirement
  - '& GetParameters() const override'
  source_file: /src/tink/cc/jwt/jwt_signature_private_key.h
- function_names:
  - crypto::tink::JwtHmacParameters::Create
  - JwtHmacParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/jwt/jwt_hmac_parameters.cc
- function_names:
  - crypto::tink::JwtSignatureConfigTest::SetUp
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/jwt/jwt_signature_config_test.cc
- function_names: []
  source_file: /src/tink/cc/jwt/jwt_mac_key.h
- function_names:
  - crypto::tink::JwtHmacProtoSerializationTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/jwt/jwt_hmac_proto_serialization_test.cc
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/json_util_test.cc
- function_names:
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::RawJwtEcdsaVerifyKeyManager
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::get_version
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::isValidUrlsafeBase64Char
  - crypto::tink::jwt_internal::StrictWebSafeBase64Unescape
  - crypto::tink::jwt_internal::ValidateKidInHeader
  - crypto::tink::jwt_internal::EncodeHeader
  - crypto::tink::jwt_internal::DecodeHeader
  - crypto::tink::jwt_internal::GetKid
  - crypto::tink::jwt_internal::GetKeyId
  - crypto::tink::jwt_internal::CreateHeader
  - crypto::tink::jwt_internal::ValidateHeader
  - crypto::tink::jwt_internal::GetTypeHeader
  - crypto::tink::jwt_internal::EncodePayload
  - crypto::tink::jwt_internal::DecodePayload
  - crypto::tink::jwt_internal::EncodeSignature
  - crypto::tink::jwt_internal::DecodeSignature
  - crypto::tink::jwt_internal::RawJwtParser::FromJson
  source_file: /src/tink/cc/jwt/internal/jwt_format.cc
- function_names:
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::RawJwtRsaSsaPssVerifyKeyManager
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::get_version
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::JwtPublicKeySignSetWrapper::JwtPublicKeySignSetWrapper
  - ~JwtPublicKeySignSetWrapper() override
  - crypto::tink::jwt_internal::Validate
  - crypto::tink::jwt_internal::JwtPublicKeySignSetWrapper::SignAndEncode
  - crypto::tink::jwt_internal::JwtPublicKeySignWrapper::Wrap
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.cc
- function_names:
  - crypto::tink::jwt_internal::JwtMacImpl::JwtMacImpl
  source_file: /src/tink/cc/jwt/internal/jwt_mac_impl.h
- function_names: []
  source_file: /src/tink/cc/jwt/internal/jwt_mac_wrapper.h
- function_names:
  - crypto::tink::jwt_internal::JsonStringToProtoStruct
  - crypto::tink::jwt_internal::JsonStringToProtoList
  - crypto::tink::jwt_internal::ProtoStructToJsonString
  - crypto::tink::jwt_internal::ProtoListToJsonString
  source_file: /src/tink/cc/jwt/internal/json_util.cc
- function_names:
  - crypto::tink::jwt_internal::createTemplate
  - crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
  - crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
  - crypto::tink::jwt_internal::JwtMacWrapperTest::SetUp
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  source_file: /src/tink/cc/jwt/internal/jwt_mac_wrapper_test.cc
- function_names:
  - crypto::tink::jwt_internal::CreateTemplate
  - crypto::tink::jwt_internal::KeysetHandleWithNewKeyId
  - crypto::tink::jwt_internal::KeysetHandleWithTinkPrefix
  - crypto::tink::jwt_internal::JwtPublicKeyWrappersTest::SetUp
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_wrappers_test.cc
- function_names: []
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_sign_wrapper.h
- function_names:
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::RawJwtRsaSsaPssSignKeyManager
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::get_version
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::GetPublicKey
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::JwtPublicKeyVerifyImpl::VerifyAndDecodeWithKid
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.cc
- function_names: []
  source_file: /src/tink/cc/jwt/internal/jwt_format.h
- function_names:
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::CreateKey
  - "RawJwtEcdsaSignKeyManager::PublicKeySignFactory::Create(\n    const JwtEcdsaPrivateKey&
    jwt_ecdsa_private_key) const"
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::ValidateKey
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::ValidKeyFormat
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager_test.cc
- function_names:
  - "JwtRsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n    const JwtRsaSsaPssPrivateKey&
    jwt_rsa_ssa_pss_private_key) const"
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::get_version
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::key_material_type
  - '& JwtRsaSsaPssSignKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::CreateKey
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::ValidateKeyFormat
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::GetPublicKey
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.cc
- function_names:
  - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::JwtEcdsaVerifyKeyManager
  - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::JwtPublicKeyVerifySetWrapper::JwtPublicKeyVerifySetWrapper
  - ~JwtPublicKeyVerifySetWrapper() override
  - crypto::tink::jwt_internal::Validate
  - crypto::tink::jwt_internal::JwtPublicKeyVerifySetWrapper::VerifyAndDecode
  - crypto::tink::jwt_internal::JwtPublicKeyVerifyWrapper::Wrap
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.cc
- function_names:
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::JwtEcdsaSignKeyManager
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/jwt_format_test.cc
- function_names:
  - "JwtRsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const JwtRsaSsaPkcs1PublicKey&
    jwt_rsa_ssa_pkcs1_public_key) const"
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::get_version
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::key_material_type
  - '& JwtRsaSsaPkcs1VerifyKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::AlgorithmName
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.cc
- function_names: []
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_verify_wrapper.h
- function_names:
  - crypto::tink::RsaPrivateKeySubtleToProto
  - crypto::tink::RsaPrivateKeyProtoToSubtle
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::CreateKey
  - "RawJwtRsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n    const JwtRsaSsaPkcs1PrivateKey&
    private_key) const"
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::ValidateKey
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.cc
- function_names:
  - crypto::tink::jwt_internal::JwtMacImpl::ComputeMacAndEncodeWithKid
  - crypto::tink::jwt_internal::JwtMacImpl::VerifyMacAndDecodeWithKid
  source_file: /src/tink/cc/jwt/internal/jwt_mac_impl.cc
- function_names:
  - "JwtEcdsaSignKeyManager::PublicKeySignFactory::Create(\n    const JwtEcdsaPrivateKey&
    jwt_ecdsa_private_key) const"
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::get_version
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::key_material_type
  - '& JwtEcdsaSignKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::CreateKey
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::ValidateKeyFormat
  - crypto::tink::jwt_internal::JwtEcdsaSignKeyManager::GetPublicKey
  source_file: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_key_manager.cc
- function_names:
  - "JwtRsaSsaPkcs1SignKeyManager::PublicKeySignFactory::Create(\n    const JwtRsaSsaPkcs1PrivateKey&
    jwt_rsa_ssa_pkcs1_private_key) const"
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::get_version
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::key_material_type
  - '& JwtRsaSsaPkcs1SignKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::CreateKey
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::ValidateKeyFormat
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::GetPublicKey
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.cc
- function_names:
  - "RawJwtRsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const JwtRsaSsaPssPublicKey&
    rsa_ssa_pss_public_key) const"
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateKey
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::ValidateAlgorithm
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::HashForPssAlgorithm
  - crypto::tink::RawJwtRsaSsaPssVerifyKeyManager::SaltLengthForPssAlgorithm
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager.cc
- function_names:
  - "JwtEcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const JwtEcdsaPublicKey&
    jwt_ecdsa_public_key) const"
  - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::get_version
  - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::key_material_type
  - '& JwtEcdsaVerifyKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtEcdsaVerifyKeyManager::AlgorithmName
  source_file: /src/tink/cc/jwt/internal/jwt_ecdsa_verify_key_manager.cc
- function_names:
  - "RawJwtRsaSsaPkcs1VerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const
    JwtRsaSsaPkcs1PublicKey& jwt_rsa_ssa_pkcs1_public_key) const"
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateKey
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::ValidateAlgorithm
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::HashForPkcs1Algorithm
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.cc
- function_names:
  - ~JwtMacInternal()
  source_file: /src/tink/cc/jwt/internal/jwt_mac_internal.h
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/jwt_ecdsa_sign_verify_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::JwtHmacKeyManager::JwtMacFactory::Create
  - crypto::tink::jwt_internal::JwtHmacKeyManager::JwtHmacKeyManager
  - crypto::tink::jwt_internal::JwtHmacKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::MinimumKeySize
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::CreateKey
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::DeriveKey
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::ValidateKey
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.cc
- function_names:
  - crypto::tink::jwt_internal::JwtSignatureImplTest::SetUp
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  - crypto::tink::jwt_internal::TEST_F
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_sign_verify_impl_test.cc
- function_names:
  - crypto::tink::jwt_internal::CreateJwtMac
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/jwt_mac_impl_test.cc
- function_names:
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::RawJwtRsaSsaPkcs1SignKeyManager
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::get_version
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::GetPublicKey
  - crypto::tink::RawJwtRsaSsaPkcs1SignKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_verify_key_manager_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CheckNewKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_sign_key_manager_test.cc
- function_names:
  - crypto::tink::RsaPrivateKeySubtleToProto
  - crypto::tink::RsaPrivateKeyProtoToSubtle
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::CreateKey
  - "RawJwtRsaSsaPssSignKeyManager::PublicKeySignFactory::Create(\n    const JwtRsaSsaPssPrivateKey&
    private_key) const"
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::ValidateKey
  - crypto::tink::RawJwtRsaSsaPssSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager.cc
- function_names:
  - crypto::tink::jwt_internal::JwtPublicKeySignImpl::JwtPublicKeySignImpl
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.h
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/jwt_hmac_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::CreateKeyFormat
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_verify_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::CreateValidEs256KeyFormat
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::CreateValidEs256Key
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::JwtPublicKeyVerifyImpl::JwtPublicKeyVerifyImpl
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_verify_impl.h
- function_names:
  - crypto::tink::jwt_internal::JwtMacSetWrapper::JwtMacSetWrapper
  - ~JwtMacSetWrapper() override
  - crypto::tink::jwt_internal::Validate
  - crypto::tink::jwt_internal::JwtMacSetWrapper::ComputeMacAndEncode
  - crypto::tink::jwt_internal::JwtMacSetWrapper::VerifyMacAndDecode
  - crypto::tink::jwt_internal::JwtMacWrapper::Wrap
  source_file: /src/tink/cc/jwt/internal/jwt_mac_wrapper.cc
- function_names:
  - crypto::tink::jwt_internal::JwtPublicKeySignImpl::SignAndEncodeWithKid
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_sign_impl.cc
- function_names:
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::RawJwtRsaSsaPkcs1VerifyKeyManager
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::get_version
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::RawJwtRsaSsaPkcs1VerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pkcs1_verify_key_manager.h
- function_names:
  - ~JwtPublicKeyVerifyInternal()
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_verify_internal.h
- function_names:
  - ~JwtPublicKeySignInternal()
  source_file: /src/tink/cc/jwt/internal/jwt_public_key_sign_internal.h
- function_names:
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::MacFactory::Create
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::RawJwtHmacKeyManager
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::get_version
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::jwt_internal::RawJwtHmacKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager.h
- function_names:
  - "RawJwtEcdsaVerifyKeyManager::PublicKeyVerifyFactory::Create(\n      const JwtEcdsaPublicKey&
    jwt_ecdsa_public_key) const"
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::CurveForEcdsaAlgorithm
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::HashForEcdsaAlgorithm
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateAlgorithm
  - crypto::tink::jwt_internal::RawJwtEcdsaVerifyKeyManager::ValidateKey
  source_file: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager.cc
- function_names:
  - "JwtRsaSsaPssVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const JwtRsaSsaPssPublicKey&
    jwt_rsa_ssa_pss_public_key) const"
  - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::get_version
  - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::key_material_type
  - '& JwtRsaSsaPssVerifyKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::AlgorithmName
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.cc
- function_names: []
  source_file: /src/tink/cc/jwt/internal/json_util.h
- function_names:
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::RawJwtEcdsaSignKeyManager
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::get_version
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::GetPublicKey
  - crypto::tink::jwt_internal::RawJwtEcdsaSignKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_sign_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::JwtRsaSsaPssVerifyKeyManager
  - crypto::tink::jwt_internal::JwtRsaSsaPssVerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_verify_key_manager.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::CreateKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CheckNewKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_rsa_ssa_pss_sign_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::CreateKeyFormat
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_verify_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::JwtHmacKeyManager::get_version
  - crypto::tink::jwt_internal::JwtHmacKeyManager::key_material_type
  - '& JwtHmacKeyManager::get_key_type() const'
  - crypto::tink::jwt_internal::JwtHmacKeyManager::CreateKey
  - crypto::tink::jwt_internal::JwtHmacKeyManager::DeriveKey
  - crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKey
  - crypto::tink::jwt_internal::JwtHmacKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/jwt/internal/jwt_hmac_key_manager.cc
- function_names:
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::JwtRsaSsaPkcs1SignKeyManager
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1SignKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_sign_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::JwtRsaSsaPkcs1VerifyKeyManager
  - crypto::tink::jwt_internal::JwtRsaSsaPkcs1VerifyKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pkcs1_verify_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::CreateValidEs256PrivateKey
  - crypto::tink::jwt_internal::CreateValidPublicKey
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_ecdsa_verify_key_manager_test.cc
- function_names:
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::JwtRsaSsaPssSignKeyManager
  - crypto::tink::jwt_internal::JwtRsaSsaPssSignKeyManager::FipsStatus
  source_file: /src/tink/cc/jwt/internal/jwt_rsa_ssa_pss_sign_key_manager.h
- function_names:
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  - crypto::tink::jwt_internal::TEST
  source_file: /src/tink/cc/jwt/internal/raw_jwt_hmac_key_manager_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/streamingaead/streaming_aead_key_templates_test.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/streaming_aead_key_templates.h
- function_names:
  - crypto::tink::ValidateParams
  - crypto::tink::AesCtrHmacStreamingKeyManager::CreateKey
  - crypto::tink::AesCtrHmacStreamingKeyManager::DeriveKey
  - crypto::tink::AesCtrHmacStreamingKeyManager::ValidateKey
  - crypto::tink::AesCtrHmacStreamingKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.cc
- function_names:
  - crypto::tink::streamingaead::SharedInputStream::SharedInputStream
  - ~SharedInputStream() override
  - crypto::tink::streamingaead::SharedInputStream::Next
  - crypto::tink::streamingaead::SharedInputStream::BackUp
  - crypto::tink::streamingaead::SharedInputStream::Position
  source_file: /src/tink/cc/streamingaead/shared_input_stream.h
- function_names:
  - crypto::tink::streamingaead::GetInputStream
  - crypto::tink::streamingaead::ReadFromStream
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  source_file: /src/tink/cc/streamingaead/buffered_input_stream_test.cc
- function_names:
  - ~DecryptingRandomAccessStream() override
  - crypto::tink::streamingaead::DecryptingRandomAccessStream::DecryptingRandomAccessStream
  source_file: /src/tink/cc/streamingaead/decrypting_random_access_stream.h
- function_names:
  - crypto::tink::StreamingAeadConfig::Register
  source_file: /src/tink/cc/streamingaead/streaming_aead_config.cc
- function_names:
  - crypto::tink::streamingaead::BufferedInputStream::BufferedInputStream
  - crypto::tink::streamingaead::BufferedInputStream::Next
  - crypto::tink::streamingaead::BufferedInputStream::BackUp
  - crypto::tink::streamingaead::BufferedInputStream::DisableRewinding
  - crypto::tink::streamingaead::BufferedInputStream::Rewind
  - BufferedInputStream::~BufferedInputStream()
  - crypto::tink::streamingaead::BufferedInputStream::Position
  source_file: /src/tink/cc/streamingaead/buffered_input_stream.cc
- function_names:
  - crypto::tink::streamingaead::TEST
  source_file: /src/tink/cc/streamingaead/shared_random_access_stream_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager_test.cc
- function_names:
  - crypto::tink::KeyGenConfigStreamingAeadV0
  source_file: /src/tink/cc/streamingaead/key_gen_config_v0.cc
- function_names:
  - crypto::tink::AesCtrHmacStreamingKeyManager::StreamingAeadFactory::Create
  - crypto::tink::AesCtrHmacStreamingKeyManager::AesCtrHmacStreamingKeyManager
  - crypto::tink::AesCtrHmacStreamingKeyManager::get_version
  - crypto::tink::AesCtrHmacStreamingKeyManager::key_material_type
  - '& get_key_type() const override'
  - ~AesCtrHmacStreamingKeyManager() override
  source_file: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager.h
- function_names:
  - crypto::tink::StreamingAeadConfig::StreamingAeadConfig
  source_file: /src/tink/cc/streamingaead/streaming_aead_config.h
- function_names:
  - crypto::tink::streamingaead::GetInputStream
  - crypto::tink::streamingaead::GetCiphertextSource
  - crypto::tink::streamingaead::GetTestStreamingAeadSet
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  source_file: /src/tink/cc/streamingaead/decrypting_input_stream_test.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/key_gen_config_v0.h
- function_names:
  - crypto::tink::AesGcmHkdfStreamingKeyManager::AesGcmHkdfStreamingKeyManagerFactory::Create
  - crypto::tink::AesGcmHkdfStreamingKeyManager::AesGcmHkdfStreamingKeyManager
  - crypto::tink::AesGcmHkdfStreamingKeyManager::get_version
  - crypto::tink::AesGcmHkdfStreamingKeyManager::key_material_type
  - '& get_key_type() const override'
  - ~AesGcmHkdfStreamingKeyManager() override
  source_file: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.h
- function_names:
  - crypto::tink::streamingaead::DecryptingRandomAccessStream::New
  - crypto::tink::streamingaead::DecryptingRandomAccessStream::PRead
  - crypto::tink::streamingaead::DecryptingRandomAccessStream::GetMatchedStream
  - crypto::tink::streamingaead::DecryptingRandomAccessStream::size
  source_file: /src/tink/cc/streamingaead/decrypting_random_access_stream.cc
- function_names:
  - crypto::tink::streamingaead::GetInputStream
  - crypto::tink::streamingaead::ReadFromStream
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  source_file: /src/tink/cc/streamingaead/shared_input_stream_test.cc
- function_names:
  - crypto::tink::ValidateParams
  - crypto::tink::AesGcmHkdfStreamingKeyManager::CreateKey
  - crypto::tink::AesGcmHkdfStreamingKeyManager::DeriveKey
  - crypto::tink::AesGcmHkdfStreamingKeyManager::ValidateKey
  - crypto::tink::AesGcmHkdfStreamingKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/streamingaead/aes_gcm_hkdf_streaming_key_manager.cc
- function_names:
  - crypto::tink::GetTestStreamingAeadSet
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/streamingaead/streaming_aead_wrapper_test.cc
- function_names:
  - ~DecryptingInputStream() override
  - crypto::tink::streamingaead::DecryptingInputStream::DecryptingInputStream
  source_file: /src/tink/cc/streamingaead/decrypting_input_stream.h
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/streamingaead/aes_ctr_hmac_streaming_key_manager_test.cc
- function_names:
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/streamingaead/config_v0_test.cc
- function_names:
  - crypto::tink::streamingaead::SharedRandomAccessStream::SharedRandomAccessStream
  - ~SharedRandomAccessStream() override
  - crypto::tink::streamingaead::SharedRandomAccessStream::PRead
  - crypto::tink::streamingaead::SharedRandomAccessStream::size
  source_file: /src/tink/cc/streamingaead/shared_random_access_stream.h
- function_names:
  - crypto::tink::Validate
  - crypto::tink::StreamingAeadSetWrapper::StreamingAeadSetWrapper
  - ~StreamingAeadSetWrapper() override
  - crypto::tink::StreamingAeadSetWrapper::NewEncryptingStream
  - crypto::tink::StreamingAeadSetWrapper::NewDecryptingStream
  - crypto::tink::StreamingAeadSetWrapper::NewDecryptingRandomAccessStream
  - crypto::tink::StreamingAeadWrapper::Wrap
  source_file: /src/tink/cc/streamingaead/streaming_aead_wrapper.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/buffered_input_stream.h
- function_names:
  - crypto::tink::StreamingAeadConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/streamingaead/streaming_aead_config_test.cc
- function_names:
  - crypto::tink::ConfigStreamingAeadV0
  source_file: /src/tink/cc/streamingaead/config_v0.cc
- function_names:
  - crypto::tink::NewAesGcmHkdfStreamingKeyTemplate
  - crypto::tink::NewAesCtrHmacStreamingKeyTemplate
  - '& StreamingAeadKeyTemplates::Aes128GcmHkdf4KB()'
  - '& StreamingAeadKeyTemplates::Aes256GcmHkdf4KB()'
  - '& StreamingAeadKeyTemplates::Aes256GcmHkdf1MB()'
  - '& StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment4KB()'
  - '& StreamingAeadKeyTemplates::Aes128CtrHmacSha256Segment1MB()'
  - '& StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment4KB()'
  - '& StreamingAeadKeyTemplates::Aes256CtrHmacSha256Segment1MB()'
  source_file: /src/tink/cc/streamingaead/streaming_aead_key_templates.cc
- function_names:
  - crypto::tink::streamingaead::DecryptingInputStream::New
  - crypto::tink::streamingaead::DecryptingInputStream::Next
  - crypto::tink::streamingaead::DecryptingInputStream::BackUp
  - crypto::tink::streamingaead::DecryptingInputStream::Position
  source_file: /src/tink/cc/streamingaead/decrypting_input_stream.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/config_v0.h
- function_names:
  - crypto::tink::streamingaead::GetCiphertextSource
  - crypto::tink::streamingaead::GetTestStreamingAeadSet
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  - crypto::tink::streamingaead::TEST
  source_file: /src/tink/cc/streamingaead/decrypting_random_access_stream_test.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/streaming_aead_wrapper.h
- function_names:
  - crypto::tink::internal::AddStreamingAeadKeyGenV0
  source_file: /src/tink/cc/streamingaead/internal/key_gen_config_v0.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/internal/key_gen_config_v0.h
- function_names:
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  - crypto::tink::internal::TEST
  source_file: /src/tink/cc/streamingaead/internal/config_v0_test.cc
- function_names:
  - crypto::tink::internal::AddStreamingAeadV0
  source_file: /src/tink/cc/streamingaead/internal/config_v0.cc
- function_names: []
  source_file: /src/tink/cc/streamingaead/internal/config_v0.h
- function_names:
  - crypto::tink::Cecpq2HybridConfigRegister
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.cc
- function_names:
  - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::HybridEncryptFactory::Create
  - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::Cecpq2AeadHkdfPublicKeyManager
  - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::get_version
  - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.h
- function_names:
  - crypto::tink::Cecpq2HybridKeyTemplatesTest::SetUpTestSuite
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates_test.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreatePublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager_test.cc
- function_names:
  - ~Cecpq2AeadHkdfDemHelper()
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.h
- function_names:
  - crypto::tink::EncryptThenDecrypt
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper_test.cc
- function_names:
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::ValidateKeyFormat
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::CreateKey
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::GetPublicKey
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::ValidateKey
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.cc
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config.h
- function_names:
  - crypto::tink::NewCecpq2AeadHkdfKeyTemplate
  - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256Aes256Gcm
  - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256XChaCha20Poly1305
  - crypto::tink::Cecpq2HybridKeyTemplateX25519HkdfHmacSha256DeterministicAesSiv
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.cc
- function_names:
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::HybridDecryptFactory::Create
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::Cecpq2AeadHkdfPrivateKeyManager
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::get_version
  - crypto::tink::Cecpq2AeadHkdfPrivateKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager.h
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_key_templates.h
- function_names:
  - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::ValidateParams
  - crypto::tink::Cecpq2AeadHkdfPublicKeyManager::ValidateKey
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_public_key_manager.cc
- function_names:
  - crypto::tink::Cecpq2AeadHkdfDemHelperImpl::Cecpq2AeadHkdfDemHelperImpl
  - crypto::tink::Cecpq2AeadHkdfDemHelperImpl::GetAeadOrDaead
  - crypto::tink::Cecpq2AeadHkdfDemHelperImpl::GetKeyMaterialSize
  - crypto::tink::Cecpq2AeadHkdfDemHelper::New
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_dem_helper.cc
- function_names:
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::CreateValidKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_aead_hkdf_private_key_manager_test.cc
- function_names:
  - crypto::tink::Cecpq2HybridConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/kem/cecpq2_hybrid_config_test.cc
- function_names:
  - crypto::tink::CreateValidKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt_test.cc
- function_names:
  - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::New
  - crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::Cecpq2HkdfX25519SenderKemBoringSsl
  - crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::New
  - crypto::tink::subtle::Cecpq2HkdfX25519SenderKemBoringSsl::GenerateKey
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::New
  - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::Decrypt
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl_test.cc
- function_names:
  - crypto::tink::Cecpq2AeadHkdfHybridDecryptTest::GetCommonHybridKeyParamsList
  - crypto::tink::Cecpq2AeadHkdfHybridDecryptTest::CheckKeyValidity
  - crypto::tink::CreateValidKey
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt_test.cc
- function_names:
  - crypto::tink::pqc::TEST
  - crypto::tink::pqc::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util_test.cc
- function_names:
  - crypto::tink::pqc::GenerateHrssKeyPair
  - crypto::tink::pqc::GenerateCecpq2Keypair
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.cc
- function_names:
  - crypto::tink::Validate
  - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::New
  - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::Encrypt
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.cc
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_subtle_boringssl_util.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl_test.cc
- function_names:
  - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::KemKey::KemKey
  - crypto::tink::subtle::Cecpq2HkdfSenderKemBoringSsl::KemKey::KemKey
  - '& get_kem_bytes() const'
  - '& get_symmetric_key() const'
  - ~Cecpq2HkdfSenderKemBoringSsl()
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_sender_kem_boringssl.h
- function_names:
  - ~Cecpq2HkdfRecipientKemBoringSsl()
  - crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::Cecpq2HkdfX25519RecipientKemBoringSsl
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.h
- function_names:
  - crypto::tink::subtle::Cecpq2HkdfRecipientKemBoringSsl::New
  - crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::New
  - crypto::tink::subtle::Cecpq2HkdfX25519RecipientKemBoringSsl::GenerateKey
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_hkdf_recipient_kem_boringssl.cc
- function_names:
  - crypto::tink::Cecpq2AeadHkdfHybridEncrypt::Cecpq2AeadHkdfHybridEncrypt
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_encrypt.h
- function_names:
  - crypto::tink::Cecpq2AeadHkdfHybridDecrypt::Cecpq2AeadHkdfHybridDecrypt
  source_file: /src/tink/cc/experimental/pqcrypto/kem/subtle/cecpq2_aead_hkdf_hybrid_decrypt.h
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.h
- function_names:
  - crypto::tink::GetCommonHybridKeyParamsList
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/kem/util/test_util_test.cc
- function_names:
  - crypto::tink::test::GetCecpq2AeadHkdfTestKey
  - crypto::tink::test::GetCecpq2AesGcmHkdfTestKey
  - crypto::tink::test::GetCecpq2AesCtrHmacHkdfTestKey
  - crypto::tink::test::GetCecpq2XChaCha20Poly1305HkdfTestKey
  source_file: /src/tink/cc/experimental/pqcrypto/kem/util/test_util.cc
- function_names:
  - crypto::tink::FalconSignKeyManager::FalconSignKeyManager
  - crypto::tink::FalconSignKeyManager::get_version
  - crypto::tink::FalconSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::FalconSignKeyManager::GetPublicKey
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.h
- function_names:
  - "SphincsVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const SphincsPublicKey&
    public_key) const"
  - crypto::tink::SphincsVerifyKeyManager::ValidateKey
  - crypto::tink::SphincsVerifyKeyManager::ValidateParams
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.cc
- function_names:
  - crypto::tink::SlhDsaProtoSerializationTest::SlhDsaProtoSerializationTest
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_P
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization_test.cc
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.h
- function_names:
  - crypto::tink::NewSphincsKeyTemplate
  - crypto::tink::Sphincs_Haraka_128_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Haraka_128_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Haraka_128_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Haraka_128_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Haraka_192_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Haraka_192_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Haraka_192_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Haraka_192_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Haraka_256_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Haraka_256_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Haraka_256_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Haraka_256_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Sha256_128_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Sha256_128_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Sha256_128_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Sha256_128_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Sha256_192_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Sha256_192_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Sha256_192_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Sha256_192_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Sha256_256_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Sha256_256_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Sha256_256_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Sha256_256_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Shake256_128_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Shake256_128_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Shake256_128_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Shake256_128_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Shake256_192_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Shake256_192_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Shake256_192_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Shake256_192_S_Simple_KeyTemplate
  - crypto::tink::Sphincs_Shake256_256_F_Robust_KeyTemplate
  - crypto::tink::Sphincs_Shake256_256_F_Simple_KeyTemplate
  - crypto::tink::Sphincs_Shake256_256_S_Robust_KeyTemplate
  - crypto::tink::Sphincs_Shake256_256_S_Simple_KeyTemplate
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template.cc
- function_names:
  - crypto::tink::PcqSignatureConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/signature/signature_config_test.cc
- function_names:
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters_test.cc
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/signature/signature_config.h
- function_names:
  - crypto::tink::SphincsSignKeyManager::SphincsSignKeyManager
  - crypto::tink::SphincsSignKeyManager::get_version
  - crypto::tink::SphincsSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::SphincsSignKeyManager::GetPublicKey
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.h
- function_names:
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager_test.cc
- function_names:
  - crypto::tink::PqSignatureConfigRegister
  source_file: /src/tink/cc/experimental/pqcrypto/signature/signature_config.cc
- function_names:
  - crypto::tink::NewFalconKeyTemplate
  - crypto::tink::Falcon512KeyTemplate
  - crypto::tink::Falcon1024KeyTemplate
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.cc
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.h
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.h
- function_names:
  - crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
  - '& operator=(const SlhDsaPublicKey& other)'
  - crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
  - '& operator=(SlhDsaPublicKey&& other)'
  - crypto::tink::SlhDsaPublicKey::GetPublicKeyBytes
  - crypto::tink::SlhDsaPublicKey::GetOutputPrefix
  - '& GetParameters() const override'
  - crypto::tink::SlhDsaPublicKey::GetIdRequirement
  - crypto::tink::SlhDsaPublicKey::SlhDsaPublicKey
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template_test.cc
- function_names:
  - crypto::tink::SlhDsaParameters::SlhDsaParameters
  - '& operator=(const SlhDsaParameters& other)'
  - crypto::tink::SlhDsaParameters::SlhDsaParameters
  - '& operator=(SlhDsaParameters&& other)'
  - crypto::tink::SlhDsaParameters::GetHashType
  - crypto::tink::SlhDsaParameters::GetPrivateKeySizeInBytes
  - crypto::tink::SlhDsaParameters::GetSignatureType
  - crypto::tink::SlhDsaParameters::GetVariant
  - crypto::tink::SlhDsaParameters::HasIdRequirement
  - crypto::tink::SlhDsaParameters::SlhDsaParameters
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.h
- function_names:
  - "DilithiumVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const DilithiumPublicKey&
    public_key) const"
  - crypto::tink::DilithiumVerifyKeyManager::ValidateKey
  - crypto::tink::DilithiumVerifyKeyManager::ValidateParams
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.cc
- function_names:
  - crypto::tink::DilithiumSignKeyManager::DilithiumSignKeyManager
  - crypto::tink::DilithiumSignKeyManager::get_version
  - crypto::tink::DilithiumSignKeyManager::key_material_type
  - '& get_key_type() const override'
  - crypto::tink::DilithiumSignKeyManager::GetPublicKey
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.h
- function_names:
  - crypto::tink::ComputeOutputPrefix
  - crypto::tink::SlhDsaPublicKey::Create
  - SlhDsaPublicKey::operator==(const Key& other) const
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key.cc
- function_names:
  - crypto::tink::ToVariant
  - crypto::tink::ToOutputPrefixType
  - crypto::tink::ToHashType
  - crypto::tink::ToProtoHashType
  - crypto::tink::ToSignatureType
  - crypto::tink::ToProtoSignatureType
  - crypto::tink::ToParameters
  - crypto::tink::FromParameters
  - crypto::tink::ParseParameters
  - crypto::tink::ParsePublicKey
  - crypto::tink::ParsePrivateKey
  - crypto::tink::SerializeParameters
  - crypto::tink::SerializePublicKey
  - crypto::tink::SerializePrivateKey
  - crypto::tink::SlhDsaProtoParametersParser
  - crypto::tink::SlhDsaProtoParametersSerializer
  - crypto::tink::SlhDsaProtoPublicKeyParser
  - crypto::tink::SlhDsaProtoPublicKeySerializer
  - crypto::tink::SlhDsaProtoPrivateKeyParser
  - crypto::tink::SlhDsaProtoPrivateKeySerializer
  - crypto::tink::RegisterSlhDsaProtoSerialization
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_proto_serialization.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key_test.cc
- function_names:
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager_test.cc
- function_names:
  - crypto::tink::DilithiumSignKeyManager::CreateKey
  - "DilithiumSignKeyManager::PublicKeySignFactory::Create(\n    const DilithiumPrivateKey&
    private_key) const"
  - crypto::tink::DilithiumSignKeyManager::ValidateKey
  - crypto::tink::DilithiumSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager.cc
- function_names:
  - crypto::tink::CreateValidPrivateKey
  - crypto::tink::CreateValidPublicKey
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager_test.cc
- function_names:
  - crypto::tink::NewDilithiumKeyTemplate
  - crypto::tink::Dilithium2KeyTemplate
  - crypto::tink::Dilithium3KeyTemplate
  - crypto::tink::Dilithium5KeyTemplate
  - crypto::tink::Dilithium2AesKeyTemplate
  - crypto::tink::Dilithium3AesKeyTemplate
  - crypto::tink::Dilithium5AesKeyTemplate
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_key_template.cc
- function_names:
  - crypto::tink::DilithiumVerifyKeyManager::DilithiumVerifyKeyManager
  - crypto::tink::DilithiumVerifyKeyManager::get_version
  - crypto::tink::DilithiumVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_verify_key_manager.h
- function_names:
  - crypto::tink::PcqSignatureConfigTest::SetUp
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/signature/signature_config_util_test.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template_test.cc
- function_names:
  - "FalconVerifyKeyManager::PublicKeyVerifyFactory::Create(\n    const FalconPublicKey&
    public_key) const"
  - crypto::tink::FalconVerifyKeyManager::ValidateKey
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.cc
- function_names:
  - crypto::tink::SlhDsaParameters::Create
  - SlhDsaParameters::operator==(const Parameters& other) const
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_parameters.cc
- function_names:
  - crypto::tink::SphincsVerifyKeyManager::SphincsVerifyKeyManager
  - crypto::tink::SphincsVerifyKeyManager::get_version
  - crypto::tink::SphincsVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_verify_key_manager.h
- function_names:
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/dilithium_sign_key_manager_test.cc
- function_names:
  - crypto::tink::FalconSignKeyManager::CreateKey
  - "FalconSignKeyManager::PublicKeySignFactory::Create(\n    const FalconPrivateKey&
    private_key) const"
  - crypto::tink::FalconSignKeyManager::ValidateKey
  - crypto::tink::FalconSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager.cc
- function_names:
  - crypto::tink::CreateValidKeyFormat
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_sign_key_manager_test.cc
- function_names:
  - crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
  - '& operator=(const SlhDsaPrivateKey& other)'
  - crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
  - '& operator=(SlhDsaPrivateKey&& other)'
  - '& GetPrivateKeyBytes(PartialKeyAccessToken token) const'
  - '& GetPublicKey() const override'
  - crypto::tink::SlhDsaPrivateKey::SlhDsaPrivateKey
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.h
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_key_template.h
- function_names:
  - crypto::tink::SphincsSignKeyManager::CreateKey
  - "SphincsSignKeyManager::PublicKeySignFactory::Create(\n    const SphincsPrivateKey&
    private_key) const"
  - crypto::tink::SphincsSignKeyManager::ValidateKey
  - crypto::tink::SphincsSignKeyManager::ValidateKeyFormat
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_sign_key_manager.cc
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST
  - crypto::tink::TEST_P
  - crypto::tink::TEST
  - crypto::tink::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_public_key_test.cc
- function_names:
  - crypto::tink::SlhDsaPrivateKey::Create
  - SlhDsaPrivateKey::operator==(const Key& other) const
  source_file: /src/tink/cc/experimental/pqcrypto/signature/slh_dsa_private_key.cc
- function_names:
  - crypto::tink::FalconVerifyKeyManager::FalconVerifyKeyManager
  - crypto::tink::FalconVerifyKeyManager::get_version
  - crypto::tink::FalconVerifyKeyManager::key_material_type
  - '& get_key_type() const override'
  source_file: /src/tink/cc/experimental/pqcrypto/signature/falcon_verify_key_manager.h
- function_names:
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  - crypto::tink::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/sphincs_key_template_test.cc
- function_names:
  - crypto::tink::subtle::FalconPrivateKeyPqclean::FalconPrivateKeyPqclean
  - '& operator=(const FalconPrivateKeyPqclean& other)'
  - '& GetKey() const'
  - crypto::tink::subtle::FalconPrivateKeyPqclean::FalconPrivateKeyPqclean
  - crypto::tink::subtle::FalconPublicKeyPqclean::FalconPublicKeyPqclean
  - '& operator=(const FalconPublicKeyPqclean& other)'
  - '& GetKey() const'
  - crypto::tink::subtle::FalconPublicKeyPqclean::FalconPublicKeyPqclean
  - crypto::tink::subtle::FalconKeyPair::FalconKeyPair
  - crypto::tink::subtle::FalconKeyPair::FalconKeyPair
  - '& operator=(const FalconKeyPair& other)'
  - '& GetPrivateKey() const'
  - '& GetPublicKey() const'
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.h
- function_names:
  - crypto::tink::subtle::SphincsHaraka128FRobustPqclean::SphincsHaraka128FRobustPqclean
  - ~SphincsHaraka128FRobustPqclean() override
  - crypto::tink::subtle::SphincsHaraka128FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsHaraka128FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsHaraka128FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka128SRobustPqclean::SphincsHaraka128SRobustPqclean
  - ~SphincsHaraka128SRobustPqclean() override
  - crypto::tink::subtle::SphincsHaraka128SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsHaraka128SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsHaraka128SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka128FSimplePqclean::SphincsHaraka128FSimplePqclean
  - ~SphincsHaraka128FSimplePqclean() override
  - crypto::tink::subtle::SphincsHaraka128FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsHaraka128FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsHaraka128FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka128SSimplePqclean::SphincsHaraka128SSimplePqclean
  - ~SphincsHaraka128SSimplePqclean() override
  - crypto::tink::subtle::SphincsHaraka128SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsHaraka128SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsHaraka128SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka192FRobustPqclean::SphincsHaraka192FRobustPqclean
  - ~SphincsHaraka192FRobustPqclean() override
  - crypto::tink::subtle::SphincsHaraka192FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsHaraka192FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsHaraka192FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka192SRobustPqclean::SphincsHaraka192SRobustPqclean
  - ~SphincsHaraka192SRobustPqclean() override
  - crypto::tink::subtle::SphincsHaraka192SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsHaraka192SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsHaraka192SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka192FSimplePqclean::SphincsHaraka192FSimplePqclean
  - ~SphincsHaraka192FSimplePqclean() override
  - crypto::tink::subtle::SphincsHaraka192FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsHaraka192FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsHaraka192FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka192SSimplePqclean::SphincsHaraka192SSimplePqclean
  - ~SphincsHaraka192SSimplePqclean() override
  - crypto::tink::subtle::SphincsHaraka192SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsHaraka192SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsHaraka192SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka256FRobustPqclean::SphincsHaraka256FRobustPqclean
  - ~SphincsHaraka256FRobustPqclean() override
  - crypto::tink::subtle::SphincsHaraka256FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsHaraka256FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsHaraka256FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka256SRobustPqclean::SphincsHaraka256SRobustPqclean
  - ~SphincsHaraka256SRobustPqclean() override
  - crypto::tink::subtle::SphincsHaraka256SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsHaraka256SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsHaraka256SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka256FSimplePqclean::SphincsHaraka256FSimplePqclean
  - ~SphincsHaraka256FSimplePqclean() override
  - crypto::tink::subtle::SphincsHaraka256FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsHaraka256FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsHaraka256FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsHaraka256SSimplePqclean::SphincsHaraka256SSimplePqclean
  - ~SphincsHaraka256SSimplePqclean() override
  - crypto::tink::subtle::SphincsHaraka256SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsHaraka256SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsHaraka256SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256128FRobustPqclean::SphincsSHA256128FRobustPqclean
  - ~SphincsSHA256128FRobustPqclean() override
  - crypto::tink::subtle::SphincsSHA256128FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHA256128FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHA256128FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256128SRobustPqclean::SphincsSHA256128SRobustPqclean
  - ~SphincsSHA256128SRobustPqclean() override
  - crypto::tink::subtle::SphincsSHA256128SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHA256128SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHA256128SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256128FSimplePqclean::SphincsSHA256128FSimplePqclean
  - ~SphincsSHA256128FSimplePqclean() override
  - crypto::tink::subtle::SphincsSHA256128FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHA256128FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHA256128FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256128SSimplePqclean::SphincsSHA256128SSimplePqclean
  - ~SphincsSHA256128SSimplePqclean() override
  - crypto::tink::subtle::SphincsSHA256128SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHA256128SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHA256128SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256192FRobustPqclean::SphincsSHA256192FRobustPqclean
  - ~SphincsSHA256192FRobustPqclean() override
  - crypto::tink::subtle::SphincsSHA256192FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHA256192FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHA256192FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256192SRobustPqclean::SphincsSHA256192SRobustPqclean
  - ~SphincsSHA256192SRobustPqclean() override
  - crypto::tink::subtle::SphincsSHA256192SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHA256192SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHA256192SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256192FSimplePqclean::SphincsSHA256192FSimplePqclean
  - ~SphincsSHA256192FSimplePqclean() override
  - crypto::tink::subtle::SphincsSHA256192FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHA256192FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHA256192FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256192SSimplePqclean::SphincsSHA256192SSimplePqclean
  - ~SphincsSHA256192SSimplePqclean() override
  - crypto::tink::subtle::SphincsSHA256192SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHA256192SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHA256192SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256256FRobustPqclean::SphincsSHA256256FRobustPqclean
  - ~SphincsSHA256256FRobustPqclean() override
  - crypto::tink::subtle::SphincsSHA256256FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHA256256FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHA256256FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256256SRobustPqclean::SphincsSHA256256SRobustPqclean
  - ~SphincsSHA256256SRobustPqclean() override
  - crypto::tink::subtle::SphincsSHA256256SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHA256256SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHA256256SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256256FSimplePqclean::SphincsSHA256256FSimplePqclean
  - ~SphincsSHA256256FSimplePqclean() override
  - crypto::tink::subtle::SphincsSHA256256FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHA256256FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHA256256FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHA256256SSimplePqclean::SphincsSHA256256SSimplePqclean
  - ~SphincsSHA256256SSimplePqclean() override
  - crypto::tink::subtle::SphincsSHA256256SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHA256256SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHA256256SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::SphincsSHAKE256128FRobustPqclean
  - ~SphincsSHAKE256128FRobustPqclean() override
  - crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256128FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::SphincsSHAKE256128SRobustPqclean
  - ~SphincsSHAKE256128SRobustPqclean() override
  - crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256128SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::SphincsSHAKE256128FSimplePqclean
  - ~SphincsSHAKE256128FSimplePqclean() override
  - crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256128FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::SphincsSHAKE256128SSimplePqclean
  - ~SphincsSHAKE256128SSimplePqclean() override
  - crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256128SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::SphincsSHAKE256192FRobustPqclean
  - ~SphincsSHAKE256192FRobustPqclean() override
  - crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256192FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::SphincsSHAKE256192SRobustPqclean
  - ~SphincsSHAKE256192SRobustPqclean() override
  - crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256192SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::SphincsSHAKE256192FSimplePqclean
  - ~SphincsSHAKE256192FSimplePqclean() override
  - crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256192FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::SphincsSHAKE256192SSimplePqclean
  - ~SphincsSHAKE256192SSimplePqclean() override
  - crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256192SSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::SphincsSHAKE256256FRobustPqclean
  - ~SphincsSHAKE256256FRobustPqclean() override
  - crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256256FRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::SphincsSHAKE256256SRobustPqclean
  - ~SphincsSHAKE256256SRobustPqclean() override
  - crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256256SRobustPqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::SphincsSHAKE256256FSimplePqclean
  - ~SphincsSHAKE256256FSimplePqclean() override
  - crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256256FSimplePqclean::Keygen
  - crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::SphincsSHAKE256256SSimplePqclean
  - ~SphincsSHAKE256256SSimplePqclean() override
  - crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::Sign
  - crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::Verify
  - crypto::tink::subtle::SphincsSHAKE256256SSimplePqclean::Keygen
  - crypto::tink::subtle::GetSphincsPqcleanHelperArray
  - crypto::tink::subtle::GetSphincsHelperPqclean
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.cc
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign_test.cc
- function_names:
  - ~DilithiumAvx2Sign() override
  - crypto::tink::subtle::DilithiumAvx2Sign::DilithiumAvx2Sign
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.h
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign_test.cc
- function_names:
  - crypto::tink::subtle::DilithiumAvx2Verify::DilithiumAvx2Verify
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.h
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils_test.cc
- function_names:
  - crypto::tink::subtle::DilithiumPublicKeyPqclean::DilithiumPublicKeyPqclean
  - '& operator=(const DilithiumPublicKeyPqclean& other)'
  - crypto::tink::subtle::DilithiumPublicKeyPqclean::DilithiumPublicKeyPqclean
  - crypto::tink::subtle::DilithiumPrivateKeyPqclean::DilithiumPrivateKeyPqclean
  - "& operator=(\n      const DilithiumPrivateKeyPqclean& other)"
  - crypto::tink::subtle::DilithiumPrivateKeyPqclean::DilithiumPrivateKeyPqclean
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.h
- function_names:
  - crypto::tink::subtle::DilithiumPrivateKeyPqclean::NewPrivateKey
  - crypto::tink::subtle::DilithiumPrivateKeyPqclean::GenerateKeyPair
  - '& DilithiumPrivateKeyPqclean::GetKeyData() const'
  - "& DilithiumPrivateKeyPqclean::GetSeedExpansion()\n    const"
  - crypto::tink::subtle::DilithiumPublicKeyPqclean::NewPublicKey
  - '& DilithiumPublicKeyPqclean::GetKeyData() const'
  - "& DilithiumPublicKeyPqclean::GetSeedExpansion()\n    const"
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key.cc
- function_names:
  - crypto::tink::subtle::DilithiumAvx2Verify::New
  - crypto::tink::subtle::DilithiumAvx2Verify::Verify
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify.cc
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign_test.cc
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify_test.cc
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_key_test.cc
- function_names:
  - crypto::tink::subtle::DilithiumAvx2Sign::New
  - crypto::tink::subtle::DilithiumAvx2Sign::Sign
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_sign.cc
- function_names:
  - ~SphincsSign() override
  - crypto::tink::subtle::SphincsSign::SphincsSign
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.h
- function_names:
  - crypto::tink::subtle::FalconVerify::New
  - crypto::tink::subtle::FalconVerify::Verify
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.cc
- function_names:
  - crypto::tink::subtle::FalconSign::New
  - crypto::tink::subtle::FalconSign::Sign
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.cc
- function_names:
  - crypto::tink::subtle::SphincsSign::New
  - crypto::tink::subtle::SphincsSign::Sign
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_sign.cc
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify_test.cc
- function_names:
  - crypto::tink::subtle::SphincsPrivateKeyPqclean::SphincsPrivateKeyPqclean
  - crypto::tink::subtle::SphincsPrivateKeyPqclean::SphincsPrivateKeyPqclean
  - '& operator=(const SphincsPrivateKeyPqclean& other)'
  - '& GetKey() const'
  - '& GetParams() const'
  - crypto::tink::subtle::SphincsPublicKeyPqclean::SphincsPublicKeyPqclean
  - crypto::tink::subtle::SphincsPublicKeyPqclean::SphincsPublicKeyPqclean
  - '& operator=(const SphincsPublicKeyPqclean& other)'
  - '& GetKey() const'
  - '& GetParams() const'
  - crypto::tink::subtle::SphincsKeyPair::SphincsKeyPair
  - crypto::tink::subtle::SphincsKeyPair::SphincsKeyPair
  - '& operator=(const SphincsKeyPair& other)'
  - '& GetPrivateKey() const'
  - '& GetPublicKey() const'
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.h
- function_names:
  - ~FalconSign() override
  - crypto::tink::subtle::FalconSign::FalconSign
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_sign.h
- function_names:
  - crypto::tink::subtle::SphincsHelperPqclean::SphincsHelperPqclean
  - crypto::tink::subtle::SphincsHelperPqclean::SphincsHelperPqclean
  - '&operator=(const SphincsHelperPqclean &other)'
  - ~SphincsHelperPqclean()
  - crypto::tink::subtle::SphincsHelperPqclean::GetPublicKeySize
  - crypto::tink::subtle::SphincsHelperPqclean::GetSignatureLength
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_helper_pqclean.h
- function_names:
  - crypto::tink::subtle::FalconPrivateKeyPqclean::NewPrivateKey
  - crypto::tink::subtle::FalconPublicKeyPqclean::NewPublicKey
  - crypto::tink::subtle::GenerateFalconKeyPair
  - crypto::tink::subtle::ValidateFalconPrivateKeySize
  - crypto::tink::subtle::ValidateFalconPublicKeySize
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils.cc
- function_names:
  - crypto::tink::subtle::FalconVerify::FalconVerify
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_verify.h
- function_names:
  - crypto::tink::subtle::SphincsVerify::SphincsVerify
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.h
- function_names:
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/falcon_subtle_utils_test.cc
- function_names:
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST_P
  - crypto::tink::subtle::TEST
  - crypto::tink::subtle::TEST
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/dilithium_avx2_verify_test.cc
- function_names:
  - crypto::tink::subtle::GenerateSphincsKeyPair
  - crypto::tink::subtle::ValidatePrivateKeySize
  - crypto::tink::subtle::ValidatePublicKeySize
  - crypto::tink::subtle::SphincsKeySizeToIndex
  - crypto::tink::subtle::ValidateParams
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_subtle_utils.cc
- function_names:
  - crypto::tink::subtle::SphincsVerify::New
  - crypto::tink::subtle::SphincsVerify::Verify
  source_file: /src/tink/cc/experimental/pqcrypto/signature/subtle/sphincs_verify.cc
- function_names: []
  source_file: /src/tink/cc/experimental/pqcrypto/signature/util/enums.h
- function_names:
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  - crypto::tink::TEST_F
  source_file: /src/tink/cc/experimental/pqcrypto/signature/util/enums_test.cc
- function_names:
  - crypto::tink::util::EnumsPqcrypto::SubtleToProto
  - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
  - crypto::tink::util::EnumsPqcrypto::SubtleToProto
  - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
  - crypto::tink::util::EnumsPqcrypto::SubtleToProto
  - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
  - crypto::tink::util::EnumsPqcrypto::SubtleToProto
  - crypto::tink::util::EnumsPqcrypto::ProtoToSubtle
  source_file: /src/tink/cc/experimental/pqcrypto/signature/util/enums.cc
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/tink/cc/fuzzing/tink_encrypt_decrypt_fuzzer.cc
